PARTONS/NumA++  
Numerical Analysis C++ routines
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
NumA::VectorComplexD Class Reference

Vector of complex numbers of undefined size. More...

Inheritance diagram for NumA::VectorComplexD:
NumA::VectorComplex2D NumA::VectorComplex3D NumA::VectorComplex4D

Public Member Functions

 VectorComplexD ()
 Default constructor. More...
 
 VectorComplexD (const unsigned int n)
 Assignment constructor. More...
 
 VectorComplexD (const VectorComplexD &v)
 Copy constructor. More...
 
virtual ~VectorComplexD ()
 Destructor. More...
 
double Mag () const
 Get magnitude of vector. More...
 
VectorComplexD Conjunct () const
 Get conjunction of vector. More...
 
std::complex< double > Dot (const VectorComplexD &v) const
 Scalar product of this and other vector. More...
 
void Clear ()
 Clear vector (set std::complex<double>(0., 0.) to all elements). More...
 
void operator= (const VectorComplexD &rhs)
 Operator =. More...
 
VectorComplexD operator+ (const VectorComplexD &rhs)
 Operator +. More...
 
VectorComplexD operator- (const VectorComplexD &rhs)
 Operator -. More...
 
VectorComplexD operator* (const double &rhs)
 Operator * by real number (rhs). More...
 
VectorComplexD operator* (const std::complex< double > &rhs)
 Operator * by complex number (rhs). More...
 
unsigned int GetNElements () const
 Get number of elements. More...
 
void SetElement (const unsigned int i, const std::complex< double > &value)
 Set element. More...
 
std::complex< double > GetElement (unsigned int i) const
 Get element. More...
 

Private Member Functions

void CompareNElements (const VectorComplexD &v) const
 Compare number of elements of this and other vector. More...
 

Private Attributes

unsigned int m_n
 Number of elements. More...
 
std::vector< std::complex< double > > m_elements
 Elements. More...
 

Friends

VectorComplexD operator* (const double &lhs, VectorComplexD &rhs)
 Operator * by real number (lhs). More...
 
VectorComplexD operator* (const std::complex< double > &lhs, VectorComplexD &rhs)
 Operator * by complex number (lhs). More...
 

Detailed Description

Vector of complex numbers of undefined size.

This class represents a vector of complex double precision numbers. The size of this vector should be defined by the user.

Constructor & Destructor Documentation

◆ VectorComplexD() [1/3]

NumA::VectorComplexD::VectorComplexD ( )

Default constructor.

◆ VectorComplexD() [2/3]

NumA::VectorComplexD::VectorComplexD ( const unsigned int  n)

Assignment constructor.

Elements will be initialized with std::complex<double>(0., 0.).

Parameters
nNumber of elements to be set.

◆ VectorComplexD() [3/3]

NumA::VectorComplexD::VectorComplexD ( const VectorComplexD v)

Copy constructor.

Parameters
vObject to be copied.

◆ ~VectorComplexD()

NumA::VectorComplexD::~VectorComplexD ( )
virtual

Destructor.

Member Function Documentation

◆ Clear()

void NumA::VectorComplexD::Clear ( )

Clear vector (set std::complex<double>(0., 0.) to all elements).

◆ CompareNElements()

void NumA::VectorComplexD::CompareNElements ( const VectorComplexD v) const
private

Compare number of elements of this and other vector.

Throw std::runtime_error if the numbers are not equal.

Parameters
vOther vector.

◆ Conjunct()

VectorComplexD NumA::VectorComplexD::Conjunct ( ) const

Get conjunction of vector.

Return: \(f^{*}\).

◆ Dot()

std::complex< double > NumA::VectorComplexD::Dot ( const VectorComplexD v) const

Scalar product of this and other vector.

Return: \(f \cdot g\).

Parameters
vOther vector.

◆ GetElement()

std::complex< double > NumA::VectorComplexD::GetElement ( unsigned int  i) const

Get element.

Parameters
iIndex of element to be retrieved.

◆ GetNElements()

unsigned int NumA::VectorComplexD::GetNElements ( ) const

Get number of elements.

◆ Mag()

double NumA::VectorComplexD::Mag ( ) const

Get magnitude of vector.

Return: \(\sqrt{f \cdot f^{*}}\).

◆ operator*() [1/2]

VectorComplexD NumA::VectorComplexD::operator* ( const double &  rhs)

Operator * by real number (rhs).

◆ operator*() [2/2]

VectorComplexD NumA::VectorComplexD::operator* ( const std::complex< double > &  rhs)

Operator * by complex number (rhs).

◆ operator+()

VectorComplexD NumA::VectorComplexD::operator+ ( const VectorComplexD rhs)

Operator +.

◆ operator-()

VectorComplexD NumA::VectorComplexD::operator- ( const VectorComplexD rhs)

Operator -.

◆ operator=()

void NumA::VectorComplexD::operator= ( const VectorComplexD rhs)

Operator =.

◆ SetElement()

void NumA::VectorComplexD::SetElement ( const unsigned int  i,
const std::complex< double > &  value 
)

Set element.

Parameters
iIndex of element to be set.
valueValue to be set.

Friends And Related Function Documentation

◆ operator* [1/2]

VectorComplexD operator* ( const double &  lhs,
VectorComplexD rhs 
)
friend

Operator * by real number (lhs).

◆ operator* [2/2]

VectorComplexD operator* ( const std::complex< double > &  lhs,
VectorComplexD rhs 
)
friend

Operator * by complex number (lhs).

Member Data Documentation

◆ m_elements

std::vector<std::complex<double> > NumA::VectorComplexD::m_elements
private

Elements.

◆ m_n

unsigned int NumA::VectorComplexD::m_n
private

Number of elements.


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