Looking for SciLib

dsimcha dsimcha at yahoo.com
Tue Dec 20 15:57:46 PST 2011


On 12/20/2011 5:58 PM, filgood wrote:
> or this?...seems contain further development
>
> https://github.com/cristicbz/scid
>
>

I mentored that GSoC project, so since people appear to be interested in 
it I'll give a status report.

The GSoC project was left in a somewhat rough/half-finished state at the 
end of GSoC because of several unanticipated problems and the ambitious 
(possibly overly so) nature of the project.  Cristi (the GSoC student I 
mentored) and I have been slowly improving things since the end of GSoC 
but both of us have limited time to work on it.

 From GSoC we got a solid set of matrix/vector containers and an 
expression template system.  AFAIK there are no major issues with these. 
  The expression template system supports addition, subtraction, 
multiplication and division/inversion with matrices, vectors and scalars.

The expression template evaluator works well for general matrix storage, 
but is badly broken for packed matrices (e.g. triangular, symmetric, 
diagonal).  Fixing this is time consuming but is a simple matter of 
programming.

I'm starting to implement Lapack wrappers for common matrix 
factorizations in scid.linalg.  These are tedious to write because of 
the obtuseness of the Lapack API and the need to support both a 
high-level interface and one that allows very explicit memory 
management.  Again, though, it's a simple matter of programming.

There are a few performance problems that need to be ironed out (though 
perhaps I should do some benchmarking before I claim so boldly that 
these problems are serious).  See 
https://github.com/cristicbz/scid/issues/77 .

After the above issues are resolved, I think the next thing on the 
roadmap would be to start building on this foundation to add support for 
higher level scientific computing stuff.  For example, I have a bunch of 
statistics/machine learning code (https://github.com/dsimcha/dstats) 
that was written before SciD existed.  I'm slowly integrating with 
SciD's current foundation and will probably merge it with SciD once SciD 
is more stable and bug-free.


More information about the Digitalmars-d mailing list