Matrix
ReferencesConstructors
Initializes a new instance of the matrix.
Parameters:
| rowCount (int) | A positive integer, or 0, for the number of rows. |
| columnCount (int) | A positive integer, or 0, for the number of columns. |
Exceptions:
| ArgumentOutOfRangeException | If either rowCount, or columnCount or both are negative. |
Matrix
#Protected constructor for internal use.
Parameters:
| info (SerializationInfo) | Serialization data. |
| context (StreamingContext) | Serialization stream. |
Finalizer
~Matrix
#~Matrix()
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
Properties
Gets a value indicating whether the matrix is column orthogonal.
Gets a value indicating whether the matrix is column orthonormal.
Gets a value indicating whether the matrix is row orthogonal.
Gets a value indicating whether the matrix is row orthonormal.
Gets a value indicating whether this matrix has the same number of rows and columns. 0x0 matrices are not considered square.
Indexers
Methods
Solves M*x=b where M is upper triangular with a unit diagonal and b is a column of values.
Solves M*x=b where M is upper triangular with a unit diagonal and b is a column of 3d points.
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
Dispose
#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.
Parameters:
| disposing (bool) | true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer. |
Create a duplicate of this matrix.
Returns: An exact duplicate of this matrix.
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.
Returns: Hash code.
Overrides: Object.GetHashCode
[ConstOperation]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
Parameters:
| info (SerializationInfo) | The System.Runtime.Serialization.SerializationInfo to populate with data. |
| context (StreamingContext) | The destination (see System.Runtime.Serialization.StreamingContext) for this serialization. |
Modifies this matrix to become its own inverse.
Matrix might be non-invertible (singular) and the return value will be false.
Parameters:
| zeroTolerance (double) | The admitted tolerance for 0. |
Returns: true if operation succeeded; otherwise false.
Row reduces a matrix as the first step in solving M*X=b where b is a column of values.
Remarks: The matrix itself is row reduced so that the result is an upper triangular matrix with 1's on the diagonal.
Parameters:
| zeroTolerance (double) | (>=0.0) zero tolerance for pivot test. If the absolute value of a pivot is <= zero_tolerance, then the pivot is assumed to be zero. |
| b (double[]) | an array of RowCount values that is row reduced with the matrix. |
| pivot (out double) | the value of the smallest pivot is returned here. |
Returns: Rank of the matrix.
Row reduces a matrix to calculate rank and determinant.
Remarks: The matrix itself is row reduced so that the result is an upper triangular matrix with 1's on the diagonal.
Parameters:
| zeroTolerance (double) | (>=0.0) zero tolerance for pivot test. If a the absolute value of a pivot is <= zeroTolerance, then the pivot is assumed to be zero. |
| determinant (out double) | value of determinant is returned here. |
| pivot (out double) | value of the smallest pivot is returned here. |
Returns: Rank of the matrix.
Row reduces a matrix as the first step in solving M*X=b where b is a column of 3d points.
Remarks: The matrix itself is row reduced so that the result is an upper triangular matrix with 1's on the diagonal.
Parameters:
| zeroTolerance (double) | (>=0.0) zero tolerance for pivot test. If the absolute value of a pivot is <= zero_tolerance, then the pivot is assumed to be zero. |
| b (Point3d[]) | An array of RowCount 3d points that is row reduced with the matrix. |
| pivot (out double) | The value of the smallest pivot is returned here. |
Returns: Rank of the matrix.
Modifies the current matrix by multiplying its values by a number.
Parameters:
| s (double) | A scale factor. |
Sets diagonal value and zeros off all non-diagonal values.
Parameters:
| d (double) | The new diagonal value. |
Exchanges two columns.
Exchanges two rows.
Modifies this matrix to be its transpose.
This is like swapping rows with columns.
http://en.wikipedia.org/wiki/Transpose
Returns: true if operation succeeded; otherwise false.