On 26 November 2010 00:04, Anders Logg <[email protected]> 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<[email protected]> 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. So, any other suggestions? Or should we leave as it is (ie. use real*) and just clean up the code and add comments? Benjamin _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

