Method
NumCosmoMathLaurentSeriesTPSconv
Declaration [src]
void
ncm_laurent_series_tps_conv (
NcmLaurentSeriesTPS* out,
const NcmLaurentSeriesTPS* a,
const NcmLaurentSeriesTPS* b
)
Description [src]
Truncated Cauchy product $out_m=\sum_{k=0}^m a_k b_{m-k}$ for
$m=0..N$ — truncated at the shared order $N$, not extended to
$\deg(a)+\deg(b)$ (this is a truncated power series, not a polynomial
ring element). The inner fold only ever needs two non-aliasing
accumulator buffers (ncm_laurent_series_add_into() forbids out aliasing
an input, so the running sum alternates between them: at step $k$, the
accumulator from step $k-2$ is already fully consumed and free to reuse
for step $k$’s result) plus one transient product buffer — three fixed
buffers regardless of order, drawn from out‘s own private
conv_acc/conv_term rather than any external pool.
Parameters
a-
Type:
NcmLaurentSeriesTPSA
NcmLaurentSeriesTPS.The data is owned by the caller of the method. b-
Type:
NcmLaurentSeriesTPSA
NcmLaurentSeriesTPS, same order asa.The data is owned by the caller of the method.