# Boost :

From: jhrwalter (walter_at_[hidden])
Date: 2002-01-24 05:38:03

--- In boost_at_y..., Jeremy Siek <jsiek_at_c...> wrote:
> On Sat, 19 Jan 2002, jhrwalter wrote:
> walter>
> walter> The 'Teubner Taschenbuch der Mathematik' defines a vector
space and a
> walter> linear operator in the following way:
> walter>
> walter> Vector space
> walter>
> walter> F is a field. G is a additive Abelian group. * is a
function: (F, G) -
> walter> > G. The following laws hold:
> walter> a) distributive
> walter> For all alpha in F, a, b in G: alpha * (a + b) = alpha * a
+ alpha * b
> walter> For all alpha, beta in F, a in G: (alpha + beta) * a =
alpha * a +
> walter> beta * a
> walter> b) associative
> walter> For all alpha, beta in F, a in G: (alpha * beta) * a =
alpha * (beta
> walter> * a)
> walter> c) identity
> walter> For all a in G: 1 * a = a
> walter>
> walter> Sorry, I do not see any right multiplication with a scalar
here.
>
> I wouldn't worry to much about precisely following the above
definitions
> because there are slighly conflicting definitions in the literature.
>
> For example, in van der Waerden's classic "Algebra" volume 1, he
refers to
> the above as a left vector space. He also defines right vector
spaces
> (with multiplication on the right) and uses just plain "vector
space" as a
> synonym for right vector space, not left. Also, he says that when
the
> field is communtative, then there is no need to distinguish between
left
> and right vector spaces, which makes sense to me.

Agreed, it's a matter of definition (and habit ;-).

> Since the fields we typically deal with (like floats) are
commutative,
> then I don't see a good reason for only providing left
multiplication. It
> is just going to confuse people (like it already has) when they get
a
> compiler error. The performance pessimization in some situations is
an
> issue, but experienced programmers can deal with this and learn how
to
> order things. I'd rather make sure that things work in an intuitive
way
> for beginners.

Since I'm starting to see that there could be non-standard
applications of matrices too, we should consider to add right
multiplication with scalars.

Regards

Joerg