public static double[] Autocovariance(
this IReadOnlyList<double> series
)
<ExtensionAttribute>
Public Shared Function Autocovariance (
series As IReadOnlyList(Of Double)
) As Double()
public:
[ExtensionAttribute]
static array<double>^ Autocovariance(
IReadOnlyList<double>^ series
)
[<ExtensionAttribute>]
static member Autocovariance :
series : IReadOnlyList<float> -> float[]
The computation of the auto-covariance for a given lag is an O(N) operation. Naively, the computation of the auto-covariance for all N possible lags is therefore an O(N^2) operation; this is in fact the cost of N invocations of Autocovariance(IReadOnlyListDouble, Int32). However, using Fourier techniques, it is possible to simultaneously compute the auto-covariance for all possible lags in O(N log N) operations. This method uses the Fourier technique and should be called if you require the auto-covariance for more than a handful of lag values.