Don wrote:
Lars Kyllingstad wrote:
[...]
Searching dsource, I find that many nice modules and libraries have
been made already:
- MultiArray (Bill, Fawzi)
- dstat (dsimcha)
- blip (Fawzi)
- MathExtra, BLADE (Don)
- Scrapple/backmath (BCS)
- Scrapple/units (BCS)
- bindings to GSL, BLAS, etc.
- ...and probably more
Myself, I've written/ported some routines for numerical
differentiation and integration, one- and multi-dimensional
root-finding and some very basic linear algebra, but so far only for
personal use. Currently, I'm thinking of porting QUADPACK to D.
I think it would be really nice if many or all of the above mentioned
things could be collected in a single library, together with all kinds
of other stuff.
Yes. I have put all of my completed code into tango.math, and there's a
fair bit of Fawzi's code in there as well, now. There's a vague plan to
integrate Bill's stuff eventually, too.
Nice. There were some things in tango.math which I hadn't noticed. :)
But I guess at some point one has to draw the line as to what actually
belongs in a "standard library", and what should be put into a library
of its own. I'm not sure where that line goes, though.
Something that I think is true of all the libraries above, is that
almost none of the code cares if it is Tango or Phobos. But currently,
you have to choose, because there's nowhere to put common code.
One reason for that is probably that the math modules of Phobos and
Tango are written by you, and are more or less identical. ;) That fact
would also help to make a full-fledged scientific library independent of
whether Phobos or Tango is used.
[...]
So, what do you think? Am I making any sense? Am I the only one
interested in these things?
All of the above are, of course, my personal opinions. What are yours?
I agree with pretty much everything you've said. I think all that's
lacking is a bit of organisation. There are quite a lot of scientific
programmers here, including an impressive number of library developers.
We could really use a rallying point.
I wonder if it would make sense for Walter to create a NG dedicated to
scientific programming. digitalmars.D.sci or digitalmars.D.scientific or
digitalmars.D.math or similar.
I would certainly join it.
-Lars