Package org.ejml.dense.row.linsol.qr
Class SolvePseudoInverseQrp_DDRM
java.lang.Object
org.ejml.dense.row.linsol.LinearSolverAbstract_DDRM
org.ejml.dense.row.linsol.qr.BaseLinearSolverQrp_DDRM
org.ejml.dense.row.linsol.qr.SolvePseudoInverseQrp_DDRM
- All Implemented Interfaces:
LinearSolver<DMatrixRMaj,,DMatrixRMaj> LinearSolverDense<DMatrixRMaj>
A pseudo inverse solver for a generic QR column pivot decomposition algorithm. See
BaseLinearSolverQrp_DDRM for technical details on the algorithm.
-
Field Summary
Fields inherited from class org.ejml.dense.row.linsol.qr.BaseLinearSolverQrp_DDRM
I, internalSolver, norm2Solution, R, R11, rank, YFields inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_DDRM
A, numCols, numRows -
Constructor Summary
ConstructorsConstructorDescriptionSolvePseudoInverseQrp_DDRM(QRPDecomposition_F64<DMatrixRMaj> decomposition, boolean norm2Solution) Configure and provide decomposition -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if the passed in matrix toLinearSolver.setA(Matrix)is modified.booleanReturns true if the passed in 'B' matrix toLinearSolver.solve(Matrix, Matrix)is modified.booleansetA(DMatrixRMaj A) Specifies the A matrix in the linear equation.voidsolve(DMatrixRMaj B, DMatrixRMaj X) Solves for X in the linear system, A*X=B.Methods inherited from class org.ejml.dense.row.linsol.qr.BaseLinearSolverQrp_DDRM
getDecomposition, invert, quality, upgradeSolutionMethods inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_DDRM
_setA, getA
-
Constructor Details
-
SolvePseudoInverseQrp_DDRM
public SolvePseudoInverseQrp_DDRM(QRPDecomposition_F64<DMatrixRMaj> decomposition, boolean norm2Solution) Configure and provide decomposition- Parameters:
decomposition- Decomposition used.norm2Solution- If true the basic solution will be returned, false the minimal 2-norm solution.
-
-
Method Details
-
setA
Description copied from interface:LinearSolverSpecifies the A matrix in the linear equation. A reference might be saved and it might also be modified depending on the implementation. If it is modified then
LinearSolver.modifiesA()will return true.If this value returns true that does not guarantee a valid solution was generated. This is because some decompositions don't detect singular matrices.
- Specified by:
setAin interfaceLinearSolver<DMatrixRMaj,DMatrixRMaj> - Overrides:
setAin classBaseLinearSolverQrp_DDRM- Parameters:
A- The 'A' matrix in the linear equation. Might be modified or save the reference.- Returns:
- true if it can be processed.
-
solve
Description copied from interface:LinearSolverSolves for X in the linear system, A*X=B.
In some implementations 'B' and 'X' can be the same instance of a variable. Call
LinearSolver.modifiesB()to determine if 'B' is modified.- Parameters:
B- A matrix ℜ m × p. Might be modified.X- A matrix ℜ n × p, where the solution is written to. Modified.
-
modifiesA
public boolean modifiesA()Description copied from interface:LinearSolverReturns true if the passed in matrix toLinearSolver.setA(Matrix)is modified.- Returns:
- true if A is modified in setA().
-
modifiesB
public boolean modifiesB()Description copied from interface:LinearSolverReturns true if the passed in 'B' matrix toLinearSolver.solve(Matrix, Matrix)is modified.- Returns:
- true if B is modified in solve(B,X).
-