public class LinearAlgebra extends Object
Constructor and Description |
---|
LinearAlgebra() |
Modifier and Type | Method and Description |
---|---|
static double[][] |
diag(double[] vector)
Generates a diagonal matrix with the input vector on its diagonal
|
double[][] |
exp(double[][] matrix)
Calculate the "matrix exponential" (expm).
|
RealMatrix |
exp(RealMatrix matrix)
Calculate the "matrix exponential" (expm).
|
static double[][] |
factorReduction(double[][] correlationMatrix,
int numberOfFactors)
Returns a correlation matrix which has rank < n and for which the first n factors agree with the factors of correlationMatrix.
|
static double[][] |
factorReductionUsingCommonsMath(double[][] correlationMatrix,
int numberOfFactors)
Returns a correlation matrix which has rank < n and for which the first n factors agree with the factors of correlationMatrix.
|
static double[][] |
getFactorMatrix(double[][] correlationMatrix,
int numberOfFactors)
Returns the matrix of the n Eigenvectors corresponding to the first n largest Eigenvalues of a correlation matrix.
|
static double[][] |
invert(double[][] matrix)
Returns the inverse of a given matrix.
|
static double[][] |
multMatrices(double[][] left,
double[][] right)
Multiplication of two matrices.
|
static double[][] |
pseudoInverse(double[][] matrix)
Pseudo-Inverse of a matrix calculated in the least square sense.
|
static double[] |
solveLinearEquation(double[][] matrixA,
double[] b)
Find a solution of the linear equation A x = b where
A is an n x m - matrix given as double[n][m]
b is an m - vector given as double[m],
x is an n - vector given as double[n],
|
static double[] |
solveLinearEquationLeastSquare(double[][] matrix,
double[] vector)
Find a solution of the linear equation A x = b in the least square sense where
A is an n x m - matrix given as double[n][m]
b is an m - vector given as double[m],
x is an n - vector given as double[n],
|
static double[][] |
solveLinearEquationLeastSquare(double[][] matrix,
double[][] rhs)
Find a solution of the linear equation A X = B in the least square sense where
A is an n x m - matrix given as double[n][m]
B is an m x k - matrix given as double[m][k],
X is an n x k - matrix given as double[n][k],
|
static double[] |
solveLinearEquationSVD(double[][] matrixA,
double[] b)
Find a solution of the linear equation A x = b where
A is an n x m - matrix given as double[n][m]
b is an m - vector given as double[m],
x is an n - vector given as double[n],
|
static double[] |
solveLinearEquationSymmetric(double[][] matrix,
double[] vector)
Find a solution of the linear equation A x = b where
A is an symmetric n x n - matrix given as double[n][n]
b is an n - vector given as double[n],
x is an n - vector given as double[n],
|
static double[] |
solveLinearEquationTikonov(double[][] matrixA,
double[] b,
double lambda)
Find a solution of the linear equation A x = b where
A is an n x m - matrix given as double[n][m]
b is an m - vector given as double[m],
x is an n - vector given as double[n],
using a standard Tikhonov regularization, i.e., we solve in the least square sense
A* x = b*
where A* = (A^T, lambda I)^T and b* = (b^T , 0)^T.
|
static double[] |
solveLinearEquationTikonov(double[][] matrixA,
double[] b,
double lambda0,
double lambda1,
double lambda2)
Find a solution of the linear equation A x = b where
A is an n x m - matrix given as double[n][m]
b is an m - vector given as double[m],
x is an n - vector given as double[n],
using a Tikhonov regularization, i.e., we solve in the least square sense
A* x = b*
where A* = (A^T, lambda0 I, lambda1 S, lambda2 C)^T and b* = (b^T , 0 , 0 , 0)^T.
|
static double[][] |
transpose(double[][] matrix)
Transpose a matrix
|
public static double[] solveLinearEquationTikonov(double[][] matrixA, double[] b, double lambda)
matrixA
- The matrix A (left hand side of the linear equation).b
- The vector (right hand of the linear equation).lambda
- The parameter lambda of the Tikhonov regularization. Lambda effectively measures which small numbers are considered zero.public static double[] solveLinearEquationTikonov(double[][] matrixA, double[] b, double lambda0, double lambda1, double lambda2)
matrixA
- The matrix A (left hand side of the linear equation).b
- The vector (right hand of the linear equation).lambda0
- The parameter lambda0 of the Tikhonov regularization. Reduces the norm of the solution vector.lambda1
- The parameter lambda1 of the Tikhonov regularization. Reduces the slope of the solution vector.lambda2
- The parameter lambda1 of the Tikhonov regularization. Reduces the curvature of the solution vector.public static double[] solveLinearEquation(double[][] matrixA, double[] b)
matrixA
- The matrix A (left hand side of the linear equation).b
- The vector (right hand of the linear equation).public static double[] solveLinearEquationSVD(double[][] matrixA, double[] b)
matrixA
- The matrix A (left hand side of the linear equation).b
- The vector (right hand of the linear equation).public static double[][] invert(double[][] matrix)
matrix
- A matrix given as double[n][n].public static double[] solveLinearEquationSymmetric(double[][] matrix, double[] vector)
matrix
- The matrix A (left hand side of the linear equation).vector
- The vector b (right hand of the linear equation).public static double[] solveLinearEquationLeastSquare(double[][] matrix, double[] vector)
matrix
- The matrix A (left hand side of the linear equation).vector
- The vector b (right hand of the linear equation).public static double[][] solveLinearEquationLeastSquare(double[][] matrix, double[][] rhs)
matrix
- The matrix A (left hand side of the linear equation).rhs
- The matrix B (right hand of the linear equation).public static double[][] getFactorMatrix(double[][] correlationMatrix, int numberOfFactors)
correlationMatrix
- The given correlation matrix.numberOfFactors
- The requested number of factors (eigenvectors).public static double[][] factorReduction(double[][] correlationMatrix, int numberOfFactors)
correlationMatrix
- The given correlation matrix.numberOfFactors
- The requested number of factors (Eigenvectors).public static double[][] factorReductionUsingCommonsMath(double[][] correlationMatrix, int numberOfFactors)
correlationMatrix
- The given correlation matrix.numberOfFactors
- The requested number of factors (Eigenvectors).public double[][] exp(double[][] matrix)
matrix
- The given matrix.public RealMatrix exp(RealMatrix matrix)
matrix
- The given matrix.public static double[][] transpose(double[][] matrix)
matrix
- The given matrix.public static double[][] pseudoInverse(double[][] matrix)
matrix
- The given matrix A.public static double[][] diag(double[] vector)
vector
- The given matrix A.public static double[][] multMatrices(double[][] left, double[][] right)
left
- The matrix A.right
- The matrix BCopyright © 2020. All rights reserved.