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
N
Size of Circulant matrix.
uacf
Optional vector of
Nu = floor(N/2)+1
unique elements of the autocorrelation.upsd
Optional vector of
Nu = floor(N/2)+1
unique 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
uacf
Vector of
Nu = floor(N/2)+1
unique 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
upsd
Vector of
Nu = floor(N/2)+1
unique 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
x
Vector or matrix with
N
rows.
Returns
The matrix product Ct %*% x
.
Method solve()
Solve a Circulant system of equations.
Usage
Circulant$solve(x)
Arguments
x
Optional vector or matrix with
N
rows.
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
deep
Whether to make a deep clone.