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 ]

Reply via email to