
Boost : 
From: Jens Maurer (Jens.Maurer_at_[hidden])
Date: 20010106 06:39:09
Dean Calver wrote:
> I think quaternions would be a good library to add to Boost. I (like
> everybody else it seems) have my own (well several actually).
I also support adding more numerics to boost. We already have
rational numbers for a start.
 This is the first time I hear about quarternions and octonions. You
may consider that a defect in my education. Anyhow, any such submission
should include some not too formal introduction telling what they are.
For example, for complex numbers, I would expect at least
z = a + b*i is a complex number for some reals a and b; treat "i" as
any variable and apply usual arithmetic rules except that i*i = 1.
(You may want to elaborate on sqrt and ln and exp as well.)
 In general, I prefer simple, platformindependent implementations
over overly complex ones, even though these may have better performance.
For example, a boost "bigint" library should use the obvious algorithms
and possibly optionally provide an interface to the GNU MP library for
those who need serious performance.
 All math classes should work together seamlessly: quarternions of
rationals of bigint's should be no problem.
> I also am wondering about numeric classes being added to Boost, I have
> numerous times written vector (mathematical) and matrix templates classes
> and they would seem to be obvious additions (I mean relatively simple matrix
> classes rather than blitz++ complexity) ideally we would want a generic
> tensor class. In almost all mathematically complex fields (personally I've
> needed them for graphics, physics, combinatrics, numerical analysis and even
> quantum computing) the need for the more complex (no pun intended) maths
> classes often occur.
The STL valarray specification seems to require some surgery (read: bugfixing)
as well. I would be pleased if any effort regarding boost vector/matrix
classes could have an eye on that (or state that valarray is completely
obsoleted by the vector/matrix classes).
Jens Maurer
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk