﻿Matrix Class  # Matrix Class

Represents an arbitrarily sized matrix of double-precision floating point numbers. If you are working with a 4x4 matrix, then you may want to use the Transform class instead. Inheritance Hierarchy
SystemObject
Rhino.GeometryMatrix

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll) Syntax
`public class Matrix : IDisposable`

The Matrix type exposes the following members. Constructors
NameDescription Matrix(Transform)
Initializes a new instance of the matrix based on a 4x4 matrix Transform. Matrix(Int32, Int32)
Initializes a new instance of the matrix.
Top Properties
NameDescription ColumnCount
Gets the amount of columns. IsColumnOrthogonal
Gets a value indicating whether the matrix is column orthogonal. IsColumnOrthoNormal
Gets a value indicating whether the matrix is column orthonormal. IsRowOrthogonal
Gets a value indicating whether the matrix is row orthogonal. IsRowOrthoNormal
Gets a value indicating whether the matrix is row orthonormal. IsSquare
Gets a value indicating whether this matrix has the same number of rows and columns. 0x0 matrices are not considered square. IsValid
Gets a value indicating whether this matrix is valid. Item
Gets or sets the matrix value at the given row and column indices. RowCount
Gets the amount of rows.
Top Methods
NameDescription BackSolve
Solves M*x=b where M is upper triangular with a unit diagonal and b is a column of values. BackSolvePoints
Solves M*x=b where M is upper triangular with a unit diagonal and b is a column of 3d points. Dispose
Actively reclaims unmanaged resources that this instance uses. Dispose(Boolean)
For derived class implementers.

This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method. Duplicate
Create a duplicate of this matrix. Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.) Finalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Overrides ObjectFinalize.) GetHashCode
Gets the hash code for this matrix. The hash code will change when the matrix changes so you cannot change matrices while they are stored in hash tables.
(Overrides ObjectGetHashCode.) GetType
Gets the Type of the current instance.
(Inherited from Object.) Invert
Modifies this matrix to become its own inverse.

Matrix might be non-invertible (singular) and the return value will be false. MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.) RowReduce(Double, Point3d, Double)
Row reduces a matrix as the first step in solving M*X=b where b is a column of 3d points. RowReduce(Double, Double, Double)
Row reduces a matrix to calculate rank and determinant. RowReduce(Double, Double, Double)
Row reduces a matrix as the first step in solving M*X=b where b is a column of values. Scale
Modifies the current matrix by multiplying its values by a number. SetDiagonal
Sets diagonal value and zeros off all non-diagonal values. SwapColumns
Exchanges two columns. SwapRows
Exchanges two rows. ToString
Returns a string that represents the current object.
(Inherited from Object.) Transpose
Modifies this matrix to be its transpose.

This is like swapping rows with columns.

http://en.wikipedia.org/wiki/Transpose Zero
Sets all values inside the matrix to zero.
Top Operators
NameDescription  Addition
Adds two matrices and returns a new sum matrix.  Multiply
Multiplies two matrices and returns a new product matrix.
Top See Also