Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-solvers
Source project has a limited visibility.
  • oliver.sander_at_tu-dresden.de's avatar
    bf6b2248
    CholmodSolver: Allow to reuse a factorization · bf6b2248
    oliver.sander_at_tu-dresden.de authored and Patrick Jaap's avatar Patrick Jaap committed
    Computing Cholesky factorizations is expensive, and they absolutely
    have to be reused if the same linear system is solved with several
    different right hand sides.  The previous implementation of
    CholmodSolver wouldn't allow this: The 'solve' method factorized
    and solved together.
    
    This patch makes the interface of the CholmodSolver class richer
    to allow for factorization reuse.  It is now possible to set the
    matrix, rhs and solution storage separately.  The matrix can be
    factorized by calling a new 'factorize' method, and if 'solve'
    is called afterwards, the matrix won't be factorized again.
    
    On the other hand, when calling 'solve' by itself the 'solve'
    method will do the factorization.  In other words, the patch
    is fully backward-compatible.
    bf6b2248
    History
    CholmodSolver: Allow to reuse a factorization
    oliver.sander_at_tu-dresden.de authored and Patrick Jaap's avatar Patrick Jaap committed
    Computing Cholesky factorizations is expensive, and they absolutely
    have to be reused if the same linear system is solved with several
    different right hand sides.  The previous implementation of
    CholmodSolver wouldn't allow this: The 'solve' method factorized
    and solved together.
    
    This patch makes the interface of the CholmodSolver class richer
    to allow for factorization reuse.  It is now possible to set the
    matrix, rhs and solution storage separately.  The matrix can be
    factorized by calling a new 'factorize' method, and if 'solve'
    is called afterwards, the matrix won't be factorized again.
    
    On the other hand, when calling 'solve' by itself the 'solve'
    method will do the factorization.  In other words, the patch
    is fully backward-compatible.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.