IPCC  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CKNComplex Class Reference

This class for complex operation and saving value. More...

#include "KNComplex.h"

Collaboration diagram for CKNComplex:
Collaboration graph

Public Member Functions

 CKNComplex ()
 
 ~CKNComplex ()
 
void GetComplexNumber (double *fReal, double *fImaginary)
 Get Complex number real part and imaginary part concurrently. More...
 
void SetComplexNumber (double fReal, double fImaginaray)
 Set Complex number using real part and imaginary part. More...
 
double GetRealNumber () const
 Get real part. More...
 
double GetImaginaryNumber () const
 Get imaginary part. More...
 
CKNComplex GetConjugate ()
 Get conjugate complex number. More...
 
double GetAbsolute ()
 Get Absolute value of complex number. More...
 
void SetRealNumber (double fRealNumber)
 Set real part. More...
 
void SetImaginaryNumber (double fImaginaryNumber)
 Set imagenary part. More...
 
double GetNorm ()
 Get norm of complex number. More...
 
void Add (CKNComplex complex)
 Adding operation to this class. More...
 
void Minus (CKNComplex complex)
 Minus operation to this class. More...
 
void Division (double fScalar)
 Scalar division operation. More...
 
void Multiple (double fScalar)
 Scalar Multiply operation. More...
 
void operator= (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator+ (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator+= (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator- (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator-= (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator* (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator* (double fScalar)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator*= (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator*= (double fScalar)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator/ (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator/ (double fScalar)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator/= (const CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 
CKNComplex operator/= (double fScalar)
 operation overload for subsitution with reference parameter More...
 
bool operator== (double fScalar)
 operation overload for subsitution with reference parameter More...
 
bool operator== (CKNComplex &complexSrc)
 operation overload for subsitution with reference parameter More...
 

Static Public Member Functions

static CKNComplex AddComplex (CKNComplex complex1, CKNComplex complex2)
 Adding operation between complex numbers. More...
 
static CKNComplex MinusComplex (CKNComplex complex1, CKNComplex complex2)
 Minus operation between complex numbers. More...
 
static CKNComplex MulltiplyComplex (CKNComplex complex1, CKNComplex complex2)
 Multiple operation between complex numbers. More...
 
static CKNComplex DivideComplex (CKNComplex complex1, CKNComplex complex2)
 Divide operation between complex numbers. More...
 
static bool IsSame (CKNComplex complex1, CKNComplex complex2)
 

Public Attributes

double m_fRealNumber
 Real part of complex number. More...
 
double m_fImaginaryNumber
 Imaginary part of complex number. More...
 

Detailed Description

This class for complex operation and saving value.

Date
27/May/2014
Author
Kyu Nam Cho(mysto.nosp@m.us@k.nosp@m.orea..nosp@m.ac.k.nosp@m.r), Hoon Ryu(elec1.nosp@m.020@.nosp@m.gmail.nosp@m..com)

Definition at line 18 of file KNComplex.h.

Constructor & Destructor Documentation

CKNComplex::CKNComplex ( )

Definition at line 11 of file KNComplex.cpp.

References m_fImaginaryNumber, and m_fRealNumber.

12 {
13  m_fRealNumber = 0.;
14  m_fImaginaryNumber = 0.;
15 }
double m_fRealNumber
Real part of complex number.
Definition: KNComplex.h:71
double m_fImaginaryNumber
Imaginary part of complex number.
Definition: KNComplex.h:72
CKNComplex::~CKNComplex ( )

Definition at line 17 of file KNComplex.cpp.

18 {
19 }

Member Function Documentation

void CKNComplex::Add ( CKNComplex  complex)

Adding operation to this class.

Parameters
complexoperand

Definition at line 68 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), m_fImaginaryNumber, and m_fRealNumber.

Referenced by CKNMatrixOperation::MMMul(), and CKNMatrixOperation::MVMul().

69 {
70  double fReal, fImaginary;
71 
72  fReal = complex.GetRealNumber();
73  m_fRealNumber += fReal;
74  fImaginary = complex.GetImaginaryNumber();
75  m_fImaginaryNumber += fImaginary;
76 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
double m_fRealNumber
Real part of complex number.
Definition: KNComplex.h:71
double m_fImaginaryNumber
Imaginary part of complex number.
Definition: KNComplex.h:72

Here is the call graph for this function:

Here is the caller graph for this function:

CKNComplex CKNComplex::AddComplex ( CKNComplex  complex1,
CKNComplex  complex2 
)
static

Adding operation between complex numbers.

Parameters
complex1operand 1
complex2operand 2
Returns
Calculation result

Definition at line 99 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

Referenced by operator+(), and operator+=().

100 {
101  CKNComplex rtnNumber;
102 
103  rtnNumber.SetComplexNumber(complex1.GetRealNumber() + complex2.GetRealNumber(),
104  complex1.GetImaginaryNumber() + complex2.GetImaginaryNumber());
105  return rtnNumber;
106 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

Here is the caller graph for this function:

CKNComplex CKNComplex::DivideComplex ( CKNComplex  complex1,
CKNComplex  complex2 
)
static

Divide operation between complex numbers.

Parameters
complex1operand 1
complex2operand 2
Returns
Calculation result

Definition at line 144 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

Referenced by operator/(), and operator/=().

145 {
146  CKNComplex rtnNumber;
147 
148  double realNumber, imaginaryNumber, d;
149 
150  d = complex2.GetRealNumber() * complex2.GetRealNumber() + complex2.GetImaginaryNumber() * complex2.GetImaginaryNumber();
151 
152  realNumber = complex1.GetRealNumber() * complex2.GetRealNumber() + complex1.GetImaginaryNumber() * complex2.GetImaginaryNumber();
153  realNumber /= d;
154 
155  imaginaryNumber = complex1.GetImaginaryNumber() * complex2.GetRealNumber() - complex1.GetRealNumber() * complex2.GetImaginaryNumber();
156  imaginaryNumber /= d;
157 
158  rtnNumber.SetComplexNumber(realNumber, imaginaryNumber);
159  return rtnNumber;
160 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

Here is the caller graph for this function:

void CKNComplex::Division ( double  fScalar)

Scalar division operation.

Definition at line 87 of file KNComplex.cpp.

References m_fImaginaryNumber, and m_fRealNumber.

88 {
89  m_fRealNumber /= fScalar;
90  m_fImaginaryNumber /= fScalar;
91 }
double m_fRealNumber
Real part of complex number.
Definition: KNComplex.h:71
double m_fImaginaryNumber
Imaginary part of complex number.
Definition: KNComplex.h:72
double CKNComplex::GetAbsolute ( )

Get Absolute value of complex number.

Returns
Absolute of complex number

Definition at line 24 of file KNComplex.cpp.

References GetImaginaryNumber(), and GetRealNumber().

Referenced by CKNLanczosMethod::BuildWaveFunction(), and CKNLanczosMethod::RecalcuWaveFunction().

25 {
26  double fRealNumber = GetRealNumber();
27  double fImginaryNumber = GetImaginaryNumber();
28 
29  return sqrt( fRealNumber*fRealNumber + fImginaryNumber*fImginaryNumber );
30 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26

Here is the call graph for this function:

Here is the caller graph for this function:

void CKNComplex::GetComplexNumber ( double *  fReal,
double *  fImaginary 
)

Get Complex number real part and imaginary part concurrently.

Parameters
[out]fRealReal part
[out]fImaginaryImaginary part

Definition at line 49 of file KNComplex.cpp.

References m_fImaginaryNumber, and m_fRealNumber.

50 {
51  *fReal = m_fRealNumber;
52  *fImaginary = m_fImaginaryNumber;
53 }
double m_fRealNumber
Real part of complex number.
Definition: KNComplex.h:71
double m_fImaginaryNumber
Imaginary part of complex number.
Definition: KNComplex.h:72
CKNComplex CKNComplex::GetConjugate ( )

Get conjugate complex number.

Returns
Conjugate complex number

Definition at line 35 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), SetImaginaryNumber(), and SetRealNumber().

36 {
37  CKNComplex rtnNumber;
38 
39  rtnNumber.SetRealNumber(GetRealNumber());
40  rtnNumber.SetImaginaryNumber(GetImaginaryNumber() * -1);
41 
42  return rtnNumber;
43 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
void SetRealNumber(double fRealNumber)
Set real part.
Definition: KNComplex.h:31
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetImaginaryNumber(double fImaginaryNumber)
Set imagenary part.
Definition: KNComplex.h:32

Here is the call graph for this function:

double CKNComplex::GetImaginaryNumber ( ) const
inline

Get imaginary part.

Definition at line 27 of file KNComplex.h.

References m_fImaginaryNumber.

Referenced by Add(), AddComplex(), CKNMPIManager::AllReduceComlex(), CKNMatrixOperation::CKNDMatrix::AppendMatrix(), CKNMatrixOperation::BuildLocalCSR(), CKNMPIManager::ConvertVectorToMPIComplexBuffer(), DivideComplex(), GetAbsolute(), GetConjugate(), CKNMatrixOperation::CKNCSR::InsertMatrix(), CKNMatrixOperation::CKNVector::InsertVector(), IsSame(), CKNMatrixOperation::IsSame(), Minus(), MinusComplex(), CKNMatrixOperation::CKNVector::MinusVector(), MulltiplyComplex(), operator*(), operator*=(), operator/(), operator/=(), operator=(), CKNMatrixOperation::CKNVector::PlusVector(), CKNMatrixOperation::CKNCSR::PushMatrix(), CKNMatrixOperation::CKNCSR::PushMatrixConcurrent(), CKNMatrixOperation::CKNVector::ReorthogonalizationVector(), CKNLanczosMethod::SaveLanczosResult(), CKNLanczosTest::SaveResult(), CKNMatrixOperation::CKNVector::ScalarDivision(), CKNMatrixOperation::CKNVector::ScalarMultiple(), CKNMatrixOperation::CKNVector::SetAt(), CKNMatrixOperation::CKNCSR::SetAt(), CKNMatrixOperation::CKNVector::SetAtEx(), CKNMatrixOperation::CKNDMatrix::SetElement(), CKNIPCCUtility::ShowComplex(), CKNMatrixDebug::ShowComplex(), CKNIPCCUtility::ShowCSR(), CKNMatrixDebug::ShowCSR(), CKNIPCCUtility::ShowDenseMatrix(), CKNMatrixDebug::ShowDenseMatrix(), CKNMatrixDebug::ShowDoubleVector(), CKNIPCCUtility::ShowDoubleVector(), and CKNMatrixOperation::UpdateLocalCSR().

Here is the caller graph for this function:

double CKNComplex::GetNorm ( )
inline

Get norm of complex number.

Definition at line 34 of file KNComplex.h.

References m_fImaginaryNumber, and m_fRealNumber.

Referenced by CKNLanczosTest::AuditResult_WF(), and CKNLanczosResultAudit::AuditResult_WF().

Here is the caller graph for this function:

double CKNComplex::GetRealNumber ( ) const
inline

Get real part.

Definition at line 26 of file KNComplex.h.

References m_fRealNumber.

Referenced by Add(), AddComplex(), CKNMPIManager::AllReduceComlex(), CKNMatrixOperation::CKNDMatrix::AppendMatrix(), CKNMatrixOperation::BuildLocalCSR(), CKNHamiltonianBuilder::BuildOffsiteMatrixFor10Band(), CKNZincblendeParam::CalculateLatticeCoonstants(), CKNMPIManager::ConvertVectorToMPIComplexBuffer(), DivideComplex(), CKNHamiltonianBuilder::FillMatrixFor10Band(), GetAbsolute(), GetConjugate(), CKNMatrixOperation::Gram_schmidt(), CKNMatrixOperation::CKNCSR::InsertMatrix(), CKNMatrixOperation::CKNVector::InsertVector(), IsSame(), CKNMatrixOperation::IsSame(), CKNLanczosMethod::LanczosIterationLoop(), CKNLanczosMethod::MergeDegeneratedEigenvalues(), Minus(), MinusComplex(), CKNMatrixOperation::CKNVector::MinusVector(), MulltiplyComplex(), operator*(), operator*=(), operator/(), operator/=(), operator=(), CKNMatrixOperation::CKNVector::PlusVector(), CKNMatrixOperation::CKNCSR::PushMatrix(), CKNMatrixOperation::CKNCSR::PushMatrixConcurrent(), CKNMatrixOperation::CKNVector::ReorthogonalizationVector(), IKNGeometricUnitCellInfo::RotateAxis(), IKNGeometricUnitCellInfo::RotateNeighbor(), CKNHamiltonianBuilder::RotateTransMatrixFor10Band(), CKNLanczosMethod::SaveLanczosResult(), CKNLanczosTest::SaveResult(), CKNMatrixOperation::CKNVector::ScalarDivision(), CKNMatrixOperation::CKNVector::ScalarMultiple(), CKNMatrixOperation::CKNVector::SetAt(), CKNMatrixOperation::CKNCSR::SetAt(), CKNMatrixOperation::CKNVector::SetAtEx(), CKNMatrixOperation::CKNDMatrix::SetElement(), CKNMatrixDebug::ShowComplex(), CKNIPCCUtility::ShowComplex(), CKNIPCCUtility::ShowCSR(), CKNMatrixDebug::ShowCSR(), CKNMatrixDebug::ShowDenseMatrix(), CKNIPCCUtility::ShowDenseMatrix(), CKNMatrixDebug::ShowDoubleVector(), CKNIPCCUtility::ShowDoubleVector(), and CKNMatrixOperation::UpdateLocalCSR().

bool CKNComplex::IsSame ( CKNComplex  complex1,
CKNComplex  complex2 
)
static
Parameters
complex1Comparing source 1
complex2Comparing source 2
Returns
Comparing result

Definition at line 324 of file KNComplex.cpp.

References GENERAL_TOLERANCE, GetImaginaryNumber(), and GetRealNumber().

Referenced by operator==().

325 {
326  bool bRtn = false;
327 
328  if (fabs(complex1.GetRealNumber()- complex2.GetRealNumber()) > GENERAL_TOLERANCE)
329  return bRtn;
330 
331  if (fabs(complex1.GetImaginaryNumber()- complex2.GetImaginaryNumber()) < GENERAL_TOLERANCE)
332  bRtn = true;
333 
334  return bRtn;
335 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
#define GENERAL_TOLERANCE
General tolerance definition.
Definition: CKNGlobal.h:48

Here is the call graph for this function:

Here is the caller graph for this function:

void CKNComplex::Minus ( CKNComplex  complex)

Minus operation to this class.

Parameters
complexoperand

Definition at line 81 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), m_fImaginaryNumber, and m_fRealNumber.

82 {
83  m_fRealNumber -= complex.GetRealNumber();
85 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
double m_fRealNumber
Real part of complex number.
Definition: KNComplex.h:71
double m_fImaginaryNumber
Imaginary part of complex number.
Definition: KNComplex.h:72

Here is the call graph for this function:

CKNComplex CKNComplex::MinusComplex ( CKNComplex  complex1,
CKNComplex  complex2 
)
static

Minus operation between complex numbers.

Parameters
complex1operand 1
complex2operand 2
Returns
Calculation result

Definition at line 113 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

Referenced by operator-(), and operator-=().

114 {
115  CKNComplex rtnNumber;
116 
117  rtnNumber.SetComplexNumber(complex1.GetRealNumber() - complex2.GetRealNumber(),
118  complex1.GetImaginaryNumber() - complex2.GetImaginaryNumber());
119  return rtnNumber;
120 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

Here is the caller graph for this function:

CKNComplex CKNComplex::MulltiplyComplex ( CKNComplex  complex1,
CKNComplex  complex2 
)
static

Multiple operation between complex numbers.

Parameters
complex1operand 1
complex2operand 2
Returns
Calculation result

Definition at line 127 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

Referenced by CKNMatrixOperation::MMMul(), CKNMatrixOperation::MVMul(), operator*(), and operator*=().

128 {
129  CKNComplex rtnNumber;
130 
131  double realNumber, imaginaryNumber;
132 
133  realNumber = complex1.GetRealNumber() * complex2.GetRealNumber() - complex1.GetImaginaryNumber() * complex2.GetImaginaryNumber();
134  imaginaryNumber = complex1.GetRealNumber() * complex2.GetImaginaryNumber() + complex1.GetImaginaryNumber() * complex2.GetRealNumber();
135  rtnNumber.SetComplexNumber(realNumber, imaginaryNumber);
136  return rtnNumber;
137 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

Here is the caller graph for this function:

void CKNComplex::Multiple ( double  fScalar)

Scalar Multiply operation.

CKNComplex CKNComplex::operator* ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 210 of file KNComplex.cpp.

References MulltiplyComplex().

211 {
212  CKNComplex rtnValue;
213 
214  return MulltiplyComplex((*this), complexSrc);
215 }
This class for complex operation and saving value.
Definition: KNComplex.h:18
static CKNComplex MulltiplyComplex(CKNComplex complex1, CKNComplex complex2)
Multiple operation between complex numbers.
Definition: KNComplex.cpp:127

Here is the call graph for this function:

CKNComplex CKNComplex::operator* ( double  fScalar)

operation overload for subsitution with reference parameter

Parameters
fScalarScalar number that want to multiply
Returns
Calculation result

Definition at line 221 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

222 {
223  CKNComplex rtnValue;
224 
225  rtnValue.SetComplexNumber(this->GetRealNumber() * fScalar, this->GetImaginaryNumber() * fScalar);
226  return rtnValue;
227 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

CKNComplex CKNComplex::operator*= ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 233 of file KNComplex.cpp.

References MulltiplyComplex().

234 {
235  CKNComplex rtnValue;
236 
237  return MulltiplyComplex((*this), complexSrc);
238 }
This class for complex operation and saving value.
Definition: KNComplex.h:18
static CKNComplex MulltiplyComplex(CKNComplex complex1, CKNComplex complex2)
Multiple operation between complex numbers.
Definition: KNComplex.cpp:127

Here is the call graph for this function:

CKNComplex CKNComplex::operator*= ( double  fScalar)

operation overload for subsitution with reference parameter

Parameters
fScalarScalar number that want to multiply
Returns
Calculation result

Definition at line 244 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

245 {
246  CKNComplex rtnValue;
247 
248  rtnValue.SetComplexNumber(this->GetRealNumber() * fScalar, this->GetImaginaryNumber() * fScalar);
249  return rtnValue;
250 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

CKNComplex CKNComplex::operator+ ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 174 of file KNComplex.cpp.

References AddComplex().

175 {
176  return AddComplex((*this), complexSrc);
177 }
static CKNComplex AddComplex(CKNComplex complex1, CKNComplex complex2)
Adding operation between complex numbers.
Definition: KNComplex.cpp:99

Here is the call graph for this function:

CKNComplex CKNComplex::operator+= ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 183 of file KNComplex.cpp.

References AddComplex().

184 {
185  return AddComplex((*this), complexSrc);
186 }
static CKNComplex AddComplex(CKNComplex complex1, CKNComplex complex2)
Adding operation between complex numbers.
Definition: KNComplex.cpp:99

Here is the call graph for this function:

CKNComplex CKNComplex::operator- ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 192 of file KNComplex.cpp.

References MinusComplex().

193 {
194  return MinusComplex((*this), complexSrc);
195 }
static CKNComplex MinusComplex(CKNComplex complex1, CKNComplex complex2)
Minus operation between complex numbers.
Definition: KNComplex.cpp:113

Here is the call graph for this function:

CKNComplex CKNComplex::operator-= ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 201 of file KNComplex.cpp.

References MinusComplex().

202 {
203  return MinusComplex((*this), complexSrc);
204 }
static CKNComplex MinusComplex(CKNComplex complex1, CKNComplex complex2)
Minus operation between complex numbers.
Definition: KNComplex.cpp:113

Here is the call graph for this function:

CKNComplex CKNComplex::operator/ ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 256 of file KNComplex.cpp.

References DivideComplex().

257 {
258  CKNComplex rtnValue;
259 
260  return DivideComplex((*this), complexSrc);
261 }
static CKNComplex DivideComplex(CKNComplex complex1, CKNComplex complex2)
Divide operation between complex numbers.
Definition: KNComplex.cpp:144
This class for complex operation and saving value.
Definition: KNComplex.h:18

Here is the call graph for this function:

CKNComplex CKNComplex::operator/ ( double  fScalar)

operation overload for subsitution with reference parameter

Parameters
fScalarScalar number that want to divide
Returns
Calculation result

Definition at line 267 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

268 {
269  CKNComplex rtnValue;
270 
271  rtnValue.SetComplexNumber(this->GetRealNumber() / fScalar, this->GetImaginaryNumber() / fScalar);
272  return rtnValue;
273 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

CKNComplex CKNComplex::operator/= ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand
Returns
Calculation result

Definition at line 279 of file KNComplex.cpp.

References DivideComplex().

280 {
281  CKNComplex rtnValue;
282 
283  return DivideComplex((*this), complexSrc);
284 }
static CKNComplex DivideComplex(CKNComplex complex1, CKNComplex complex2)
Divide operation between complex numbers.
Definition: KNComplex.cpp:144
This class for complex operation and saving value.
Definition: KNComplex.h:18

Here is the call graph for this function:

CKNComplex CKNComplex::operator/= ( double  fScalar)

operation overload for subsitution with reference parameter

Parameters
fScalarScalar number that want to divide
Returns
Calculation result

Definition at line 290 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

291 {
292  CKNComplex rtnValue;
293 
294  rtnValue.SetComplexNumber(this->GetRealNumber() / fScalar, this->GetImaginaryNumber() / fScalar);
295  return rtnValue;
296 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

void CKNComplex::operator= ( const CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcopperand

Definition at line 165 of file KNComplex.cpp.

References GetImaginaryNumber(), GetRealNumber(), and SetComplexNumber().

166 {
167  SetComplexNumber(complexSrc.GetRealNumber(), complexSrc.GetImaginaryNumber());
168 }
double GetImaginaryNumber() const
Get imaginary part.
Definition: KNComplex.h:27
double GetRealNumber() const
Get real part.
Definition: KNComplex.h:26
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

bool CKNComplex::operator== ( double  fScalar)

operation overload for subsitution with reference parameter

Parameters
fScalarScalar number that want to compare
Returns
Comparing result

Definition at line 302 of file KNComplex.cpp.

References IsSame(), and SetComplexNumber().

303 {
304  CKNComplex complex;
305 
306  complex.SetComplexNumber(fScalar, 0);
307  return IsSame(*this, complex);
308 }
static bool IsSame(CKNComplex complex1, CKNComplex complex2)
Definition: KNComplex.cpp:324
This class for complex operation and saving value.
Definition: KNComplex.h:18
void SetComplexNumber(double fReal, double fImaginaray)
Set Complex number using real part and imaginary part.
Definition: KNComplex.cpp:59

Here is the call graph for this function:

bool CKNComplex::operator== ( CKNComplex complexSrc)

operation overload for subsitution with reference parameter

Parameters
complexSrcComplex number that want to divide
Returns
Comparing result

Definition at line 314 of file KNComplex.cpp.

References IsSame().

315 {
316  return IsSame(*this, complexSrc);
317 }
static bool IsSame(CKNComplex complex1, CKNComplex complex2)
Definition: KNComplex.cpp:324

Here is the call graph for this function:

void CKNComplex::SetComplexNumber ( double  fReal,
double  fImaginaray 
)

Set Complex number using real part and imaginary part.

Parameters
fRealReal part
fImaginaryImaginary part

Definition at line 59 of file KNComplex.cpp.

References SetImaginaryNumber(), and SetRealNumber().

Referenced by AddComplex(), CKNMPIManager::AllReduceComlex(), CKNLanczosTest::AuditResult_WF(), CKNLanczosResultAudit::AuditResult_WF(), DivideComplex(), CKNMatrixOperation::CKNVector::GetAt(), CKNMatrixOperation::CKNCSR::GetElement(), MinusComplex(), MulltiplyComplex(), operator*(), operator*=(), operator/(), operator/=(), operator=(), operator==(), CKNGeometricShape::RefillPeriodicBinding(), CKNMatrixOperation::CKNVector::ScalarDivision(), CKNMatrixOperation::CKNVector::ScalarMultiple(), CKNLanczosTest::TestCSRBuilding(), and CKNMatrixOperation::VVDot().

60 {
61  SetRealNumber(fReal);
62  SetImaginaryNumber(fImaginaray);
63 }
void SetRealNumber(double fRealNumber)
Set real part.
Definition: KNComplex.h:31
void SetImaginaryNumber(double fImaginaryNumber)
Set imagenary part.
Definition: KNComplex.h:32

Here is the call graph for this function:

Here is the caller graph for this function:

void CKNComplex::SetImaginaryNumber ( double  fImaginaryNumber)
inline

Set imagenary part.

Definition at line 32 of file KNComplex.h.

References m_fImaginaryNumber.

Referenced by GetConjugate(), SetComplexNumber(), and CKNMatrixOperation::UpdateLocalCSR().

Here is the caller graph for this function:

void CKNComplex::SetRealNumber ( double  fRealNumber)
inline

Set real part.

Definition at line 31 of file KNComplex.h.

References m_fRealNumber.

Referenced by CKNTBMS_Solver::ApplyPhPotential(), CKNHamiltonianBuilder::FillMatrixFor10Band(), GetConjugate(), SetComplexNumber(), and CKNMatrixOperation::UpdateLocalCSR().

Here is the caller graph for this function:

Member Data Documentation

double CKNComplex::m_fImaginaryNumber

Imaginary part of complex number.

Definition at line 72 of file KNComplex.h.

Referenced by Add(), CKNComplex(), Division(), GetComplexNumber(), GetImaginaryNumber(), GetNorm(), Minus(), and SetImaginaryNumber().

double CKNComplex::m_fRealNumber

Real part of complex number.

Definition at line 71 of file KNComplex.h.

Referenced by Add(), CKNComplex(), Division(), GetComplexNumber(), GetNorm(), GetRealNumber(), Minus(), and SetRealNumber().


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