Skip to content

Linear algebra: Expose the remaining classes listed in Eigen documentation (decompositions and solvers) #571

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 40 commits into
base: devel
Choose a base branch
from

Conversation

Lucas-Haubert
Copy link

@Lucas-Haubert Lucas-Haubert commented Jul 4, 2025

This (draft) PR aims at adding the remaining classes in Eigen that we plan to use in practice.

This PR is proposed jointly with the one in nanoeigenpy (Simple-Robotics/nanoeigenpy#13).

What follows if the list of classes treated in this work:

  • <Eigen/LU>: FullPivLU
  • <Eigen/LU>: PartialPivLU
  • <Eigen/SVD>: JacobiSVD
  • <Eigen/SVD>: BDCSVD
  • <Eigen/Eigenvalues>: ComplexEigenSolver
  • <Eigen/Eigenvalues>: GeneralizedEigenSolver
  • <Eigen/Eigenvalues>: GeneralizedSelfAdjointSolver
  • <Eigen/Eigenvalues>: HessenbergDecomposition
  • <Eigen/Eigenvalues>: RealQZ
  • <Eigen/Eigenvalues>: RealSchur
  • <Eigen/Eigenvalues>: ComplexSchur
  • <Eigen/Eigenvalues>: Tridiagonalization
  • <Eigen/SparseLU>: SparseLU
  • <Eigen/SparseQR>: SparseQR
  • <Eigen/IterativeLinearSolvers>: BiCGSTAB
  • <Eigen/IterativeLinearSolvers>: IncompleteLUT
  • <Eigen/IterativeLinearSolvers>: IncompleteCholesky

@Lucas-Haubert Lucas-Haubert changed the title Linear algebra: Expose the remaining Eigen classes Linear algebra: Expose the remaining Eigen classes (decompositions and solvers) Jul 4, 2025
@Lucas-Haubert Lucas-Haubert changed the title Linear algebra: Expose the remaining Eigen classes (decompositions and solvers) Linear algebra: Expose the remaining classes listed in Eigen documentation (decompositions and solvers) Jul 7, 2025
@jcarpent jcarpent force-pushed the topic/linear_algebra branch from 7848bd8 to 08cc3d0 Compare July 20, 2025 15:57
@Lucas-Haubert Lucas-Haubert marked this pull request as ready for review July 21, 2025 08:24
@Lucas-Haubert Lucas-Haubert force-pushed the topic/linear_algebra branch from 0d3a259 to bede0bf Compare July 21, 2025 14:47
@Lucas-Haubert Lucas-Haubert force-pushed the topic/linear_algebra branch from 1c58d59 to f401316 Compare July 22, 2025 12:40
+[](QTransposeType& self, const VectorXd& other) -> VectorXd {
return VectorXd(self * other);
},
bp::args("self", "other"));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we convert the SparseQRMatrixQTransposeReturnTypeVisitor (and all other view) to a generic sparse matrix ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but even when the source code refers to the same intermediate class (as a return type) (struct SparseQRMatrixQTransposeReturnType).
For other views, they concern SparseLU.hpp and contain solveInPlace methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants