← Back to team overview

dolfin team mailing list archive

Re: SORSolver dependency in real.cpp

 



On 14/12/10 16:13, Benjamin Kehlet wrote:
On 26 November 2010 00:04, Anders Logg<logg@xxxxxxxxx>  wrote:
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


It turns out Armadillo can not handle gmp types.
The Armadillo documentation says: "... type can be one of: char, int,
float, double, std::complex<double>, etc.". However, the promising
"etc." does not contain the gmp types.

Have you tried it with gmp types?

Garth

So, any other suggestions? Or should we leave as it is (ie. use real*)
and just clean up the code and add comments?

Benjamin



Follow ups

References