public class Factorization
extends java.lang.Object
Constructor and Description |
---|
Factorization() |
Modifier and Type | Method and Description |
---|---|
static ComplexDouble |
getDeterminant(ComplexDoubleMatrix matrix)
Returns the determinant of the
ComplexDoubleMatrix . |
static ComplexFloat |
getDeterminant(ComplexFloatMatrix matrix)
Returns the determinant of the
ComplexFloatMatrix . |
static double |
getDeterminant(DoubleMatrix matrix)
Returns the determinant of the
DoubleMatrix . |
static float |
getDeterminant(FloatMatrix matrix)
Returns the determinant of the
FloatMatrix . |
static ComplexDoubleMatrix |
getInverse(ComplexDoubleMatrix matrix)
Returns the inverse of the
ComplexDoubleMatrix or
null if the determinant cannot be calculated. |
static ComplexDoubleMatrix |
getInverse(ComplexDoubleMatrix toInverse,
ComplexDoubleMatrix result)
Gets the inverse of
toInverse , places it in result
and returns result . |
static ComplexFloatMatrix |
getInverse(ComplexFloatMatrix matrix)
Returns the inverse of the
ComplexFloatMatrix or
null if the determinant cannot be calculated. |
static ComplexFloatMatrix |
getInverse(ComplexFloatMatrix toInverse,
ComplexFloatMatrix result)
Gets the inverse of
toInverse , places it in result
and returns result . |
static DoubleMatrix |
getInverse(DoubleMatrix matrix)
Returns the inverse of the
DoubleMatrix or
null if the determinant cannot be calculated. |
static DoubleMatrix |
getInverse(DoubleMatrix toInverse,
DoubleMatrix result)
Gets the inverse of
toInverse , places it in result
and returns result . |
static FloatMatrix |
getInverse(FloatMatrix matrix)
Returns the inverse of the
FloatMatrix or
null if the determinant cannot be calculated. |
static FloatMatrix |
getInverse(FloatMatrix toInverse,
FloatMatrix result)
Gets the inverse of
toInverse , places it in result
and returns result . |
static ComplexDoubleMatrix |
hessenberg(ComplexDoubleMatrix matrix)
The Hessenberg decomposition is `p * h * p' = a' where `p'
is a square unitary matrix (`p' * p = I', using complex-conjugate
transposition) and `h' is upper Hessenberg (`i >= j+1 => h (i, j) = 0').
|
static ComplexFloatMatrix |
hessenberg(ComplexFloatMatrix matrix)
The Hessenberg decomposition is `p * h * p' = a' where `p'
is a square unitary matrix (`p' * p = I', using complex-conjugate
transposition) and `h' is upper Hessenberg (`i >= j+1 => h (i, j) = 0').
|
static DoubleMatrix |
hessenberg(DoubleMatrix matrix)
The Hessenberg decomposition is `p * h * p' = a' where `p'
is a square unitary matrix (`p' * p = I', using complex-conjugate
transposition) and `h' is upper Hessenberg (`i >= j+1 => h (i, j) = 0').
|
static FloatMatrix |
hessenberg(FloatMatrix matrix)
The Hessenberg decomposition is `p * h * p' = a' where `p'
is a square unitary matrix (`p' * p = I', using complex-conjugate
transposition) and `h' is upper Hessenberg (`i >= j+1 => h (i, j) = 0').
|
static ComplexDoubleMatrix[] |
lu(ComplexDoubleMatrix A)
Produce two matrices L and U such that A = L*U, with U upper triangular and L a general matrix without any particular structure.
|
static ComplexFloatMatrix[] |
lu(ComplexFloatMatrix A)
Produce two matrices L and U such that A = L*U, with U upper triangular and L a general matrix without any particular structure.
|
static DoubleMatrix[] |
lu(DoubleMatrix A)
Produce two matrices L and U such that A = L*U, with U upper triangular and L a general matrix without any particular structure.
|
static FloatMatrix[] |
lu(FloatMatrix A)
Produce two matrices L and U such that A = L*U, with U upper triangular and L a general matrix without any particular structure.
|
static ComplexDoubleMatrix[] |
lup(ComplexDoubleMatrix A)
Produce three matrices L, U and P such that L*U = P*A, with U
upper triangular and P*L lower triangular for a permutation matrix P.
|
static ComplexFloatMatrix[] |
lup(ComplexFloatMatrix A)
Produce three matrices L, U and P such that L*U = P*A, with U
upper triangular and P*L lower triangular for a permutation matrix P.
|
static DoubleMatrix[] |
lup(DoubleMatrix A)
Produce three matrices L, U and P such that L*U = P*A, with U
upper triangular and P*L lower triangular for a permutation matrix P.
|
static FloatMatrix[] |
lup(FloatMatrix A)
Produce three matrices L, U and P such that L*U = P*A, with U
upper triangular and P*L lower triangular for a permutation matrix P.
|
public static FloatMatrix hessenberg(FloatMatrix matrix)
matrix
- Input matrixjava.lang.IllegalArgumentException
- if A
is null or non square.public static FloatMatrix[] lu(FloatMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix Ajava.lang.IllegalArgumentException
- if A
is null or non square.public static FloatMatrix[] lup(FloatMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix AA
cannot be decomposed (singular matrix). The first
array element is a lower triangular matrix L with a unit
diagonal, the second is an upper triangular matrix in U, and the
third a permutation matrix P, such that L*U = P*A.java.lang.IllegalArgumentException
- if A
is null or non square.public static FloatMatrix getInverse(FloatMatrix matrix)
FloatMatrix
or
null
if the determinant cannot be calculated. Returns
null
if the matrix cannot be decomposed.matrix
- the FloatMatrix
FloatMatrix
or null
if
the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not square.public static FloatMatrix getInverse(FloatMatrix toInverse, FloatMatrix result)
toInverse
, places it in result
and returns result
.
Does nothing and returns null
if one of the following conditions is true:
toInverse
- the FloatMatrix
to inverseresult
- the FloatMatrix
is which the result will be storedresult
in which the determinant has been stored or null
java.lang.IllegalArgumentException
- if toInverse
and/or result
is null
or not square;
if result
's size is not correctpublic static float getDeterminant(FloatMatrix matrix)
FloatMatrix
.matrix
- the FloatMatrix
FloatMatrix
or null
if the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not squarepublic static DoubleMatrix hessenberg(DoubleMatrix matrix)
matrix
- Input matrixjava.lang.IllegalArgumentException
- if A
is null or non square.public static DoubleMatrix[] lu(DoubleMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix Ajava.lang.IllegalArgumentException
- if A
is null or non square.public static DoubleMatrix[] lup(DoubleMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix AA
cannot be decomposed (singular matrix). The first
array element is a lower triangular matrix L with a unit
diagonal, the second is an upper triangular matrix in U, and the
third a permutation matrix P, such that L*U = P*A.java.lang.IllegalArgumentException
- if A
is null or non square.public static DoubleMatrix getInverse(DoubleMatrix matrix)
DoubleMatrix
or
null
if the determinant cannot be calculated. Returns
null
if the matrix cannot be decomposed.matrix
- the DoubleMatrix
DoubleMatrix
or null
if
the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not square.public static DoubleMatrix getInverse(DoubleMatrix toInverse, DoubleMatrix result)
toInverse
, places it in result
and returns result
.
Does nothing and returns null
if one of the following conditions is true:
toInverse
- the DoubleMatrix
to inverseresult
- the DoubleMatrix
is which the result will be storedresult
in which the determinant has been stored or null
java.lang.IllegalArgumentException
- if toInverse
and/or result
is null
or not square;
if result
's size is not correctpublic static double getDeterminant(DoubleMatrix matrix)
DoubleMatrix
.matrix
- the DoubleMatrix
DoubleMatrix
or null
if the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not squarepublic static ComplexFloatMatrix hessenberg(ComplexFloatMatrix matrix)
matrix
- Input matrixjava.lang.IllegalArgumentException
- if A
is null or non square.public static ComplexFloatMatrix[] lu(ComplexFloatMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix Ajava.lang.IllegalArgumentException
- if A
is null or non square.public static ComplexFloatMatrix[] lup(ComplexFloatMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix AA
cannot be decomposed (singular matrix). The first
array element is a lower triangular matrix L with a unit
diagonal, the second is an upper triangular matrix in U, and the
third a permutation matrix P, such that L*U = P*A.java.lang.IllegalArgumentException
- if A
is null or non square.public static ComplexFloatMatrix getInverse(ComplexFloatMatrix matrix)
ComplexFloatMatrix
or
null
if the determinant cannot be calculated. Returns
null
if the matrix cannot be decomposed.matrix
- the ComplexFloatMatrix
ComplexFloatMatrix
or null
if
the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not square.public static ComplexFloatMatrix getInverse(ComplexFloatMatrix toInverse, ComplexFloatMatrix result)
toInverse
, places it in result
and returns result
.
Does nothing and returns null
if one of the following conditions is true:
toInverse
- the ComplexFloatMatrix
to inverseresult
- the ComplexFloatMatrix
is which the result will be storedresult
in which the determinant has been stored or null
java.lang.IllegalArgumentException
- if toInverse
and/or result
is null
or not square;
if result
's size is not correctpublic static ComplexFloat getDeterminant(ComplexFloatMatrix matrix)
ComplexFloatMatrix
.matrix
- the ComplexFloatMatrix
ComplexFloatMatrix
or null
if the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not squarepublic static ComplexDoubleMatrix hessenberg(ComplexDoubleMatrix matrix)
matrix
- Input matrixjava.lang.IllegalArgumentException
- if A
is null or non square.public static ComplexDoubleMatrix[] lu(ComplexDoubleMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix Ajava.lang.IllegalArgumentException
- if A
is null or non square.public static ComplexDoubleMatrix[] lup(ComplexDoubleMatrix A)
null
if the matrix cannot be decomposed.A
- Input matrix AA
cannot be decomposed (singular matrix). The first
array element is a lower triangular matrix L with a unit
diagonal, the second is an upper triangular matrix in U, and the
third a permutation matrix P, such that L*U = P*A.java.lang.IllegalArgumentException
- if A
is null or non square.public static ComplexDoubleMatrix getInverse(ComplexDoubleMatrix matrix)
ComplexDoubleMatrix
or
null
if the determinant cannot be calculated. Returns
null
if the matrix cannot be decomposed.matrix
- the ComplexDoubleMatrix
ComplexDoubleMatrix
or null
if
the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not square.public static ComplexDoubleMatrix getInverse(ComplexDoubleMatrix toInverse, ComplexDoubleMatrix result)
toInverse
, places it in result
and returns result
.
Does nothing and returns null
if one of the following conditions is true:
toInverse
- the ComplexDoubleMatrix
to inverseresult
- the ComplexDoubleMatrix
is which the result will be storedresult
in which the determinant has been stored or null
java.lang.IllegalArgumentException
- if toInverse
and/or result
is null
or not square;
if result
's size is not correctpublic static ComplexDouble getDeterminant(ComplexDoubleMatrix matrix)
ComplexDoubleMatrix
.matrix
- the ComplexDoubleMatrix
ComplexDoubleMatrix
or null
if the determinant cannot be calculated.java.lang.IllegalArgumentException
- if the matrix
is null
or not square