 CGAL 5.1.3 - CGAL and Solvers
NormalEquationSparseLinearAlgebraTraits_d Concept Reference

## Definition

Concept describing the set of requirements for solving the normal equation $$A^t A X = A^t B$$, $$A$$ being a matrix, $$At$$ its transpose matrix, $$B$$ and $$X$$ being two vectors.

SparseLinearAlgebraTraits_d
Has Models:
CGAL::Eigen_solver_traits<T>

## Types

typedef unspecified_type Matrix
Matrix type model of SparseLinearAlgebraTraits_d::Matrix

typedef unspecified_type Vector
Vector type model of SparseLinearAlgebraTraits_d::Vector

typedef unspecified_type NT
Number type.

## Creation

NormalEquationSparseLinearAlgebraTraits_d ()
Default constructor.

## Operations

bool normal_equation_factor (const Matrix &A)
Factorize the sparse matrix At * A. More...

bool normal_equation_solver (const Vector &B, Vector &X)
Solve the sparse linear system At * A * X = At * B, with A being the matrix provided in normal_equation_factor(), and At its transpose matrix. More...

bool normal_equation_solver (const Matrix &A, const Vector &B, Vector &X)
Equivalent to a call to normal_equation_factor(A) followed by a call to normal_equation_solver(B,X) .

## ◆ normal_equation_factor()

 bool NormalEquationSparseLinearAlgebraTraits_d::normal_equation_factor ( const Matrix & A )

Factorize the sparse matrix At * A.

This factorization is used in normal_equation_solver() to solve the system for different right-hand side vectors.

Returns
true if the factorization is successful and false otherwise.

## ◆ normal_equation_solver()

 bool NormalEquationSparseLinearAlgebraTraits_d::normal_equation_solver ( const Vector & B, Vector & X )

Solve the sparse linear system At * A * X = At * B, with A being the matrix provided in normal_equation_factor(), and At its transpose matrix.

Returns
true if the solver is successful and false otherwise.