class Fac_QR_H2[MatT <: MatriD] extends Fac_QR[MatT]
The Fac_QR_H2
class provides methods to factor an 'm-by-n' matrix 'aa' 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 Householder orthogonalization.
- See also
math.stackexchange.com/questions/678843/householder-qr-factorization-for-m-by-n-matrix-both-m-n-and-mn ------------------------------------------------------------------------------ This implementation replaces matrix operations in
Fac_QR_H3
with low-level operations for greater efficiency. Also, calculates Householder vectors differently. Caveat: for m < n useFac_LQ
. ------------------------------------------------------------------------------www.stat.wisc.edu/~larget/math496/qr.html
QRDecomposition.java in Jama
5.1 and 5.2 in Matrix Computations
- Alphabetic
- By Inheritance
- Fac_QR_H2
- Fac_QR
- Error
- Factorization
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
Fac_QR_H2(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
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
computeQ(): Unit
Compute the full 'q' orthogonal matrix based on updated values in 'a'.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
factor(): Fac_QR_H2[MatT]
Factor matrix 'a' into the product of two matrices, 'a = q * r', returning both the orthogonal 'q' matrix and the right upper triangular 'r' matrix.
Factor matrix 'a' into the product of two matrices, 'a = q * r', returning both the orthogonal 'q' matrix and the right upper triangular 'r' matrix. This algorithm uses Householder orthogonalization.
- Definition Classes
- Fac_QR_H2 → 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
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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
-
val
p: Int
- Attributes
- protected
- Definition Classes
- Fac_QR
-
val
q: MatrixD
- Attributes
- protected
- Definition Classes
- Fac_QR
-
val
r: MatriD
- Attributes
- protected
- Definition Classes
- Fac_QR
-
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'.
Solve for 'x' in 'aa*x = b' using the QR Factorization 'aa = q*r' via 'r*x = q.t * b'. Requires calculating 'q' matrix first.
- b
the constant vector@param y the constant vector
- Definition Classes
- Fac_QR → Factorization
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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
- @native() @throws( ... )