Boost logo

Glas :

Re: [glas] dotc and dotu in glas

From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2006-05-04 02:49:42


  Hello,

Where could a vectorspace concept be used?

Iterative methods, time integration.

When I look at my own implementations for those, I think the following
list is pretty complete for linear system solvers with a single
right-hand side. (Although, for efficient implementation of gmres and
bicgstab(ell), we also need matrices for storing basis vectors and
matrix vector operations)

Operations:
Let v, and w be vectors, s a scalar.
v += w
v -= w
v += s*w
v -= s*w
v *= s
v /= s
s * v returning a vector expression
v / s returning a vector expression
v = vector expression

The following operations can be written as a combination of the previous
ones.
v - w returning a vector expression
v + w returning a vector expression
-v returning a vector expression

Creation of new containers (vectors in the vector space) for auxiliary
results.

inner_product(x,y) (can be implemented via dotc() or dotu() or dot() or
x^HERM * y or whathever syntax we decide to use when a Euclidean
vectorspace is used), where x and y belong to the same vectorspace.

bilinear_form(x,y) for x and y in a different vectorspace.

norm(x) (can be implemented using norm_2(x) when a Euclidean vectorspace
is used)

Can vectors x and y of different types below to the same vectorspace?
What about subspaces, etc.?

Karl