Package org.ejml.dense.row.linsol.qr
Class SolvePseudoInverseQrp_FDRM
java.lang.Object
org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
org.ejml.dense.row.linsol.qr.BaseLinearSolverQrp_FDRM
org.ejml.dense.row.linsol.qr.SolvePseudoInverseQrp_FDRM
- All Implemented Interfaces:
LinearSolver<FMatrixRMaj,,FMatrixRMaj> LinearSolverDense<FMatrixRMaj>
@Generated("org.ejml.dense.row.linsol.qr.SolvePseudoInverseQrp_DDRM")
public class SolvePseudoInverseQrp_FDRM
extends BaseLinearSolverQrp_FDRM
A pseudo inverse solver for a generic QR column pivot decomposition algorithm. See
BaseLinearSolverQrp_FDRM for technical details on the algorithm.
-
Field Summary
Fields inherited from class org.ejml.dense.row.linsol.qr.BaseLinearSolverQrp_FDRM
I, internalSolver, norm2Solution, R, R11, rank, YFields inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
A, numCols, numRows -
Constructor Summary
ConstructorsConstructorDescriptionSolvePseudoInverseQrp_FDRM(QRPDecomposition_F32<FMatrixRMaj> 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(FMatrixRMaj A) Specifies the A matrix in the linear equation.voidsolve(FMatrixRMaj B, FMatrixRMaj X) Solves for X in the linear system, A*X=B.Methods inherited from class org.ejml.dense.row.linsol.qr.BaseLinearSolverQrp_FDRM
getDecomposition, invert, quality, upgradeSolutionMethods inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
_setA, getA
-
Constructor Details
-
SolvePseudoInverseQrp_FDRM
public SolvePseudoInverseQrp_FDRM(QRPDecomposition_F32<FMatrixRMaj> 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<FMatrixRMaj,FMatrixRMaj> - Overrides:
setAin classBaseLinearSolverQrp_FDRM- 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).
-