public final class ComplexMatrix extends Matrix<Complex>
This class represents an optimized matrix
implementation
for complex
numbers.
Instances of this class can be created from ComplexVector
,
either as rows or columns if the matrix is transposed. For example:[code]
ComplexVector
Modifier and Type | Method and Description |
---|---|
ComplexMatrix |
adjoint()
Returns the adjoint of this matrix.
|
Complex |
cofactor(int i,
int j)
Returns the cofactor of an element in this matrix.
|
ComplexMatrix |
copy()
Returns a copy of this matrix
allocated
by the calling thread (possibly on the stack). |
Complex |
determinant()
Returns the determinant of this matrix.
|
Complex |
get(int i,
int j)
Returns a single element from this matrix.
|
ComplexVector |
getColumn(int j)
Returns the column identified by the specified index in this matrix.
|
ComplexVector |
getDiagonal()
Returns the diagonal vector.
|
int |
getNumberOfColumns()
Returns the number of columns
n for this matrix. |
int |
getNumberOfRows()
Returns the number of rows
m for this matrix. |
ComplexVector |
getRow(int i)
Returns the row identified by the specified index in this matrix.
|
ComplexMatrix |
inverse()
Returns the inverse of this matrix (must be square).
|
ComplexMatrix |
minus(Matrix<Complex> that)
Returns the difference between this matrix and the one specified.
|
ComplexMatrix |
opposite()
Returns the negation of this matrix.
|
ComplexMatrix |
plus(Matrix<Complex> that)
Returns the sum of this matrix with the one specified.
|
ComplexMatrix |
tensor(Matrix<Complex> that)
Returns the linear algebraic matrix tensor product of this matrix
and another (Kronecker product).
|
ComplexMatrix |
times(Complex k)
Returns the product of this matrix by the specified factor.
|
ComplexMatrix |
times(Matrix<Complex> that)
Returns the product of this matrix with the one specified.
|
ComplexVector |
times(Vector<Complex> v)
Returns the product of this matrix by the specified vector.
|
ComplexMatrix |
transpose()
Returns the transpose of this matrix.
|
static ComplexMatrix |
valueOf(Complex[][] elements)
Returns a complex matrix from the specified 2-dimensional array.
|
static ComplexMatrix |
valueOf(ComplexVector... rows)
Returns a complex matrix holding the specified row vectors
(column vectors if
transposed ). |
static ComplexMatrix |
valueOf(java.util.List<ComplexVector> rows)
Returns a complex matrix holding the row vectors from the specified
collection (column vectors if
transposed ). |
static ComplexMatrix |
valueOf(Matrix<Complex> that)
Returns a complex matrix equivalent to the specified matrix.
|
ComplexVector |
vectorization()
Returns the vectorization of this matrix.
|
public static ComplexMatrix valueOf(Complex[][] elements)
elements
- this matrix elements.DimensionException
- if rows have different length.ComplexVector
public static ComplexMatrix valueOf(ComplexVector... rows)
transposed
).rows
- the row vectors.DimensionException
- if the rows do not have the same dimension.public static ComplexMatrix valueOf(java.util.List<ComplexVector> rows)
transposed
).rows
- the list of row vectors.DimensionException
- if the rows do not have the same dimension.public static ComplexMatrix valueOf(Matrix<Complex> that)
that
- the matrix to convert.that
or a complex matrix holding the same elements
as the specified matrix.public int getNumberOfRows()
Matrix
m
for this matrix.getNumberOfRows
in class Matrix<Complex>
public int getNumberOfColumns()
Matrix
n
for this matrix.getNumberOfColumns
in class Matrix<Complex>
public Complex get(int i, int j)
Matrix
public ComplexVector getRow(int i)
Matrix
public ComplexVector getColumn(int j)
Matrix
public ComplexVector getDiagonal()
Matrix
getDiagonal
in class Matrix<Complex>
public ComplexMatrix opposite()
Matrix
public ComplexMatrix plus(Matrix<Complex> that)
Matrix
public ComplexMatrix minus(Matrix<Complex> that)
Matrix
public ComplexMatrix times(Complex k)
Matrix
public ComplexVector times(Vector<Complex> v)
Matrix
public ComplexMatrix times(Matrix<Complex> that)
Matrix
public ComplexMatrix inverse()
Matrix
public Complex determinant()
Matrix
determinant
in class Matrix<Complex>
public ComplexMatrix transpose()
Matrix
public Complex cofactor(int i, int j)
Matrix
public ComplexMatrix adjoint()
Matrix
public ComplexMatrix tensor(Matrix<Complex> that)
Matrix
DenseMatrix
.tensor
in class Matrix<Complex>
that
- the second matrix.this ⊗ that
public ComplexVector vectorization()
Matrix
DenseVector
.vectorization
in class Matrix<Complex>
public ComplexMatrix copy()
Matrix
allocated
by the calling thread (possibly on the stack).