Constructor and methods for Circulant matrix objects.
new()Class constructor.
Circulant$new(N, uacf, upsd)
NSize of Circulant matrix.
uacfOptional vector of Nu = floor(N/2)+1 unique elements of the autocorrelation.
upsdOptional vector of Nu = floor(N/2)+1 unique elements of the PSD.
A Circulant object.
size()Get the size of the Circulant matrix.
Circulant$size()
Size of the Circulant matrix.
set_acf()Set the autocorrelation of the Circulant matrix.
Circulant$set_acf(uacf)
uacfVector of Nu = floor(N/2)+1 unique elements of the autocorrelation.
get_acf()Get the autocorrelation of the Circulant matrix.
Circulant$get_acf()
The complete autocorrelation vector of length N.
set_psd()Set the PSD of the Circulant matrix.
The power spectral density (PSD) of a Circulant matrix Ct = Circulant(acf) is defined as psd = iFFT(acf).
Circulant$set_psd(upsd)
upsdVector of Nu = floor(N/2)+1 unique elements of the psd.
get_psd()Get the PSD of the Circulant matrix.
Circulant$get_psd()
The complete PSD vector of length N.
has_acf()Check whether the autocorrelation of the Circulant matrix has been set.
Circulant$has_acf()
Logical; TRUE if Circulant$set_acf() has been called.
prod()Circulant matrix-matrix product.
Circulant$prod(x)
xVector or matrix with N rows.
The matrix product Ct %*% x.
solve()Solve a Circulant system of equations.
Circulant$solve(x)
xOptional vector or matrix with N rows.
The solution in z to the system of equations Ct %*% z = x. If x is missing, returns the inverse of Ct.
log_det()Calculate the log-determinant of the Circulant matrix.
Circulant$log_det()
The log-determinant log(det(Ct)).
clone()The objects of this class are cloneable with this method.
Circulant$clone(deep = FALSE)
deepWhether to make a deep clone.