Packages

class Fac_QR_MGS extends Fac_QR[MatrixD]

The Fac_QR_MGS 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 Modified Gram-Schmidt (MGS) orthogonalization. Note, orthogonal means that 'q.t * q = I'.

See also

http://en.wikipedia.org/wiki/Gram–Schmidt_process (stabilized Gram–Schmidt orthonormalization)

http://www.stat.wisc.edu/~larget/math496/qr.html

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Fac_QR_MGS
  2. Fac_QR
  3. Error
  4. Factorization
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Fac_QR_MGS(a: MatrixD)

    a

    the matrix to be factor into q and r

Value Members

  1. def computeQ(): Unit

    Compute the full orthogonal matrix 'q'.

    Compute the full orthogonal matrix 'q'. No implementation needed, since it is automatically computed.

    Definition Classes
    Fac_QR_MGSFac_QR
  2. def factor(): Fac_QR_MGS

    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 Modified Gram-Schmidt 'MGS' orthogonalization.

    Definition Classes
    Fac_QR_MGSFactorization
    See also

    Algorithm 5.2.6 in Matrix Computations.

  3. 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
  4. 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
  5. 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
  6. 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_QRFactorization
  7. 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
  8. def nullspace(rank: Int): MatriD

    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 a basis of dimension 'n - rank' for the nullspace

    rank

    the rank of the matrix (number of linearly independent column vectors)

    Definition Classes
    Fac_QR_MGSFac_QR
  9. def nullspaceV: VectorD

    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.

  10. val q: MatrixD
    Definition Classes
    Fac_QR_MGSFac_QR
  11. 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_QRFactorization