The Vish Visualization Shell 0.3
Vish
Public Member Functions | Friends | List of all members
Eagle::STA::CartesianChart4D< real >::vector Class Reference

4-dimensional vector. More...

#include <elementary/eagle/STA.hpp>

Inheritance diagram for Eagle::STA::CartesianChart4D< real >::vector:

Public Member Functions

vector inv () const
 Compute the inverse vector $ v^{-1} = v/|v|^2 $.
 
vector operator() (const vector &v) const
 Compute nvn, which is the reflection of the vector v along the current vector n.
 
trivector operator* () const
 star operator: Compute dual tri-vector
 
 vector ()
 Evil default constructor.
 
 vector (const Base_t &V)
 Constructor from base class.
 
 vector (const bivector &B, const vector &v)
 Construct vector as inner product of bivector and vector.
 
 vector (const point &l, const point &r)
 Construct vector as subtraction of two points.
 
template<OperatorID_t CompType>
 vector (const vector &l, const Operator< CompType > &C, const double &scalar)
 Generic computational vector-scalar constructor.
 
template<OperatorID_t CompType>
 vector (const vector &l, const vector &r, const Operator< CompType > &C)
 Generic computational constructor of two vectors.
 
 vector (const vector &v)
 Copy constructor.
 
 vector (double t, const PhysicalSpace::vector &v)
 Construct from time and spatial vector.
 
 vector (double t, double x, double y, double z)
 Component-wise construction.
 

Friends

double dot (const vector &a, const vector &b)
 Compute the Euclidean dot product (inner product) of two vectors.
 
double norm (const vector &v)
 Compute the Euclidan norm of a vector. Note that if just the square of the norm is required, then function norm2() is more efficient since the square root does not need to be taken.
 
double norm2 (const vector &v)
 Compute the squared norm of a vector v, i.e. v.v.
 
template<class T >
vector operator* (T scalar, const vector &v)
 Multiply scalar with a vector, yielding a vector.
 
vector operator- (const vector &l, const vector &r)
 Subtraction operator.
 
template<class T >
vector operator/ (const vector &v, T scalar)
 Divide a vector by a scalar.
 

Detailed Description

template<class real>
class Eagle::STA::CartesianChart4D< real >::vector

4-dimensional vector.

Constructor & Destructor Documentation

◆ vector() [1/2]

template<class real >
Eagle::STA::CartesianChart4D< real >::vector::vector ( const Base_t &  V)
inline

Constructor from base class.

Note that this constructor is implicit, whereas the base class constructor is explicit.

◆ vector() [2/2]

template<class real >
Eagle::STA::CartesianChart4D< real >::vector::vector ( )
inline

Evil default constructor.

Not sure if it should do anything or nothing. Primary purpose is for use within arrays. The user shouldn't expect uninitialized variables to contain anything useful.