Packages

c

scalation.linalgebra

Bidiagonal2

class Bidiagonal2 extends Error

The Bidiagonal2 class is used to creates a bidiagonal matrix for matrix 'a'. It uses the Householder Bidiagonalization Algorithm to compute orthogonal matrices 'u' and 'v' such that

u.t * a * v = b a = u * b * v.t

where matrix 'b' is bidiagonal, i.e, it will only have non-zero elements on its main diagonal and its super-diagonal (the diagonal above the main).

u is an m-by-n matrix b is an n-by-n matrix (bidiagonal - FIX: use BidMatrixD) v is an n-by-n matrix


Linear Supertypes
Error, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Bidiagonal2
  2. Error
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Bidiagonal2(a: MatrixD, m_by_n: Boolean = true)

    a

    the m-by-n matrix to bidiagonalize

    m_by_n

    whether the u matrix is to be m-by-n (true) or (m-by-m) false

Value Members

  1. def bidiagonalize(): (MatrixD, MatrixD, MatrixD)

    Use the Householder Bidiagonalization Algorithm to compute orthogonal matrices 'u' and 'v' such that 'u.t * a * v = b' where matrix 'b' is bidiagonal.

    Use the Householder Bidiagonalization Algorithm to compute orthogonal matrices 'u' and 'v' such that 'u.t * a * v = b' where matrix 'b' is bidiagonal. This implementation computes 'b' in-place overwriting matrix 'a'.

    See also

    Matrix Computations: Algorithm 5.4.2 Householder Bidiagonalization

  2. 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