From: Jens Maurer (Jens.Maurer_at_[hidden])
Date: 2001-01-06 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, platform-independent 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: bug-fixing)
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).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk