Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.5new_solver
      Class Index
      File List
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads

Three dimensional vector. More...

#include <vec3d.hpp>

Public Member Functions

 Vec3D (double x)
 
 Vec3D (double x, double y)
 
 Vec3D (double x, double y, double z)
 
 Vec3D (const class Vec4D &vec)
 
 Vec3D (std::istream &s)
 
double & operator[] (int i)
 
const double & operator[] (int i) const
 
double & operator() (int i)
 
const double & operator() (int i) const
 
Vec3D operator+ (const Vec3D &vec) const
 Vector addition More...
 
Vec3D operator- (const Vec3D &vec) const
 Vector difference More...
 
Vec3Doperator+= (const Vec3D &vec)
 Vector accumulation More...
 
double operator* (const Vec3D &vec) const
 Dot product. More...
 
Vec3D operator* (double x) const
 Vector scaling. More...
 
Vec3D operator- (void) const
 Unary minus. More...
 
Vec3Doperator*= (double x)
 Vector scaling. More...
 
Vec3Doperator/= (double x)
 Vector scaling with divisor. More...
 
bool operator!= (const Vec3D &x) const
 Inequality test. More...
 
bool operator== (const Vec3D &x) const
 Equality test. More...
 
bool approx (const Vec3D &x, double eps=1.0e-6) const
 Approximate equality test. More...
 
Vec3Doperator= (const Vec3D &x)
 Assignment. More...
 
Vec3Doperator= (const double &x)
 Assignment of every coordinate. More...
 
void abs (void)
 Calculate absolute value of each component. More...
 
void normalize (void)
 Normalize vector. More...
 
double norm2 (void) const
 Returns 2-norm of vector. More...
 
double max (void) const
 Returns inf-norm of vector. More...
 
double ssqr (void) const
 Returns square of 2-norm of vector. More...
 
int min_element (void) const
 Returns the index of element with minimum magnitude (abs). More...
 
Vec3D arb_perpendicular (void) const
 Returns arbitrary vector perpendicular to input vector. More...
 
void save (std::ostream &os) const
 Saves data to stream os. More...
 

Static Public Member Functions

static Vec3D standard_basis (int i)
 Returns standard basis vector i. More...
 

Friends

Vec3D cross (const Vec3D &vec1, const Vec3D &vec2)
 Cross product. More...
 
double norm2 (const Vec3D &vec)
 Second norm of vector. More...
 
double ssqr (const Vec3D &vec)
 Sum of squares or square of 2-norm of vector. More...
 
Vec3D operator* (double x, const Vec3D &vec)
 Vector scaling. More...
 
Vec3D operator* (double x, const class Int3D &i)
 Vector scaling for integer vector. More...
 
std::ostream & operator<< (std::ostream &os, const Vec3D &vec)
 Outputting to stream. More...
 

Detailed Description

Three dimensional vector.

Member Function Documentation

void Vec3D::abs ( void  )
inline

Calculate absolute value of each component.

bool Vec3D::approx ( const Vec3D x,
double  eps = 1.0e-6 
) const

Approximate equality test.

Does not require exact equality, but absolute or relative error less than eps (which ever is less strict). Be careful using this function!

Vec3D Vec3D::arb_perpendicular ( void  ) const

Returns arbitrary vector perpendicular to input vector.

double Vec3D::max ( void  ) const

Returns inf-norm of vector.

Returns maximum component of vector.

int Vec3D::min_element ( void  ) const

Returns the index of element with minimum magnitude (abs).

double Vec3D::norm2 ( void  ) const
inline

Returns 2-norm of vector.

$ ||x||_2 = \sqrt{ \Sigma_{i=1}^n x_i^2 } $

void Vec3D::normalize ( void  )
inline

Normalize vector.

bool Vec3D::operator!= ( const Vec3D x) const

Inequality test.

Require exact equality.

double Vec3D::operator* ( const Vec3D vec) const
inline

Dot product.

Vec3D Vec3D::operator* ( double  x) const
inline

Vector scaling.

Vec3D& Vec3D::operator*= ( double  x)
inline

Vector scaling.

Vec3D Vec3D::operator+ ( const Vec3D vec) const
inline

Vector addition

Vec3D& Vec3D::operator+= ( const Vec3D vec)
inline

Vector accumulation

Vec3D Vec3D::operator- ( const Vec3D vec) const
inline

Vector difference

Vec3D Vec3D::operator- ( void  ) const
inline

Unary minus.

Vec3D& Vec3D::operator/= ( double  x)
inline

Vector scaling with divisor.

Vec3D& Vec3D::operator= ( const Vec3D x)
inline

Assignment.

Vec3D& Vec3D::operator= ( const double &  x)
inline

Assignment of every coordinate.

bool Vec3D::operator== ( const Vec3D x) const

Equality test.

Requires exact equality.

void Vec3D::save ( std::ostream &  os) const
inline

Saves data to stream os.

double Vec3D::ssqr ( void  ) const
inline

Returns square of 2-norm of vector.

$ (||x||_2)^2 = \Sigma_{i=1}^n x_i^2 $

Vec3D Vec3D::standard_basis ( int  i)
static

Returns standard basis vector i.

Friends And Related Function Documentation

Vec3D cross ( const Vec3D vec1,
const Vec3D vec2 
)
friend

Cross product.

double norm2 ( const Vec3D vec)
friend

Second norm of vector.

Vec3D operator* ( double  x,
const Vec3D vec 
)
friend

Vector scaling.

Vec3D operator* ( double  x,
const class Int3D i 
)
friend

Vector scaling for integer vector.

std::ostream& operator<< ( std::ostream &  os,
const Vec3D vec 
)
friend

Outputting to stream.

double ssqr ( const Vec3D vec)
friend

Sum of squares or square of 2-norm of vector.


The documentation for this class was generated from the following files:


Reference manual for Ion Beam Simulator 1.0.5new_solver
Generated by Doxygen 1.8.5 on Tue May 19 2015 09:15:44.