Rodin/Solver/HouseholderQR.h file

Householder QR decomposition for dense matrices.

This header provides the HouseholderQR solver class for dense matrices, implementing QR decomposition using Householder reflections.

Algorithm

The solver computes:

\[ A = QR \]

where $ Q $ is orthogonal and $ R $ is upper triangular, using Householder reflections for numerical stability.

Applicability

  • General dense matrices
  • Overdetermined least-squares problems
  • Small to medium-sized systems
  • When numerical stability is important

Usage Example

Problem problem(u, v);
problem = Integral(Grad(u), Grad(v)) - Integral(f, v);

Solver::HouseholderQR solver(problem);
solver.solve();

Namespaces

namespace Rodin
The Rodin library for Shape and Topology Optimization.
namespace Rodin::Solver
Module for linear algebra systems.

Classes

template<class Scalar>
class Rodin::Solver::HouseholderQR<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
A direct sparse HouseholderQR Cholesky factorizations without square root for use with Math::SparseMatrix and Math::Vector.