|
Boost : |
From: Deane Yang (deane_yang_at_[hidden])
Date: 2005-10-12 20:30:26
Noah Stein wrote:
> I agree completely that we're talking about a 1-dimensional geometry. I
> think the issue that people are arguing is, "What space are we using?" For
> some, like you and Matt Calabrese, the answer is an affine space.
> Unfortunately, affine spaces don't directly support point combinations, so
> you create a function that has no meaning in your chosen space.
>
> Others, such as I, view the natural geometry to be a Grassmann space which
> supports the addition and scalar weighting of points. Addition of points is
> a natural and proper operation. Unfortunately, the best discussion I've
> seen requires access to the ACM Digital Library:
> http://portal.acm.org/citation.cfm?id=504792 .
>
(long discussion omitted)
This is a very cool idea for those who are willing to understand the
geometry behind it all, but I suspect it's a little too mysterious for
most users of the units library. Also, don't you need to store two
numbers for each scalar quantity? Isn't that a little costly in both
space and computation time? I think your approach makes more sense for
points in more than one dimension, where storing n-dimensional points as
(n+1)-vectors is less costly.
I don't really remember exactly what happened, but I think the last time
we discussed this, I finally decided that it would be best to just
implement a pure "vector quantity" library first. The "point quantity"
interface could be added later, if a consensus develops. Otherwise, each
of us can easily add our own layer on top of the vector quantity
library. (So I'm retracting what I said in my post responding to Andy
Little.)
I think this will provide a core library that will be useful to everyone.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk