TransformDecomposeSymmetric Method |
A Symmetric linear transformation can be decomposed A = Q * Diag * Q ^ T, where Diag is a diagonal
transformation. Diag[i][i] is an eigenvalue of A and the i-th column of Q is a corresponding
unit length eigenvector. Note, this transformation must be Linear and Symmetric.
Namespace:
Rhino.Geometry
Assembly:
RhinoCommon (in RhinoCommon.dll)
Since: 6.12
Syntax public bool DecomposeSymmetric(
out Transform matrix,
out Vector3d diagonal
)
Public Function DecomposeSymmetric (
<OutAttribute> ByRef matrix As Transform,
<OutAttribute> ByRef diagonal As Vector3d
) As Boolean
Parameters
- matrix
- Type: Rhino.GeometryTransform
An orthonormal matrix of eigenvectors (Q). - diagonal
- Type: Rhino.GeometryVector3d
A vector of eigenvalues.
Return Value
Type:
Booleantrue if successful, false otherwise.
Remarks
If success, this== Q*Diagonal(diagonal) * QT, where QT == Q.Transpose().
If L.IsLinear and LT==L.Transpose then LT*L is symmetric and is a common source of symmetric transformations.
See Also