> > [...] > > > >>> > >>> The Quaternionn class should be placed in the > >>> geometry.euclidian.threed > >>> package. > >> > >> I'd propose to put it in the "complex" package. It would thus > >> stand out as a > >> mathematical concept of its own, as you suggest above. > > > > I agree with Gilles here. If you intend to have a quaternion that > > is the mathematical object, it should not be in threed. > > Quaternions in 3D are only rotation quaternions. General > > quaternions are much closer to Complex as Gilles said or to 4th > > dimension space, which is probably not widespread enough to set up > > a specific package, so they should be elsewhere. > > +0 - should definitely not be in g.e.threed; but complex is not a > perfect fit either. What exactly are the expected applications? > If there are enough of them to include the new object, it may make > sense to just make quaternion its own package, which could arguably > fit inside a) linear, b) geometry or c) complex. I suspect the > primary applications are likely going to be in geometry, so it may > make sense to place them there.
As it can be defined in the same terms as a complex number, without referring to geometry, I wouldn't say that that package is the best fit. >From Wikipedia (first sentence): "In mathematics, the quaternions are a number system that extends the complex numbers." >From MathWorld (in the first paragraph): "[..] and the quaternions are a single example of a more general class of hypercomplex numbers discovered by Hamilton." I don't think that there should be a package for each class: complex.Complex quaternion.Quaternion What next? If implemented, all "hypercomplex" classes should feel at home in the "complex" package. Gilles --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org