SparseQR.h file
Sparse QR factorization with column pivoting.
This header provides the SparseQR solver class, which implements QR decomposition with numerical column pivoting for sparse matrices.
Algorithm
The solver computes:
where is a permutation matrix, is orthogonal, and is upper triangular. The left-looking algorithm proceeds column by column.
Applicability
- General sparse matrices (no symmetry required)
- Rank-deficient systems
- Least-squares problems
- Overdetermined systems
- Systems where LU factorization is numerically unstable
Usage Example
Problem problem(u, v); problem = Integral(Grad(u), Grad(v)) - Integral(f, v); Solver::SparseQR 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::SparseQR<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
- Sparse QR factorization with numerical column pivoting.