Re: [eigen] Dense Matrix Decompositions/Solvers: Inherit from SolverBase

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]



Hi Patrick,

sorry for the rather late reply.

On Tue, Feb 20, 2018 at 1:55 PM, Patrick Peltzer <peltzer@xxxxxxxxxxxxxxxxxxx> wrote:

as this is my first entry to this mailing list, I would like to shortly introduce myself. My name is Patrick Peltzer and I'm a Computational Engineering Science student at RWTH Aachen, Germany. I'm currently working on my Bachelor thesis with the title "Efficient Adjoints of the Linear Algebra Library
Eigen using dco/c++", in which I'm creating a fork of Eigen to optimize its usage with the algorithmic differentiation software dco/c++. Amongst other things, I'm implementing symbolic solver versions of the Eigen build-in solvers. Symbolic solvers allow to reuse the already computed matrix decomposition when doing the reverse part of algorithmic differentiation, saving memory and speed by making the recording of the decomposition calculation and the recalculation obsolete. If you are interested, you can find more info here: https://www.stce.rwth-aachen.de/research/publications/naumann2012dls

This looks very interesting. Out of curiosity, have you considered leveraging matrix differential rules, such as identifying expressions like x = A.lu().solve(b) and instead of going through the whole factorization to cary out the derivatives, simply use the rules for differentiating the inverse of a matrix...?? 
 
For these symbolic solvers, I've created a parent class which inherits from SolverBase. The symbolic solver variants for FullPivLU and PartialPivLU inherit from my parent class and they work like a charm. However, I would like to include the other solvers listed here https://eigen.tuxfamily.org/dox/group__TutorialLinearAlgebra.html, e.g. HouseholderQR. However, all these other decompositions do not inherit from SolverBase. My questions is: Is there a reason why?



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/