| CMat Class | 
Namespace: Microsoft.Research.Liquid
[<SerializableAttribute>] type CMat = class end
The CMat type exposes the following members.
| Name | Description | |
|---|---|---|
| CMat(Double, Double) | 
 Creates a new matrix from arrays of real and imaginary parts.
   | |
| CMat(Int32, FSharpListTupleInt32, Int32, Double, Double) | 
 Creates a square matrx from a sparse list of elements.
   | |
| CMat(Int32, FSharpOptionBoolean) | 
 Creates a square identity or zero matrix.
   | 
| Name | Description | |
|---|---|---|
| Item | 
 Gets an individual element of the matrix, as a Complex number.
   | |
| Length | 
 The number of rows or columns in the matrix, for square matrices.
   | |
| LengthC | 
 The number of columns in the matrix.
   | |
| LengthR | 
 The number of rows in the matrix.
   | 
| Name | Description | |
|---|---|---|
| Add | 
 Adds another matrix to this matrix.
 The two matrices must have the same number of rows and columns.
   | |
| Adj | 
 Computes the adjoint (complex conjugate transpose) of this matrix.
   | |
| Clear | 
 Clears this matrix, setting it to a 0x0 matrix.
   | |
| Copy | 
 Makes a new copy, independent copy of this matrix.
   | |
| CreMat | 
 Creates an array that can be filled in and passed to the 
 array-based CMat constructor.
   | |
| CreZer | 
 Creates an array filled with zeros that can be filled in and passed to the 
 array-based CMat constructor.
   | |
| Div | 
 Scales this matrix by a constant divisor.
 This matrix is updated in place, rather than a new matrix being created.
   | |
| Dump | 
 Dumps this matrix.
 Note that there is no limit on the size of the result; every row and column entry is included.
   | |
| DumpML | 
 Dumps this matrix in Matlab format for debugging.
   | |
| DumpNarrow | 
 Dumps this matrix.
 This method will produce a relatively compact representation of the matrix.
   | |
| Equals | Determines whether the specified object is equal to the current object.  (Inherited from Object.) | |
| FixUnitary | 
 Makes this matrix closer to being unitary by applying an iterative correction.
   | |
| GetHashCode | Serves as the default hash function.   (Inherited from Object.) | |
| GetType | Gets the Type of the current instance.  (Inherited from Object.) | |
| Kron(CMat) | 
 Computes the Kronecker Product of this matrix with another matrix.
   | |
| Kron(Int32, FSharpOptionBoolean) | 
 Computes the Kronecker Product of this matrix with an identity matrix
   | |
| Mul(Double) | 
 Scales this matrix by a constant multiplier.
 This matrix is updated in place, rather than a new matrix being created.
   | |
| Mul(CMat) | 
 Computes the product of this matrix with another matrix.
 This matrix is on the left-hand side of the product, 
 and the argument matrix is on the right-hand side.
 This matrix must have the same number of columns as the other matrix has rows.
   | |
| Mul(CVec) | 
 Calculates the product of this matrix and a vector.
 The vector's length must match the numder of columns in this matrix.
   | |
| Power | 
 Computes an integer power of this matrix.
 NOTE: This destroys the contents of the current matrix.
   | |
| Read | 
 Reads a matrix from a stream.
   | |
| ToString | 
 Gets a string representation of this matrix.
 Note that there is no limit on the size of the result; every row and column entry is included.
   (Overrides ObjectToString.) | |
| UnitaryError | 
 Performs a rough check to see if this matrix is actually unitary.
 It calculates the biggest deviation from 1 of the diagonal elements
 of (this adj)*this.
 In other words, it calculates the largest deviation of the length of a row,
 viewed as a complex vector, from 1.
 The orthogonality of different rows is not checked.
   | |
| Write | 
 Writes this matrix to a stream for serialization.
   | 
| Name | Description | |
|---|---|---|
| AdditionAssignment | 
 Adds one matrix to another.
   | |
| DivisionAssignment | 
 Scales a matrix by a constant divisor.
 The matrix is updated in place, rather than a new matrix being created.
   | |
| Multiply(CMat, CMat) | 
 Computes the product of two matrices.
 The first matrix must have the same number of columns as the second matrix has rows.
   | |
| Multiply(CMat, CVec) | 
 Computes the product of a matrix and a vector.
 The vector's length must match the numder of columns in the matrix.
   | |
| MultiplyAssignment | 
 Scales a matrix by a constant multiplier.
 The matrix is updated in place, rather than a new matrix being created.
   | |
| MultiplyBang | 
 Computes the Kronecker product of two matrices
   |