HILA
|
#include <su2.h>
Public Member Functions | |
Algebra (const std::nullptr_t &z) | |
construct from 0 | |
Algebra< SU2< T > > | operator- () const |
unary - | |
Algebra< SU2< T > > | operator+ () const |
unary + | |
template<typename A , std::enable_if_t< hila::is_assignable< T &, A >::value, int > = 0> | |
Algebra< SU2< T > > & | operator= (const Algebra< SU2< A > > &rhs) |
assign from another Algebra<SU2> | |
template<typename S , std::enable_if_t< hila::is_assignable< T &, S >::value, int > = 0> | |
Algebra< SU2< T > > & | operator= (std::initializer_list< S > rhs) |
assign from initializer list | |
Algebra< SU2< T > > & | operator= (const std::nullptr_t &z) |
assign from zero | |
template<typename A , std::enable_if_t< hila::is_assignable< T &, hila::type_plus< T &, A > >::value, int > = 0> | |
Algebra< SU2< T > > & | operator+= (const Algebra< SU2< A > > &rhs) |
add assign another Algebra<SU2> | |
template<typename A , std::enable_if_t< hila::is_assignable< T &, hila::type_minus< T &, A > >::value, int > = 0> | |
Algebra< SU2< T > > & | operator-= (const Algebra< SU2< A > > &rhs) |
subtract assign another Algebra<SU2> | |
template<typename A , std::enable_if_t< hila::is_assignable< T &, hila::type_mul< T &, A > >::value, int > = 0> | |
Algebra< SU2< T > > & | operator*= (const A rhs) |
multiply assign scalar | |
template<typename A , std::enable_if_t< hila::is_assignable< T &, hila::type_div< T &, A > >::value, int > = 0> | |
Algebra< SU2< T > > & | operator/= (const A rhs) |
divide assign scalar | |
T | squarenorm () const |
a^2 + b^2 + c^2 | |
SU2< T > | expand () const |
Expand algebra to SU2. | |
SU2< T > | exp () const |
SU2 Algebra $exp( E ) = exp( i 1/2 a_n\sigma_n )$ , returns SU2. | |
This implementation represents algebra as $ a i/2\sigma_1 + b i/2\sigma_2 + c i/2\sigma_3$