
On Sun, 7 Nov 2004 00:26:26 +0000, Valentin Samko <boost@digiways.com> wrote:
MW> The Euclidean space is E^3, the vector space is R^3. MW> Please see: http://www.ma.umist.ac.uk/kd/curves/node3.html MW> Note also: "Not all books make this distinction so you need to be MW> prepared to encounter the unstated identification E^3 = R^n" MW> Mathworld is using this _unstated_ _identification_; it is imprecise at least.
It's not just Mathworld, it's thousands of books/articles. In any case, don't we assume, the gui library will use R^2 space? Most of the books/articles I have seen so far regard points as something different than vectors. It is even the way it's taught in High School ;-)
Usually you will read something like "a point can be specified/represented by a vector" (identification E^3=R^3). Everything else uses abovementioned identification, which, when unstatedly used, is at least imprecise.
In C++ sence - yes, it's a different point. In mathematical sense, point-point depends on how this operation is defined in your particular space, and in Euclidean space, the result of this operations is the same as difference of corresponding vectors. MW> Yes. But the result is a *vector*. IOW, the difference between 2 MW> points is a mapping from two points in Euclidean space to a vector in MW> a vector space: MW> difference :: E^n x E^n -> R^n I just do not get this. Why would you have a difference between two points in E^n defined as a point in R^n? Please read what I wrote: ".. to a vector in a vector space.". R^n is a *vector* space, hence the difference between two points in E^n is a *vector* in R^n.
MW> difference :: E^n x E^n -> R^n This is analogue to: vector<n> difference(point<n>, point<n>); in C++ (the point being that it is not a "C++ sense" thing, but that it naturally occurs like this in C++ because it represents the mathematical idea behind it).
Now, you can state the identification between points and vectors: E^n = R^n Again, in C++: typedef vector<n> point<n>; Cheers, Michael