Very helpful. Thanks for clarifying.
On Fri, Oct 25, 2013 at 5:48 PM, Daniel Wheeler <daniel.wheel...@gmail.com> wrote: > On Thu, Oct 24, 2013 at 12:59 PM, Jon Alm Eriksen > <jon.alm.erik...@gmail.com> wrote: > >> Also, a completely unrelated question: >> Is the SimpleLUSolver really iterative? > > Not really. It is using a direct sparse solver, but mostly requires > more that one iteration due to round off in the direct solver. > >> It says in the documentation >> that it is a "wrapper for PySparse superlu.factorize()", but this >> documentation (http://pysparse.sourceforge.net/fact.html) lists it >> under direct solvers (isn't LU factorisation just a way to invert the >> matrix and solve the equation directly anyways?). What confuses me is >> that SimpleLUSolver takes tolerance and iterations arguments. How does >> it work? > > A few iterations are typically done with LU outside of the direct solve. See > > > http://matforge.org/fipy/browser/fipy/fipy/solvers/pysparse/linearLUSolver.py#L94 > > It is often just one or two as I recall for most systems. Round off > prevents immediate convergence (if I'm recalling correctly). See p8 of > > http://bit.ly/1c52Jgk (PDF of the superLU user guide) > > It seems like it's referring to what we are doing in the code above. > So yes, superLU is direct but sometime requires more than one shot to > reduce the error enough. The LinearLUSolver iterations are obviously > different from iterations in a regular iterative solver. Hope that > helps. > > -- > Daniel Wheeler > _______________________________________________ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]