public class ComplexSquareMatrix extends ComplexMatrix implements CStarAlgebra.Member
Modifier and Type | Field and Description |
---|---|
protected ComplexSquareMatrix[] |
LU |
protected int[] |
LUpivot |
ARRAY_2D, matrixIm, matrixRe
CLASS_SPECIFIC, numCols, numRows, storageFormat
Modifier | Constructor and Description |
---|---|
|
ComplexSquareMatrix(Complex[][] array)
Constructs a matrix from an array.
|
|
ComplexSquareMatrix(ComplexVector[] array)
Constructs a matrix from an array of vectors.
|
|
ComplexSquareMatrix(double[][] arrayRe,
double[][] arrayIm)
Constructs a matrix by wrapping two arrays.
|
|
ComplexSquareMatrix(int size)
Constructs an empty matrix.
|
protected |
ComplexSquareMatrix(int size,
int storeID)
Constructs a matrix.
|
Modifier and Type | Method and Description |
---|---|
ComplexMatrix |
add(ComplexMatrix m)
Returns the addition of this matrix and another.
|
ComplexSquareMatrix |
add(ComplexSquareMatrix m)
Returns the addition of this matrix and another.
|
ComplexMatrix |
conjugate()
Returns the complex conjugate of this matrix.
|
Complex |
det()
Returns the determinant.
|
ComplexMatrix |
hermitianAdjoint()
Returns the hermitian adjoint of this matrix.
|
ComplexSquareMatrix |
inverse()
Returns the inverse of this matrix.
|
CStarAlgebra.Member |
involution()
Returns the involution of this matrix.
|
boolean |
isHermitian()
Returns true if this matrix is hermitian.
|
boolean |
isUnitary()
Returns true if this matrix is unitary.
|
ComplexSquareMatrix[] |
luDecompose(int[] pivot)
Returns the LU decomposition of this matrix.
|
ComplexMatrix |
mapElements(ComplexMapping f)
Applies a function on all the matrix elements.
|
ComplexSquareMatrix |
multiply(ComplexSquareMatrix m)
Returns the multiplication of this matrix and another.
|
ComplexVector |
multiply(ComplexVector v)
Returns the multiplication of a vector by this matrix.
|
double |
norm()
Returns the C* norm.
|
double |
operatorNorm()
Returns the operator norm.
|
ComplexSquareMatrix[] |
polarDecompose()
Returns the polar decomposition of this matrix.
|
ComplexMatrix |
scalarMultiply(Complex z)
Returns the multiplication of this matrix by a scalar.
|
ComplexMatrix |
scalarMultiply(double x)
Returns the multiplication of this matrix by a scalar.
|
ComplexMatrix |
subtract(ComplexMatrix m)
Returns the subtraction of this matrix by another.
|
ComplexSquareMatrix |
subtract(ComplexSquareMatrix m)
Returns the subtraction of this matrix by another.
|
Complex |
trace()
Returns the trace.
|
Matrix |
transpose()
Returns the transpose of this matrix.
|
add, directSum, equals, finalize, frobeniusNorm, getElement, hashCode, imag, infNorm, multiply, multiply, negate, real, scalarDivide, scalarDivide, scalarDivide, scalarMultiply, setElement, setElement, subtract, tensorProduct, toString
columns, getInvalidElementMsg, rows
multiply
scalarDivide
scalarMultiply
protected transient ComplexSquareMatrix[] LU
protected transient int[] LUpivot
protected ComplexSquareMatrix(int size, int storeID)
public ComplexSquareMatrix(int size)
size
- the number of rows/columnspublic ComplexSquareMatrix(double[][] arrayRe, double[][] arrayIm)
arrayRe
- an array of real valuesarrayIm
- an array of imaginary valuesMatrixDimensionException
- If the array is not square.public ComplexSquareMatrix(Complex[][] array)
array
- an assigned valueMatrixDimensionException
- If the array is not square.public ComplexSquareMatrix(ComplexVector[] array)
array
- an assigned value.MatrixDimensionException
- If the array is not square.public boolean isHermitian()
public boolean isUnitary()
public Complex det()
public Complex trace()
public double norm()
norm
in interface BanachSpace.Member
public double operatorNorm() throws MaximumIterationsExceededException
MaximumIterationsExceededException
- If it takes more than 50 iterations to determine an eigenvalue.public ComplexMatrix add(ComplexMatrix m)
add
in class ComplexMatrix
m
- a complex matrixMatrixDimensionException
- If the matrices are different sizes.public ComplexSquareMatrix add(ComplexSquareMatrix m)
m
- a complex square matrixMatrixDimensionException
- If the matrices are different sizes.public ComplexMatrix subtract(ComplexMatrix m)
subtract
in class ComplexMatrix
m
- a complex matrixMatrixDimensionException
- If the matrices are different sizes.public ComplexSquareMatrix subtract(ComplexSquareMatrix m)
m
- a complex square matrixMatrixDimensionException
- If the matrices are different sizes.public ComplexMatrix scalarMultiply(Complex z)
scalarMultiply
in class ComplexMatrix
z
- a complex numberpublic ComplexMatrix scalarMultiply(double x)
scalarMultiply
in class ComplexMatrix
x
- a doublepublic ComplexVector multiply(ComplexVector v)
multiply
in class ComplexMatrix
v
- a complex vectorDimensionException
- If the matrix and vector are incompatible.public ComplexSquareMatrix multiply(ComplexSquareMatrix m)
m
- a complex square matrixMatrixDimensionException
- If the matrices are incompatible.public CStarAlgebra.Member involution()
involution
in interface CStarAlgebra.Member
public ComplexMatrix hermitianAdjoint()
hermitianAdjoint
in class ComplexMatrix
public ComplexMatrix conjugate()
conjugate
in class ComplexMatrix
public Matrix transpose()
transpose
in class ComplexMatrix
public ComplexSquareMatrix inverse()
public ComplexSquareMatrix[] luDecompose(int[] pivot)
public ComplexSquareMatrix[] polarDecompose()
public ComplexMatrix mapElements(ComplexMapping f)
mapElements
in class ComplexMatrix
f
- a user-defined function