I started a clean repository and put it up on Github.

https://github.com/OdonataResearchLLC/linear-algebra

The library relies on a floating point routine library I've been developing.

https://github.com/OdonataResearchLLC/floating-point

Finally, if you want to run the unit tests, you'll need lisp-unit.

https://github.com/OdonataResearchLLC/lisp-unit

The library was originally written using literate programming, specifically the noweb dialect. Since moving to Windows, I've not had the best of luck with noweb executables. So, the literate source is very slightly out of sync with the lisp source. I've been slowly working on writing a lisp replacement for noweb because I'd like to continue developing the library using literate programming. If any of you want to use it and have patches, just submit them as patches on the lisp files and I'll worry about the literate source.

One last thing, I noticed that a unit test failed while preparing this. It appears that LispWorks does not have a (COMPLEX SINGLE-FLOAT) array type, it upgrades to T. SBCL does have that type. That failure can safely be ignored.

Please contact me with any questions or suggestions.

Thank you,

~ Tom
----------------------------------------------------------------
Thomas M. Hermann
Odonata Research LLC
http://www.odonata-research.com/
http://www.linkedin.com/in/thomasmhermann


On Fri, Mar 25, 2011 at 3:54 PM, Pascal Costanza <pc@p-cos.net> wrote:
Hi,

Thanks a lot for the fast response. Yes, I'm interested in taking a look at the document! Thanks for the offer...


Pascal

On 25 Mar 2011, at 14:57, Thomas M. Hermann wrote:

Pascal,

I have a library that is essentially a common lisp implementation of the BLAS. So, it is just the low level routines, nothing that you would find in the LAPACK. It is sequential. It works in any lisp implementation. I originally developed it using SBCL, but there is nothing SBCL specific in the code. I've compiled it using LispWorks and all of the unit tests pass. All of my development is now in LispWorks, so that is the platform that any further development will occur on.

There is no focus on performance whatsoever. In fact, I can almost guarantee that the performance is not good. My intent at this stage of development was to focus on correctness and the API, then focus on performance. I'd be happy to work with you on this.

I have a working draft of the documentation that I can send you. If you are interested in the code, I think the best way to share it would be through github.

Please let me know if you are interested and I will email you the documentation directly.

Best regards,

~ Tom
----------------------------------------------------------------
Thomas M. Hermann
Odonata Research LLC
http://www.odonata-research.com/
http://www.linkedin.com/in/thomasmhermann


On Fri, Mar 25, 2011 at 4:25 AM, Pascal Costanza <pc@p-cos.net> wrote:
Hi,

I am looking for a Common Lisp library that provides some essential mathematical matrix/vector operations. There seem to be a couple of offerings, but it seems hard to determine in what kind of state they are (without essentially trying them all one by one).

If anybody could share his/her experience, I would be very grateful.

Some (soft) requirements:
- It should be implemented in "pure" Common Lisp. Preferably no wrappers for libraries implemented in other languages.
- Preferably sequential, but parallel implementations may also be fine.
- Focus on performance (incl. low-level type declarations, for example).
- Preferred platform is LispWorks, but other Common Lisp implementations are also fine. Portability is not a high priority.


Thanks a lot in advance,
Pascal

--
Pascal Costanza, ExaScience Lab, Intel Belgium




_______________________________________________
pro mailing list
pro@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/pro


--
Pascal Costanza, ExaScience Lab, Intel