From: jhrwalter (walter_at_[hidden])
Date: 2002-01-19 10:24:29
--- In boost_at_y..., Toon Knapen <toon.knapen_at_s...> wrote:
> jhrwalter wrote:
> >>>as I know multiplication with a scalar is mathematically always
> >>>defined as left multiplication for vectors and matrices.
> >>theoretically scalar-matrix multiplication is commutative and
> > a * M
> >>== M * a.
> > Hm. I'm not sure, if the rhs is defined at all.
> check out
> for instance.
The 'Teubner Taschenbuch der Mathematik' defines a vector space and a
linear operator in the following way:
F is a field. G is a additive Abelian group. * is a function: (F, G) -
> G. The following laws hold:
For all alpha in F, a, b in G: alpha * (a + b) = alpha * a + alpha * b
For all alpha, beta in F, a in G: (alpha + beta) * a = alpha * a +
beta * a
For all alpha, beta in F, a in G: (alpha * beta) * a = alpha * (beta
For all a in G: 1 * a = a
V, W are vector spaces over F. A is a function: D (A) in V ->W.
A is a linear operator, iff
a) D(A) is a linear subspace of V
b) For all alpha, beta in F, a, b in D (A):
A (alpha * a + beta * b) = alpha * A (a) + beta * A (b)
Sorry, I do not see any right multiplication with a scalar here.
> > Division is another topic. We once discussed to introduce such a
> > division operator for accuracy reasons, although it's usually not
> > defined mathematically, too.
> what's the diff between M * ( 1 / a ) and M / a * 1
Multiplication with the reciprocal could have an greater rounding
error then division. OTOH the whole Fortran BLAS doesn't bother with
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk