Thread: [Metil-lmtpp] Changement de comportement dans SparseCholMod
Status: Pre-Alpha
Brought to you by:
hugo_lec
From: Hugo L. <le...@lm...> - 2009-10-29 09:07:52
|
Salut, Dans Mat<double,Sym<>, SparseCholMod>, les comportements de - get_factorization - et solve ont changé : lors de l'appel de get_factorization, la factorization n'est pas refaite si elle a déjà été effectuée. Dans solve, on fait la factorisation si elle n'a pas déjà été faite. Par ailleurs, dès qu'on modifie la matrice, la factorisation est invalidée (et on libère la place en mémoire). En substance, il s'agit d'une sécurisation. Un des effets positifs est que si vous faites avec f une formulation f.assemble(); // -> K, F f.solve_system(); f.assemble( false, true ); // -> F f.solve_system(); f.assemble( false, true ); ... -> le K n'est factorisé qu'une fois : on repère de façon automatique que c'est suffisant... Hugo et Martin |