Matrix Class 
Namespace: Rhino.Geometry
The Matrix type exposes the following members.
Name  Description  

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.

Name  Description  

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 indixes.
 
RowCount 
Gets the amount of rows.

Name  Description  

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 noninvertible (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 nondiagonal 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.

Name  Description  

Addition 
Adds two matrices and returns a new sum matrix.
 
Multiply 
Multiplies two matrices and returns a new product matrix.
