Stores a symmetric tensor compactly by keeping only one value per distinct
(sorted) index class, mirroring the MATLAB Tensor Toolbox symtensor.
An order-m, size-n symmetric tensor stores choose(n + m - 1, m)
values instead of n^m.
Compactly stores a symmetric tensor using one value per distinct index
class, mirroring the MATLAB Tensor Toolbox symtensor.
Usage
symtensor(x, symmetrize = FALSE)
Arguments
- x
A symmetric Tensor, or any tensor if symmetrize = TRUE.
- symmetrize
Logical; if TRUE the input is symmetrized first.
Value
A SymTensor object.
Public fields
vals
Values, one per distinct sorted index class
m
Tensor order
n
Size of each mode
Methods
SymTensor$new()
Initialize a new SymTensor from a dense symmetric tensor
Arguments
x
A symmetric Tensor (all modes the same size).
Returns
A new SymTensor object
SymTensor$dim()
Get dimensions of the tensor
Returns
Integer vector of dimensions
SymTensor$ndims()
Get number of dimensions
Returns
Integer tensor order
SymTensor$print()
Print the SymTensor object
SymTensor$full()
Convert to a dense Tensor
SymTensor$clone()
The objects of this class are cloneable with this method.
Usage
SymTensor$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.