Skip to content

Transform.DecomposeSymmetric

Public Class

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
)

Parameters

matrix

Type: Rhino.Geometry.Transform.
An orthonormal matrix of eigenvectors (Q).

diagonal

Type: Rhino.Geometry.Vector3d.
A vector of eigenvalues.

Return Value

Type:Boolean
true 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.