VMPS++
Loading...
Searching...
No Matches
qarray.h File Reference
#include "NestedLoopIterator.h"
#include "JoinArray.h"
Include dependency graph for qarray.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  qarray< Nq >
 

Typedefs

template<size_t Nq>
using qarray2 = std::array< qarray< Nq >, 2 >
 
template<size_t Nq>
using qarray3 = std::array< qarray< Nq >, 3 >
 
template<size_t Nq>
using qarray4 = std::array< qarray< Nq >, 4 >
 

Functions

template<size_t Nq>
bool operator== (const qarray< Nq > &lhs, const qarray< Nq > &rhs)
 
template<size_t Nq>
bool operator!= (const qarray< Nq > &lhs, const qarray< Nq > &rhs)
 
template<size_t Nq>
bool operator<= (const qarray< Nq > &lhs, const qarray< Nq > &rhs)
 
template<size_t Nq>
bool operator>= (const qarray< Nq > &lhs, const qarray< Nq > &rhs)
 
template<size_t Nq>
bool operator< (const qarray< Nq > &lhs, const qarray< Nq > &rhs)
 
template<size_t Nq>
bool operator> (const qarray< Nq > &lhs, const qarray< Nq > &rhs)
 
template<size_t Nq>
qarray< Nq > operator+ (const qarray< Nq > &a1, const qarray< Nq > &a2)
 
template<size_t Nq>
qarray< Nq > operator- (const qarray< Nq > &a1, const qarray< Nq > &a2)
 
template<size_t Nq>
qarray< Nq > operator* (const size_t &alpha, const qarray< Nq > &a)
 
template<std::size_t Nq1, std::size_t Nq2>
constexpr qarray< Nq1+Nq2 > join (qarray< Nq1 > rhs, qarray< Nq2 > lhs)
 
template<std::size_t Nq1, std::size_t Nq2, std::size_t Nql>
std::pair< qarray< Nq1 >, qarray< Nq2 > > disjoin (const qarray< Nql > &large_arr)
 
template<size_t Nq>
std::ostream & operator<< (std::ostream &os, const qarray< Nq > &a)
 
template<size_t Nq>
qarray< Nq > qplusinf ()
 
template<size_t Nq>
qarray< Nq > qminusinf ()
 

Typedef Documentation

◆ qarray2

template<size_t Nq>
using qarray2 = std::array<qarray<Nq>,2>

Definition at line 51 of file qarray.h.

◆ qarray3

template<size_t Nq>
using qarray3 = std::array<qarray<Nq>,3>

Definition at line 52 of file qarray.h.

◆ qarray4

template<size_t Nq>
using qarray4 = std::array<qarray<Nq>,4>

Definition at line 53 of file qarray.h.

Function Documentation

◆ disjoin()

template<std::size_t Nq1, std::size_t Nq2, std::size_t Nql>
std::pair< qarray< Nq1 >, qarray< Nq2 > > disjoin ( const qarray< Nql > &  large_arr)

Definition at line 104 of file qarray.h.

◆ join()

template<std::size_t Nq1, std::size_t Nq2>
constexpr qarray< Nq1+Nq2 > join ( qarray< Nq1 >  rhs,
qarray< Nq2 >  lhs 
)
constexpr

Join (concatenate) two qarrays.

Definition at line 95 of file qarray.h.

◆ operator!=()

template<size_t Nq>
bool operator!= ( const qarray< Nq > &  lhs,
const qarray< Nq > &  rhs 
)

Definition at line 57 of file qarray.h.

◆ operator*()

template<size_t Nq>
qarray< Nq > operator* ( const size_t &  alpha,
const qarray< Nq > &  a 
)

Multiplies a qarray with a factor coefficient-wise.

Definition at line 83 of file qarray.h.

◆ operator+()

template<size_t Nq>
qarray< Nq > operator+ ( const qarray< Nq > &  a1,
const qarray< Nq > &  a2 
)

Adds two qarrays coefficient-wise.

Definition at line 65 of file qarray.h.

◆ operator-()

template<size_t Nq>
qarray< Nq > operator- ( const qarray< Nq > &  a1,
const qarray< Nq > &  a2 
)

Subtracts two qarrays coefficient-wise.

Definition at line 74 of file qarray.h.

◆ operator<()

template<size_t Nq>
bool operator< ( const qarray< Nq > &  lhs,
const qarray< Nq > &  rhs 
)

Definition at line 60 of file qarray.h.

◆ operator<<()

template<size_t Nq>
std::ostream & operator<< ( std::ostream &  os,
const qarray< Nq > &  a 
)

Definition at line 114 of file qarray.h.

◆ operator<=()

template<size_t Nq>
bool operator<= ( const qarray< Nq > &  lhs,
const qarray< Nq > &  rhs 
)

Definition at line 58 of file qarray.h.

◆ operator==()

template<size_t Nq>
bool operator== ( const qarray< Nq > &  lhs,
const qarray< Nq > &  rhs 
)

Definition at line 56 of file qarray.h.

◆ operator>()

template<size_t Nq>
bool operator> ( const qarray< Nq > &  lhs,
const qarray< Nq > &  rhs 
)

Definition at line 61 of file qarray.h.

◆ operator>=()

template<size_t Nq>
bool operator>= ( const qarray< Nq > &  lhs,
const qarray< Nq > &  rhs 
)

Definition at line 59 of file qarray.h.

◆ qminusinf()

template<size_t Nq>
qarray< Nq > qminusinf ( )

Definition at line 144 of file qarray.h.

◆ qplusinf()

template<size_t Nq>
qarray< Nq > qplusinf ( )

‍**Constructs the vacuum (all quantum numbers equal to zero).*‍/

Definition at line 136 of file qarray.h.