| Circulant {SuperGauss} | R Documentation |
Constructor and methods for Circulant matrix objects.
Description
Constructor and methods for Circulant matrix objects.
Methods
Public methods
Method new()
Class constructor.
Usage
Circulant$new(N, uacf, upsd)
Arguments
NSize of Circulant matrix.
uacfOptional vector of
Nu = floor(N/2)+1unique elements of the autocorrelation.upsdOptional vector of
Nu = floor(N/2)+1unique elements of the PSD.
Returns
A Circulant object.
Method size()
Get the size of the Circulant matrix.
Usage
Circulant$size()
Returns
Size of the Circulant matrix.
Method set_acf()
Set the autocorrelation of the Circulant matrix.
Usage
Circulant$set_acf(uacf)
Arguments
uacfVector of
Nu = floor(N/2)+1unique elements of the autocorrelation.
Method get_acf()
Get the autocorrelation of the Circulant matrix.
Usage
Circulant$get_acf()
Returns
The complete autocorrelation vector of length N.
Method 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).
Usage
Circulant$set_psd(upsd)
Arguments
upsdVector of
Nu = floor(N/2)+1unique elements of the psd.
Method get_psd()
Get the PSD of the Circulant matrix.
Usage
Circulant$get_psd()
Returns
The complete PSD vector of length N.
Method has_acf()
Check whether the autocorrelation of the Circulant matrix has been set.
Usage
Circulant$has_acf()
Returns
Logical; TRUE if Circulant$set_acf() has been called.
Method prod()
Circulant matrix-matrix product.
Usage
Circulant$prod(x)
Arguments
xVector or matrix with
Nrows.
Returns
The matrix product Ct %*% x.
Method solve()
Solve a Circulant system of equations.
Usage
Circulant$solve(x)
Arguments
xOptional vector or matrix with
Nrows.
Returns
The solution in z to the system of equations Ct %*% z = x. If x is missing, returns the inverse of Ct.
Method log_det()
Calculate the log-determinant of the Circulant matrix.
Usage
Circulant$log_det()
Returns
The log-determinant log(det(Ct)).
Method clone()
The objects of this class are cloneable with this method.
Usage
Circulant$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.