HILA
Loading...
Searching...
No Matches
Algebra< SU2< T > > Class Template Reference

#include <su2.h>

Public Member Functions

 Algebra (const std::nullptr_t &z)
 construct from 0
 
SU2< T > exp () const
 SU2 Algebra $exp( E ) = exp( i 1/2 a_n\sigma_n )$ , returns SU2.
 
SU2< T > expand () const
 Expand algebra to 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
 
Algebra< SU2< T > > operator+ () const
 unary +
 
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>
 
Algebra< SU2< T > > operator- () const
 unary -
 
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_div< T &, A > >::value, int > = 0>
Algebra< SU2< T > > & operator/= (const A rhs)
 divide assign scalar
 
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>
 
Algebra< SU2< T > > & operator= (const std::nullptr_t &z)
 assign from zero
 
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
 
squarenorm () const
 a^2 + b^2 + c^2
 

Detailed Description

template<typename T>
class Algebra< SU2< T > >

This implementation represents algebra as $ a i/2\sigma_1 + b i/2\sigma_2 + c i/2\sigma_3$

Definition at line 429 of file su2.h.


The documentation for this class was generated from the following file: