#include <vector_concepts.hpp>
Public Member Functions | |
axiom | ConjugateSymmetry (I inner, Vector v, Vector w) |
The arguments can be changed and the result is then the complex conjugate. | |
axiom | SequiLinearity (I inner, Scalar a, Scalar b, Vector u, Vector v, Vector w) |
The inner product is linear in the second argument and conjugate linear in the first one. | |
axiom | NonNegativity (I inner, Vector v, MagnitudeType< Scalar >::type magnitude) |
The inner product of a vector with itself is not negative. | |
axiom | NonDegeneracy (I inner, Vector v, Vector w, Scalar s) |
Non-degeneracy not representable with axiom. | |
Public Attributes | |
associated_type | magnitude_type |
Associated type: the real magnitude type of the scalar. |
Semantic requirements of a inner product
I | The inner product functor | |
Vector | The the type of a vector or a collection | |
Scalar | The scalar over which the vector field is defined |
axiom math::InnerProduct< I, Vector, Scalar >::ConjugateSymmetry | ( | I | inner, | |
Vector | v, | |||
Vector | w | |||
) | [inline] |
The arguments can be changed and the result is then the complex conjugate.
inner(v, w) == conj(inner(w, v));
axiom math::InnerProduct< I, Vector, Scalar >::SequiLinearity | ( | I | inner, | |
Scalar | a, | |||
Scalar | b, | |||
Vector | u, | |||
Vector | v, | |||
Vector | w | |||
) | [inline] |
The inner product is linear in the second argument and conjugate linear in the first one.
The equalities are partly redundant with ConjugateSymmetry
inner(v, b * w) == b * inner(v, w);
inner(u, v + w) == inner(u, v) + inner(u, w);
inner(a * v, w) == conj(a) * inner(v, w);
inner(u + v, w) == inner(u, w) + inner(v, w);
axiom math::InnerProduct< I, Vector, Scalar >::NonNegativity | ( | I | inner, | |
Vector | v, | |||
MagnitudeType< Scalar >::type | magnitude | |||
) | [inline] |
The inner product of a vector with itself is not negative.
inner(v, v) == conj(inner(v, v)) implies inner(v, v) is representable as real
magnitude_type(inner(v, v)) >= zero(magnitude);
axiom math::InnerProduct< I, Vector, Scalar >::NonDegeneracy | ( | I | inner, | |
Vector | v, | |||
Vector | w, | |||
Scalar | s | |||
) | [inline] |
associated_type math::InnerProduct< I, Vector, Scalar >::magnitude_type |
Associated type: the real magnitude type of the scalar.
By default RealMagnitude<Scalar>::type
math::InnerProduct< I, Vector, Scalar > Struct Template Reference -- MTL 4 -- Peter Gottschling and Andrew Lumsdaine
-- Generated on 19 May 2009 by Doxygen 1.5.5 -- Copyright 2007 by the Trustees of Indiana University.