public class DenseFloatQRDecomposition extends Object implements Serializable
The QR decompostion always exists, even if the matrix does not have full rank, so the constructor will never fail. The primary use of the QR decomposition is in the least squares solution of nonsquare systems of simultaneous linear equations. This will fail if isFullRank() returns false.
Constructor and Description |
---|
DenseFloatQRDecomposition(FloatMatrix2D A)
Constructs and returns a new QR decomposition object; computed by
Householder reflections; The decomposed matrices can be retrieved via
instance methods of the returned decomposition object.
|
Modifier and Type | Method and Description |
---|---|
FloatMatrix2D |
getH()
Returns the Householder vectors H.
|
FloatMatrix2D |
getQ()
Generates and returns the (economy-sized) orthogonal factor Q.
|
FloatMatrix2D |
getR()
Returns the upper triangular factor, R.
|
boolean |
hasFullRank()
Returns whether the matrix A has full rank.
|
FloatMatrix1D |
solve(FloatMatrix1D b)
Least squares solution of A*x = b; returns x.
|
FloatMatrix2D |
solve(FloatMatrix2D B)
Least squares solution of A*X = B; returns X.
|
String |
toString()
Returns a String with (propertyName, propertyValue) pairs.
|
public DenseFloatQRDecomposition(FloatMatrix2D A)
A
- A rectangular matrix.IllegalArgumentException
- if A.rows() < A.columns().public FloatMatrix2D getH()
public FloatMatrix2D getQ()
public FloatMatrix2D getR()
public boolean hasFullRank()
public FloatMatrix1D solve(FloatMatrix1D b)
b
- right-hand side.IllegalArgumentException
- if b.size() != A.rows().IllegalArgumentException
- if !this.hasFullRank() (A is rank
deficient).public FloatMatrix2D solve(FloatMatrix2D B)
B
- A matrix with as many rows as A and any number of
columns.IllegalArgumentException
- if B.rows() != A.rows().IllegalArgumentException
- if !this.hasFullRank() (A is rank
deficient).Jump to the Parallel Colt Homepage