MTL 4: math::Norm< N, Vector, Scalar > Struct Template Reference
#include <vector_concepts.hpp>
Public Types | |
| typedef associated_type | magnitude_type |
| Associated type to represent real values in teh Field of scalar (with default). | |
| typedef associated_type | result_type_norm |
| Associated type for result of norm functor. | |
Public Member Functions | |
| axiom | Positivity (N norm, Vector v, magnitude_type ref) |
| Invariant: norm of vector is larger than zero. | |
| axiom | PositiveHomogeneity (N norm, Vector v, Scalar a) |
| Invariant: positive homogeneity with scalar. | |
| axiom | TriangleInequality (N norm, Vector u, Vector v) |
| Invariant: triangle inequality. | |
Semantic requirements of a norm
| N | Norm functor | |
| Vector | The the type of a vector or a collection | |
| Scalar | The scalar over which the vector field is defined |
| typedef associated_type math::Norm< N, Vector, Scalar >::magnitude_type |
Associated type to represent real values in teh Field of scalar (with default).
By default MagnitudeType<Scalar>::type
| typedef associated_type math::Norm< N, Vector, Scalar >::result_type_norm |
Associated type for result of norm functor.
Automatically detected
| axiom math::Norm< N, Vector, Scalar >::PositiveHomogeneity | ( | N | norm, | |
| Vector | v, | |||
| Scalar | a | |||
| ) | [inline] |
Invariant: positive homogeneity with scalar.
norm(a * v) == abs(a) * norm(v);
| axiom math::Norm< N, Vector, Scalar >::Positivity | ( | N | norm, | |
| Vector | v, | |||
| magnitude_type | ref | |||
| ) | [inline] |
Invariant: norm of vector is larger than zero.
norm(v) >= zero(ref);
| axiom math::Norm< N, Vector, Scalar >::TriangleInequality | ( | N | norm, | |
| Vector | u, | |||
| Vector | v | |||
| ) | [inline] |
Invariant: triangle inequality.
norm(u + v) <= norm(u) + norm(v);
math::Norm< N, Vector, Scalar > Struct Template Reference -- MTL 4 -- Peter Gottschling and Andrew Lumsdaine
-- Gen. with
rev. 7542
on 7 Apr 2011 by doxygen 1.5.9 -- © 2010 by SimuNova UG.