Linopt
Linear optics circuit calculator
|
Linear optics states. More...
Classes | |
class | linopt::Fock |
The class representing a Fock state. More... | |
class | linopt::Basis |
The class representing a collection of Fock states. More... | |
class | linopt::State |
The class representing a linear optical state. More... | |
Typedefs | |
using | linopt::FockAmpFunction = std::function< Complex(const Fock &)> |
A typedef of a function taking a Fock state as an argument and returning a corresponding complex_type amplitude. | |
Functions | |
bool | linopt::operator== (const Fock &f, const Fock &g) |
Tests whether two Fock states are equal. | |
bool | linopt::operator< (const Fock &f, const Fock &g) |
Compares two Fock states in lexicographic order. More... | |
bool | linopt::operator!= (const Fock &f, const Fock &g) |
Tests whether two Fock states differ. | |
bool | linopt::operator> (const Fock &f, const Fock &g) |
Compares two Fock states in lexicographic order. More... | |
bool | linopt::operator<= (const Fock &f, const Fock &g) |
Compares two Fock states in lexicographic order. More... | |
bool | linopt::operator>= (const Fock &f, const Fock &g) |
Compares two Fock states in lexicographic order. More... | |
State | linopt::operator* (Complex x, const State &s) |
Multiplies a state by a complex number. | |
Complex | linopt::dot (const State &a, const State &b) |
Calculates a dot (scalar) product. | |
Linear optics states.
Compares two Fock states in lexicographic order.
true
if f
is less than g
. Compares two Fock states in lexicographic order.
true
if f
is less or equal than g
. Compares two Fock states in lexicographic order.
true
if f
is greater than g
.