class Fac_QR_RR[MatT <: MatriD] extends Fac_QR_H[MatT] with Pivoting
The Fac_QR_RR
class provides methods to factor an 'm-by-n' matrix 'a' into the
product of two matrices:
'q' - an 'm-by-n' orthogonal matrix and 'r' - an 'n-by-n' right upper triangular matrix
such that 'a = q * r'. It uses uses Householder orthogonalization.
- See also
www.stat.wisc.edu/~larget/math496/qr.html ------------------------------------------------------------------------------- This implementation extends
Fac_QR_H
and adds column pivoting for greater robustness and resonably accurate rank determination (Rank Revealing QR). Caveat: for m < n useFac_LQ
. -------------------------------------------------------------------------------QRDecomposition.java in Jama
5.1 and 5.2 in Matrix Computations
- Alphabetic
- By Inheritance
- Fac_QR_RR
- Pivoting
- Fac_QR_H
- Fac_QR
- Error
- Factorization
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
Fac_QR_RR(aa: MatT, needQ: Boolean = true)
- aa
the matrix to be factor into q and r
- needQ
flag indicating whether a full q matrix is needed
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
at: MatrixD
- Attributes
- protected
- Definition Classes
- Fac_QR_H
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
colHouse(k: Int): Unit
Calculate the 'k'th Householder vector and perform the 'k'th Householder reflection.
Calculate the 'k'th Householder vector and perform the 'k'th Householder reflection.
- k
the index of the column performing the Householder reflection
- Attributes
- protected
- Definition Classes
- Fac_QR_H
-
def
computeQ(): Unit
Compute the full 'q' orthogonal matrix based on updated values in 'at'.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
factor(): Unit
Perform QR Factorization and result in a single matrix which contains Householder vectors of each columns in lower triangular of 'aa' matrix.
Perform QR Factorization and result in a single matrix which contains Householder vectors of each columns in lower triangular of 'aa' matrix. This Rank Revealing algorithm uses Householder orthogonalization and pivoting.
- Definition Classes
- Fac_QR_RR → Fac_QR_H → Factorization
- See also
QRDecomposition.java in Jama
5.1 and 5.2 in Matrix Computations
-
def
factor1(): MatriD
Factor a matrix into the product of two matrices, e.g., 'a = l * l.t', returning only the first matrix.
Factor a matrix into the product of two matrices, e.g., 'a = l * l.t', returning only the first matrix.
- Definition Classes
- Factorization
-
def
factor12(): (MatriD, MatriD)
Factor a matrix into the product of two matrices, e.g., 'a = l * l.t' or a = q * r, returning both the first and second matrices.
Factor a matrix into the product of two matrices, e.g., 'a = l * l.t' or a = q * r, returning both the first and second matrices.
- Definition Classes
- Factorization
-
def
factor2(): MatriD
Factor a matrix into the product of two matrices, e.g., 'a = l * l.t', returning only the second matrix.
Factor a matrix into the product of two matrices, e.g., 'a = l * l.t', returning only the second matrix.
- Definition Classes
- Factorization
-
val
factored: Boolean
Flag indicating whether the matrix has been factored
Flag indicating whether the matrix has been factored
- Attributes
- protected
- Definition Classes
- Factorization
-
def
factors: (MatriD, MatriD)
Return both the orthogonal 'q' matrix and the right upper triangular 'r' matrix.
Return both the orthogonal 'q' matrix and the right upper triangular 'r' matrix.
- Definition Classes
- Fac_QR → Factorization
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
flaw(method: String, message: String): Unit
Show the flaw by printing the error message.
Show the flaw by printing the error message.
- method
the method where the error occurred
- message
the error message
- Definition Classes
- Error
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
m: Int
- Attributes
- protected
- Definition Classes
- Fac_QR
-
val
n: Int
- Attributes
- protected
- Definition Classes
- Fac_QR
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
nullspace(rank: Int): MatriD
Compute the nullspace of matrix 'a: { x | a*x = 0 }' using QR Factorization 'q*r*x = 0'.
-
def
nullspaceV(x: VectoD): VectoD
Compute the nullspace of matrix 'a: { x | a*x = 0 }' using QR Factorization 'q*r*x = 0'.
Compute the nullspace of matrix 'a: { x | a*x = 0 }' using QR Factorization 'q*r*x = 0'. Gives only one vector in the nullspace.
- x
a vector with the correct dimension
- Definition Classes
- Fac_QR_H
-
val
p: Int
- Attributes
- protected
- Definition Classes
- Fac_QR
-
def
piv: VectorI
Return the pivot vector.
-
val
q: MatrixD
- Attributes
- protected
- Definition Classes
- Fac_QR
-
val
r: MatriD
- Attributes
- protected
- Definition Classes
- Fac_QR
-
def
rank: Int
Return the rank (number of independent columns) in matrix 'aa'.
-
def
reorderCols(a: MatriD, piv: VectorI): MatriD
Reorder the columns of matrix 'a' according to the pivot vector 'piv'.
Reorder the columns of matrix 'a' according to the pivot vector 'piv'.
- a
the matrix to reorder
- Definition Classes
- Pivoting
-
def
reorderRows(a: MatriD, piv: VectorI): MatriD
Reorder the rows of matrix 'a' according to the pivot vector 'piv'.
Reorder the rows of matrix 'a' according to the pivot vector 'piv'.
- a
the matrix to reorder
- Definition Classes
- Pivoting
-
def
solve(b: VectorD): VectoD
- Definition Classes
- Fac_QR_H
-
def
solve(b: VectoD): VectoD
Solve for 'x' in 'aa*x = b' using the QR Factorization 'aa = q*r' via 'r*x = q.t * b' without actually calculating the 'q' matrix.
Solve for 'x' in 'aa*x = b' using the QR Factorization 'aa = q*r' via 'r*x = q.t * b' without actually calculating the 'q' matrix. The overriding method is more efficient.
- b
the constant vector
- Definition Classes
- Fac_QR_H → Fac_QR → Factorization
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transformB(b: Array[Double]): Array[Double]
Transform 'b' into 'q.t * b', i.e., perform the right side of the equation 'r*x = q.t * b' not using a full 'q' matrix.
Transform 'b' into 'q.t * b', i.e., perform the right side of the equation 'r*x = q.t * b' not using a full 'q' matrix.
- b
the constant vector
- Definition Classes
- Fac_QR_H
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )