← Back to team overview

dolfin team mailing list archive

Re: SORSolver dependency in real.cpp

 

On Thu, Nov 25, 2010 at 11:02:54PM +0000, Garth N. Wells wrote:
>
>
> On 25/11/10 22:48, Benjamin Kehlet wrote:
> >On 25 November 2010 23:29, Garth N. Wells<gnw20@xxxxxxxxx>  wrote:
> >>
> >>
> >>On 25/11/10 20:17, Anders Logg wrote:
> >>>
> >>>On Thu, Nov 25, 2010 at 05:55:36PM +0000, Garth N. Wells wrote:
> >>>>
> >>>>
> >>>>On 25/11/10 17:34, Anders Logg wrote:
> >>>>>
> >>>>>On Thu, Nov 25, 2010 at 05:07:40PM +0000, Garth N. Wells wrote:
> >>>>>>
> >>>>>>There is a dependency on
> >>>>>>
> >>>>>>    dolfin/ode/SORSolver.h
> >>>>>>
> >>>>>>in dolfin/common/real.cpp. This seems odd to me. Is there a reason for
> >>>>>>it?
> >>>>>>
> >>>>>>Garth
> >>>>>
> >>>>>real.h/cpp provide some basic algorithms that work on high precision
> >>>>>floats. One of these is the matrix exponential which is computed by a
> >>>>>rational approximation, hence the need for solving a linear system.
> >>>>>
> >>>>>The SORSolver is the only solver in DOLFIN that handles high precision
> >>>>>floats (uBLAS etc can't be used).
> >>>>
> >>>>What is the typical system size?
> >>>>
> >>>>Garth
> >>>
> >>>We have used it for (dense) matrices of size up to 100 x 100 for
> >>>computing quadrature weights etc for the cG(100) method.
> >>>
> >>
> >>You could try Armadillo? I guess it can be templated over the higher
> >>precision floats.
> >
> >Yes. With uBLAS the problem was that, even if it is templated, it
> >relied on non-templated code (eg. stuff in cmath).
> >Also Peter Gottschling claims that MTL4 can do this. Maybe it is worth a try?
> >
>
> I would try Armadillo since it's already a required dependency, and
> it's targeted more at dense problems than MTL4 is.
>
> Garth

Agree.

--
Anders



Follow ups

References