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
arraybased CMat constructor.
 
CreZer 
Creates an array filled with zeros that can be filled in and passed to the
arraybased 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 lefthand side of the product,
and the argument matrix is on the righthand 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
