ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Namespaces | Functions
complexarray.cpp File Reference
#include <iostream>
#include <fstream>
#include <iomanip>
#include <complex>
#include <cstdlib>
#include <cassert>
#include "complexarray.h"
#include "global_function.h"
Include dependency graph for complexarray.cpp:

Namespaces

namespace  ModuleBase
 

Functions

void ModuleBase::complexArrayxAlloc ()
 
ComplexArray ModuleBase::operator* (const double r, const ComplexArray &cd)
 Scale a ComplexArray cd by real r.
 
ComplexArray ModuleBase::operator* (const std::complex< double > c, const ComplexArray &cd)
 Scale a ComplexArray cd by std::complex number c.
 
double ModuleBase::abs2 (const ComplexArray &cd)
 Sum of absolute squares of all elements in cd.
 
std::complex< double > ModuleBase::dot (const ComplexArray &cd1, const ComplexArray &cd2)
 Take "dot-product" of two ComplexArray: sum of cd1(conjugate)[i] * cd2[i].
 
void ModuleBase::scale_accumulate (double r, const ComplexArray &cd1, ComplexArray &cd2)
 Does cd2 += r * cd1.
 
void ModuleBase::scale_accumulate (std::complex< double > c, const ComplexArray &cd1, ComplexArray &cd2)
 Does cd2 += c * cd1.
 
void ModuleBase::scaled_sum (double r1, const ComplexArray &cd1, double r2, const ComplexArray &cd2, ComplexArray &cd3)
 Does cd3 = r1*cd1 + r2*cd2.
 
void ModuleBase::scaled_sum (std::complex< double > c1, const ComplexArray &cd1, std::complex< double > c2, const ComplexArray &cd2, ComplexArray &cd3)
 Does cd3 = c1*cd1 + c2*cd2.
 
void ModuleBase::point_mult (ComplexArray &a1, ComplexArray &in2, ComplexArray &out)
 out[i] = a1[i] * in2[i]