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
5.1 and 5.2 in Matrix Computations
QRDecomposition.java in Jama
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
. -------------------------------------------------------------------------------
- Alphabetic
- By Inheritance
- Fac_QR_RR
- Pivoting
- Fac_QR_H
- Fac_QR
- Error
- Factorization
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def factor(): Fac_QR_RR[MatT]
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
5.1 and 5.2 in Matrix Computations
QRDecomposition.java in Jama
- 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
- 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[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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: 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. FIX - just pass vectors - update 'solve' and 'transformB'
- 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(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated