February 20, 2008 Re: Linear system solver in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to BCS | BCS wrote: > Reply to Guillaume B., > >> lp_solve is nice too: http://lpsolve.sourceforge.net/5.5/ ... and it >> can read many file formats... >> >> Guillaume >> > > how is it's API? What I'll have is an array of real's in memeory. > > Hmm that's a though, does anyone know if any of the listed libs work with 80bit FP? > > Guiallumes link looks to be for integer programming, not floating point calcs. LAPACK or something that wraps it is what you want. I highly recommend you look at the BLASLAPACK dir of dsource/projects/multiarray. The LAPACK wrappers have been tested on both Windows and Ubuntu. I have instructions in both dirs for how to install in either case, and there's a simple test program there that does a linear solve on a small matrix. http://www.dsource.org/projects/multiarray/browser/trunk/multiarray/BLASLAPACK/lapacktest.d The blas and lapack are separate from the rest of multiarray, so you can just check out that BLASLAPACK dir and be good to go. --bb |
February 20, 2008 Re: Linear system solver in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote: > BCS wrote: >> Reply to Guillaume B., >> >>> lp_solve is nice too: http://lpsolve.sourceforge.net/5.5/ ... and it can read many file formats... >>> >>> Guillaume >>> >> >> how is it's API? What I'll have is an array of real's in memeory. >> >> Hmm that's a though, does anyone know if any of the listed libs work with 80bit FP? >> >> > > Guiallumes link looks to be for integer programming, not floating point calcs. LAPACK or something that wraps it is what you want. > > I highly recommend you look at the BLASLAPACK dir of dsource/projects/multiarray. The LAPACK wrappers have been tested on both Windows and Ubuntu. I have instructions in both dirs for how to install in either case, and there's a simple test program there that does a linear solve on a small matrix. > > http://www.dsource.org/projects/multiarray/browser/trunk/multiarray/BLASLAPACK/lapacktest.d > > The blas and lapack are separate from the rest of multiarray, so you can just check out that BLASLAPACK dir and be good to go. > > --bb It actually supports floating points number... And if your C compiler supports 80 bits floating point, you can probably compile it to support it since the functions are like this: unsigned char add_constraint(lprec *lp, REAL *row, int constr_type, REAL rh); Although by default, REAL is probably a typedef for double. And lp_solve is actually a solver for Linear Programs... It's an optimizer, not a simple solver for a system of linear equations... It's to solve things like this: maximize 143x + 60y where 120x + 210y <= 15000 110x + 30y <= 4000 x + y <= 75 x >= 0 y >= 0 So it might not be exactly what you want... You can see an example problem (the explanations are very good) with an example of the C API there: http://lpsolve.sourceforge.net/5.5/formulate.htm Hope this helps! Guillaume |
Copyright © 1999-2021 by the D Language Foundation