author | Ola Friman |
package | FMEstable/ReleaseMeVis |
dll | MLTensorToEigensystem |
definition | MLTensorToEigensystem.def |
see also | TypeArithmetic1, TypeArithmetic2 |
keywords | tensor, symmetric, matrix, eigen, eigenvalues, eigenvectors, decomposition, PCA |
The module TensorToEigensystem calculates the eigenvalues and eigenvectors of 2x2 and 3x3 tensors and symmetric matrices.
Attach a tensor image volume to the input. 2x2 tensors must be represented by a vecf3 (float precision) or a vec3 (double precision) data type, and 3x3 tensors by a vecf6 or vec6 data type.
The tensors (symmetric matrices) must be represented as vectors as follows:
2x2:
v[0] v[1]
T =
v[1] v[2]
3x3:
v[0] v[1] v[2]
T = v[1] v[3] v[4]
v[2] v[4] v[5]
Eigenvalues:
For 2x2 tensors, the eigenvalues l1 and l2, where l1 > l2, are stored in a vecf2 (float precision) or a vec2 (double precision).
For 3x3 tensors, the eigenvalues are stored in a vecf3 or a vec3. The precision equals the precision of the input.
Eigenvectors:
For 2x2 tensors, the eigenvectors are stored in a 2x2 matrix (matf2 or mat2 data type).
For 3x3 tensors, the eigenvectors are stored in a 3x3 matrix.
The eigenvector associated with the largest eigenvalue is stored in the first column in the matrix and the eigenvector associated with the smallest eigenvalue is stored in the last column.
Apply: Trigger |
Apply Mode: Enum |
Eigenvalue Sorting: Enum |
Eigenvector Scaling: Enum |
preCachePages: Bool |
Update: Trigger |
Update Mode: Enum |
Defines the apply mode, that is how to react on field changes.
Values:
Title | Name |
---|---|
Apply | Apply |
Clear | Clear |
Off | Off |
Defines the update mode, that is how to react on input changes.
Values:
Title | Name |
---|---|
Update | Update |
Clear | Clear |