Quantum++  v1.1
A modern C++11 quantum computing library
qpp::literals Namespace Reference

Functions

constexpr cplx operator"" _i (unsigned long long int x) noexcept
 User-defined literal for complex $i=\sqrt{-1}$ (integer overload) More...
 
template<char... Bits>
ket operator"" _ket ()
 Multi-partite qubit ket user-defined literal. More...
 
template<char... Bits>
bra operator"" _bra ()
 Multi-partite qubit bra user-defined literal. More...
 
template<char... Bits>
cmat operator"" _prj ()
 Multi-partite qubit projector user-defined literal. More...
 

Function Documentation

◆ operator"" _bra()

template<char... Bits>
bra qpp::literals::operator"" _bra ( )

Multi-partite qubit bra user-defined literal.

See also
qpp::mket() and qpp::adjoint()

Constructs the multi-partite qubit bra $\langle\mathrm{Bits}|$

Template Parameters
BitsString of binary numbers representing the qubit bra
Returns
Multi-partite qubit bra, as a complex dynamic row vector

◆ operator"" _i()

constexpr cplx qpp::literals::operator"" _i ( unsigned long long int  x)
inlinenoexcept

User-defined literal for complex $i=\sqrt{-1}$ (integer overload)

Example:

cplx z = 4_i; // type of z is std::complex<double>

◆ operator"" _ket()

template<char... Bits>
ket qpp::literals::operator"" _ket ( )

Multi-partite qubit ket user-defined literal.

See also
qpp::mket()

Constructs the multi-partite qubit ket $|\mathrm{Bits}\rangle$

Template Parameters
BitsString of binary numbers representing the qubit ket
Returns
Multi-partite qubit ket, as a complex dynamic column vector

◆ operator"" _prj()

template<char... Bits>
cmat qpp::literals::operator"" _prj ( )

Multi-partite qubit projector user-defined literal.

See also
qpp::mprj()

Constructs the multi-partite qubit projector $|\mathrm{Bits}\rangle\langle\mathrm{Bits}|$ (in the computational basis)

Template Parameters
BitsString of binary numbers representing the qubit state to project on
Returns
Multi-partite qubit projector, as a complex dynamic matrix