OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    math_GaussLeastSquare Class Reference

    This class implements the least square solution of a set of n linear equations of m unknowns (n >= m) using the gauss LU decomposition algorithm. This algorithm is more likely subject to numerical instability than math_SVD. More...

    #include <math_GaussLeastSquare.hxx>

    Public Member Functions

     math_GaussLeastSquare (const math_Matrix &A, const double MinPivot=1.0e-20)
     Given an input n X m matrix A with n >= m this constructor performs the LU decomposition with partial pivoting (interchange of rows) of the matrix AA = A.Transposed() * A; This LU decomposition is stored internally and may be used to do subsequent calculation. If the largest pivot found is less than MinPivot the matrix is considered as singular.
    bool IsDone () const
     Returns true if the computations are successful, otherwise returns false.e.
    void Solve (const math_Vector &B, math_Vector &X) const
     Given the input Vector this routine solves the set of linear equations A . X = B. Exception NotDone is raised if the decomposition of A was not done successfully. Exception DimensionError is raised if the range of B Inv is not equal to the rowrange of A. Exception DimensionError is raised if the range of X Inv is not equal to the colrange of A.
    void Dump (Standard_OStream &o) const
     Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.

    Protected Attributes

    bool Singular {}
    math_Matrix LU
    math_Matrix A2
    math_IntegerVector Index
    double D {}

    Detailed Description

    This class implements the least square solution of a set of n linear equations of m unknowns (n >= m) using the gauss LU decomposition algorithm. This algorithm is more likely subject to numerical instability than math_SVD.

    Constructor & Destructor Documentation

    ◆ math_GaussLeastSquare()

    math_GaussLeastSquare::math_GaussLeastSquare ( const math_Matrix & A,
    const double MinPivot = 1.0e-20 )

    Given an input n X m matrix A with n >= m this constructor performs the LU decomposition with partial pivoting (interchange of rows) of the matrix AA = A.Transposed() * A; This LU decomposition is stored internally and may be used to do subsequent calculation. If the largest pivot found is less than MinPivot the matrix is considered as singular.

    Member Function Documentation

    ◆ Dump()

    void math_GaussLeastSquare::Dump ( Standard_OStream & o) const

    Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.

    ◆ IsDone()

    bool math_GaussLeastSquare::IsDone ( ) const

    Returns true if the computations are successful, otherwise returns false.e.

    ◆ Solve()

    void math_GaussLeastSquare::Solve ( const math_Vector & B,
    math_Vector & X ) const

    Given the input Vector this routine solves the set of linear equations A . X = B. Exception NotDone is raised if the decomposition of A was not done successfully. Exception DimensionError is raised if the range of B Inv is not equal to the rowrange of A. Exception DimensionError is raised if the range of X Inv is not equal to the colrange of A.

    Field Documentation

    ◆ A2

    math_Matrix math_GaussLeastSquare::A2
    protected

    ◆ D

    double math_GaussLeastSquare::D {}
    protected

    ◆ Index

    math_IntegerVector math_GaussLeastSquare::Index
    protected

    ◆ LU

    math_Matrix math_GaussLeastSquare::LU
    protected

    ◆ Singular

    bool math_GaussLeastSquare::Singular {}
    protected

    The documentation for this class was generated from the following file: