Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   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...
 
std::basic_ostream< wchar_t > & operator<< (std::basic_ostream< wchar_t > &os, const Vec3D &vec)
 

Detailed Description

Three dimensional vector.

Member Function Documentation

◆ abs()

void Vec3D::abs ( void  )
inline

Calculate absolute value of each component.

◆ approx()

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!

◆ arb_perpendicular()

Vec3D Vec3D::arb_perpendicular ( void  ) const

Returns arbitrary vector perpendicular to input vector.

◆ max()

double Vec3D::max ( void  ) const

Returns inf-norm of vector.

Returns maximum component of vector.

◆ min_element()

int Vec3D::min_element ( void  ) const

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

◆ norm2()

double Vec3D::norm2 ( void  ) const
inline

Returns 2-norm of vector.

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

◆ normalize()

void Vec3D::normalize ( void  )
inline

Normalize vector.

◆ operator!=()

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

Inequality test.

Require exact equality.

◆ operator*() [1/2]

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

Dot product.

◆ operator*() [2/2]

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

Vector scaling.

◆ operator*=()

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

Vector scaling.

◆ operator+()

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

Vector addition

◆ operator+=()

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

Vector accumulation

◆ operator-() [1/2]

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

Vector difference

◆ operator-() [2/2]

Vec3D Vec3D::operator- ( void  ) const
inline

Unary minus.

◆ operator/=()

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

Vector scaling with divisor.

◆ operator=() [1/2]

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

Assignment of every coordinate.

◆ operator=() [2/2]

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

Assignment.

◆ operator==()

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

Equality test.

Requires exact equality.

◆ save()

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

Saves data to stream os.

◆ ssqr()

double Vec3D::ssqr ( void  ) const
inline

Returns square of 2-norm of vector.

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

◆ standard_basis()

Vec3D Vec3D::standard_basis ( int  i)
static

Returns standard basis vector i.

Friends And Related Function Documentation

◆ cross

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

Cross product.

◆ norm2

double norm2 ( const Vec3D vec)
friend

Second norm of vector.

◆ operator* [1/2]

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

Vector scaling for integer vector.

◆ operator* [2/2]

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

Vector scaling.

◆ operator<<

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

Outputting to stream.

◆ ssqr

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.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.