Discuss: Code copyright and legal issues

Pages: 1234
1
2
struct Row { int v; }; // overload operators and such
struct Col { int v; };


Would be a more appropriate example.

You'd add a Row_t to a Col_t on the same day that you'd add a point to a vector.

You can add a point to a vector though. So it wouldn't be the same day. Is this an attempt to over exaggerate again?
In my example you can also add a Row_t to a Col_t. Your example is the exaggeration, I believe. My point was that just because you can doesn't mean it always makes sense to.
Last edited on
There may be overlap, and instances where you can call vectors points, and points vectors, but there are differences between the mathematical meanings and definitions of the terms point and vector. For example points in geometry don't have direction or magnitude. Adding a point to a vector should give a type error in strict mathematical sense.
Last edited on
For example points in geometry don't have direction or magnitude.
Sure they do. The direction is some trigonometric combination of their coordinates, and the magnitude is the norm.
I should point out that not all vectors have direction.

The only real difference between points and vectors is that you can make vectors out of things that don't make sense geometrically, such as R[X]^2, or string^2.
Last edited on

1. He says vectors are different from points, and even dares to use different notation for points and vectors. That is complete bs, vectors are simply points in a vector space (by definition). So, I have to use angle brackets for vectors and regular parenthesis for points, just to be in line with the textbook. What nonsense and extra unneeded work!

Vectors and points are different things.

No they aren't. Think of it in C++ terms: a good way to model it is that a vector is a template specialization of the point class. For example, one good way to do it: a point is:
1
2
3
4
5
6
7
template <typename space>
class point{
public:
//implement your point however you wish, 
//most likely using a std::vector or a custom sparse vector class 
space* ownerSpace;
}

Then a vector is simply:

 
point<VectorSpace> myVector;

where VectorSpace is a particular class which is implemented elsewhere (and studied in Linear algebra). In C++ terms, a vector is a specialization of the point class. Saying that a vector is not the same as a point, while acceptable for a student who has just read that in a textbook (contradicting his linear algebra textbook), is completely not acceptable for a professional mathematician, what an author of a textbook is supposed to be.



6. He says "traces" - instead of "level curves", "horizontal slices" or "horizontal cross-sections". Trace is a mathematical term reserved for the sum of the diagonal elements of a square matrix.

A level curve is a trace, but a trace is not necessarily a level curve. Many terms are different when applied to different objects. A trace of a surface is different than the trace of a matrix. I suspect that it's use in linear algebra as a property of a matrix came after.


You are citing Stewart, and that is understandable. In place of "traces", he may as well use the words "shapes", "forms", "cross sections", "cross-section projections" (all of these are better choices than "traces" by the way), as well as "little green men", "my favorite invented word as confusing as it can be and as contradicting standard mathematical terminology as possible".

In case you are wondering, "traces" are not used to denote what Stewart is calling "traces" in Bulgarian, Russian (like many Bulgarians, most of my math textbooks were in Russian), German, or English*.

*if you read textbooks written by people who actually know a little math.


By the way, the mathematical position/authority/fame of a person should not come into play when discussing mathematics. However, I am sure that will eventually pop up down the line. So, to counter that before it happens, let me approximately cite a conversation between my math department chair and myself.

Department chair: "So, did you look at Stewart's definition of a continuous function?"
Me: "Why, what's wrong with it?"
Department chair: "It's incorrect."
Me: "Well, I read it and it look OK."
Department chair: "Oh I see, it's the new edition. So, Stewart finally learned the definition!"


Last edited on
where VectorSpace is a particular class which is implemented elsewhere (and studied in Linear algebra). In C++ terms, a vector is a specialization of the point class. Saying that a vector is not the same as a point, while acceptable for a student who has just read that in a textbook (contradicting his linear algebra textbook), is completely not acceptable for a professional mathematician, what an author of a textbook is supposed to be.

Do you realize how ridiculous this sounds. You are arguing that points and vectors are the same thing based on so called "C++" terms. Saying that a vector and a point are the same thing is not acceptable in math (including linear algebra), and acceptable in "C++" terms only when it is safe to ignore the difference. Math is about precision of meaning in a very strict sense.

http://math.stackexchange.com/questions/645672/what-is-the-difference-between-a-point-and-a-vector

I know what you are arguing is that a point is just an element of a set, and in particular a vector is an element/point in a vector space, so they are the same thing. But by this logic, everything in existences is the same thing as a point. Sure in the context of set theory, everything is a point in the set it belongs to. A dog in DOGS is a point. So why do we have to do math with geometrical points and dogs as separate things. Why can't we just replace all points with dogs?

Your first point of confusion is you assume that "is a" is symmetric. The second is you are misunderstanding the difference between a geometric point and a point in set theory. Even using the term point in the context of set theory, you can say a cat is a point, but you can't say a point is a cat. That would imply that all points are cats, then so is a dog.
Last edited on
http://math.stackexchange.com/questions/645672/what-is-the-difference-between-a-point-and-a-vector
That may very well be the stupidest argument I've ever seen. He's basically arguing that 7 and +7 are somehow different entities.

I know what you are arguing is that a point is just an element of a set, and in particular a vector is an element/point in a vector space
A point isn't an element of just "a set". It's an element of the same set a vector is an element of.

A dog in DOGS is a point.
Only if DOGS is a topological space, which I'm guessing it's not.

This is all very simple. Instead of arguing with absurd analogies, let's just look at the definitions.
Point: Unfortunately, points aren't very rigorously defined. This is the best I can find: http://en.wikibooks.org/wiki/Geometry/Points,_Lines,_Line_Segments_and_Rays#Point
A point is an exact location in space.

Vector:
Euclidean vector: a geometric entity endowed with magnitude and direction as well as a positive-definite inner product; an element of a Euclidean vector space.
> (you wouldn't) add a point to a vector.
>> You can add a point to a vector though
>>> just because you can doesn't mean it always makes sense to.
>>>> Adding a point to a vector should give a type error in strict mathematical sense.
translation
@htirwin:

You are completely correct, in mathematics, the expression "point (in a space)" is synonymous to the word "element (of a set)".

There is no such terminology as "geometric point". The terminology "geometric vector" is simply confusing and inaccurate and should be avoided. The "displacement vector" referred to by Stewart is not a vector. It models a force applied to a point. In Bulgarian, that is called an "arrow" by physicists (to avoid confusing it with a "vector"). That object is very different from vector, and the point of application matters. When adding arrows based at different points, the resulting arrow has an application point different from the bases of the two original arrows.

The "geometric point" terminology stems from misunderstanding of the terminology of Euclidean geometry. Such misunderstanding often occurs to lower level educators such as Stewart.

Last edited on
That may very well be the stupidest argument I've ever seen. He's basically arguing that 7 and +7 are somehow different entities.

3:30 PM is not the same thing as a duration of 3 minutes and 30 seconds.

A point isn't an element of just "a set". It's an element of the same set a vector is an element of.

A point in set theory is an element of a set, and that is the way the term is used in linear algebra. <1,6> \in R2, 1.2 \in R, 1 \in Z, 5 \in N, * \in {*,^}, cat \in CATS.

Only if DOGS is a topological space, which I'm guessing it's not.

In set theory a point is an element of a set.
Last edited on
http://math.stackexchange.com/questions/645672/what-is-the-difference-between-a-point-and-a-vector

I will denote the objects called by this guy "vectors" by using quotes.

The argument of the guy is valid, and can in fact be made into a strict mathematical statement. In his words, "vectors" are operators:

+7 (read as addition by 7) is the function which takes as argument x and replaces it by x+7.*

7 is the number 7.*

His definition is perfectly sound: his "vectors" are operators, and points are elements on which the "vectors" act. The only problem with this definition is that it is not the commonly accepted definition of a vector. It is the definition of translation operator acting in a vector space. Translation operators form a vector space themselves, however a completely different one from the space on which they act. Now, that a physicist is not versed in the math terminology and thinks that a translation operator in a vector space should be called a "vector" while vectors in the vector space should be called "points" - I guess that is OK, although it is not the terminology that is accepted by people who are educated in mathematics.

Stewart has no excuse however.


*Notice how in two sentences I summarized the two-screens of post of that guy. Being educated in mathematics has its benefits.
Last edited on
3:30 PM is not the same thing as a duration of 3 minutes and 30 seconds.
What exactly is a duration? Is it [0; "3 minutes and 30 seconds"]? If so, then I agree, they are not the same, but it's an irrelevant comparison, as vectors are not sets.
Does a duration have no dimensions? If so, then what exactly distinguishes one from any given time? The argument given in that link is that I can't add two times; well, who says I can't? Who says I can't do 2014-10-10T18:26:00Z + 2014-10-11T18:26:00Z and obtain some time far off into the future? Does it make sense? Yes, because I can then divide by two and obtain the middle time.
helios,

the discussion is about the difference between a translation operator (+7) and the number 7. The two are completely different. In C++ terms, +7 is the function:
1
2
3
int addSeven(int x) 
{return x+7;
}

while 7 is simply int 7;.

Translation operators can be added. That would be very hard to model in the above realization of the translation operator in C++. Vectors ("points" in the terminology of the confused physicist) can be added too. The addition of the translation operators is **defined** via the addition of vectors ("points" in the confused fellow's terms).


[Edit:] Just take a look at how many confused botched up posts are there in the link of htirwin:

http://math.stackexchange.com/questions/645672/what-is-the-difference-between-a-point-and-a-vector

This show the deep educational damage done by the likes of Stewart, and it shows how important it is to have accurate, well written textbooks.
Last edited on
If you're going to bring in C++ I should mention that the unary prefix + operator can be overloaded in C++.
The unary +7 is not the same as the (one dimensional) translation operator +7. The two are written the same way but are completely different mathematical objects. C++ luckily never made a promise to follow notation conventions of math.
Last edited on
the discussion is about the difference between a translation operator (+7) and the number 7. The two are completely different.
I got that. I'm arguing that the word "duration" is being used in a very novel sense, which is partly why the argument makes no sense. Yes, I agree that one could produce a mathematical framework in which it would be consistent, but you'd still have the problem where, unintuitively, subtracting two times or measuring something would get you a function. It's not wrong, it's just stupid, and it's not the way anyone actually works with these things.
@helios: Totally agree, the word "duration" is heavily abused by the said authors (as well as the majority of the dictionary in the said post). Basically the entire stackexchange post (the second answer) is a demonstration of abuse of English language in the interest of making one's self sound more important without doing any real mental work.

The distinction between operators on a space and elements of the space is important. For example, one of the tricks of analytical mechanics is you show that every motion in 3d space can be decomposed by a single translation operation together with rotation about the axis of translation. When you work out how rotations interact with translations, it turns out that the most useful way to do it is by 4x4 matrices (not 3x3). When you do that, you will find out that translations are naturally represented as 4x4 matrices with 7 nonzero entries. This would be completely puzzling if you thought of translations as elements of the space (and you shouldn't), but is not surprising at all if you understand that they are operators (so, no wonder they are written with matrices).

Reference:

http://en.wikipedia.org/wiki/Translation_(geometry)

Last edited on
Okay, I think I got it. This might be what they were talking about:
http://en.wikipedia.org/wiki/Affine_space
The StackExchange post is still pretty bad because the poster chose time as an example. Written time is closer to a vector space, since by convention we do choose a point of origin, not to mention that there's obvious positive and negative directions on the time line.
What say you, tition?
The strangest thing is that this morning in my computer graphics class, the beginning was about vectors and points and their differences.

Afffine space is a vector space extended to include both point and vector objects. Vectors can represent directions, velocities, forces, displacements, etc. Points are locations in space and nothing more. This is how they are defined in computer graphics/linear algebra, and also in physics and calculus.

Vectors and points are clearly different things. Vectors do not even need to start at the origin. Especially in Calculus, the distinction between a point and a vector is very important. Especially when you are talking about things like force fields, curl, flow, etc.


What exactly is a duration? Is it [0; "3 minutes and 30 seconds"]? If so, then I agree, they are not the same, but it's an irrelevant comparison, as vectors are not sets.

It's a great example to help someone confused understand the differences between vectors and points. A point can be a moment in time. A vector can be a length of time. A vector does not need to start at the origin.

You could also say a point could be a specific color, while a vector can be an amount of shift in color. You cannot derive a specific color simply from an amount of shift in color. You need a point to define the color you are shifting, then after add the amount to shift by and end up at a new color.

In layman's terms, you can think of a vector as an arrow.

I'm arguing that the word "duration" is being used in a very novel sense

How is the use novel? It is as standard as can be.

Here are some links that reiterate the difference between points and vectors.

https://www.cs.oberlin.edu/~bob/cs357.08/VectorGeometry/VectorGeometry.pdf
http://www.cs.tufts.edu/~sarasu/courses/comp175-2010fa/pdf/comp175-06-transformations-6up.pdf
http://web.cs.wpi.edu/~gogo/courses/cs543/slides/cs543_06_Vectors.pdf
http://math.hws.edu/graphicsnotes/c3/s1.html
http://chortle.ccsu.edu/vectorlessons/vectorindex.html
Last edited on
Vectors do not even need to start at the origin.
I still have to disagree. Vectors are simply two or more numbers stapled together. The fact that you use the word "start" tells me that you're still thinking of vectors as "arrows" in space, which is just not the case. Saying that a vector doesn't need to start at the origin is like saying that 42 doesn't need to start at 0.

Especially when you are talking about things like force fields, curl, flow, etc.
A vector function is just a function that gives you two or more numbers. The way it's usually graphed, as a sort of flow of arrows, is just a convenient representation. The vectors don't actually "start" where you evaluate the function, because that doesn't have any meaning.
Pages: 1234