SeriesAutocovariance Method (IReadOnlyListDouble)
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.