Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6
      Class Index
      File List
   Version 1.0.5new_solver
   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.6
Generated by Doxygen 1.8.5 on Mon Jun 15 2015 09:59:33.