#include "TPauliMatrix.h"

TPauliMatrix


class description - header file - source file

class TPauliMatrix

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TPauliMatrix()
TPauliMatrix(const EPauliIndex i)
TPauliMatrix(const Int_t a)
TPauliMatrix(const Double_t a)
TPauliMatrix(const Complex_t& a)
TPauliMatrix(const TPauliMatrix& another)
TPauliMatrix(const Complex_t& a, const TThreeVectorComplex& b)
virtual~TPauliMatrix()
TPauliMatrix&Adjoint()
static TClass*Class()
TPauliMatrix&Compose(const Double_t a, const TThreeVectorReal& polar)
TPauliMatrix&Compose(const Complex_t& a, const TThreeVectorComplex& polar)
TPauliMatrix&Conj()
voidDecompose(Double_t& a, TThreeVectorReal& b) const
voidDecompose(Complex_t& a, TThreeVectorComplex& b) const
Complex_tDeterm() const
voidGetDiagonal(Complex_t& a11, Complex_t& a22) const
TPauliMatrix&Invert()
virtual TClass*IsA() const
Bool_tIsDiagonal() const
Bool_tIsHermetian() const
Bool_tIsIdempotent() const
Bool_tIsIdentity() const
Bool_tIsUnitary() const
Bool_toperator!=(const TPauliMatrix& other) const
TPauliMatrix&operator*=(const TPauliMatrix& source)
TPauliMatrix&operator*=(const Complex_t& factor)
TPauliMatrix&operator*=(const Double_t& factor)
TPauliMatrix&operator+=(const TPauliMatrix& source)
TPauliMatrix&operator+=(const Complex_t& factor)
TPauliMatrix&operator+=(const Double_t& factor)
TPauliMatrixoperator-() const
TPauliMatrix&operator-=(const TPauliMatrix& source)
TPauliMatrix&operator-=(const Complex_t& factor)
TPauliMatrix&operator-=(const Double_t& factor)
TPauliMatrix&operator/=(const TPauliMatrix& source)
TPauliMatrix&operator/=(const Complex_t& factor)
TPauliMatrix&operator/=(const Double_t& factor)
TPauliMatrix&operator=(const TPauliMatrix& source)
Bool_toperator==(const TPauliMatrix& other) const
Complex_t*operator[](Int_t row) const
voidPrint(Option_t* option = "")
Double_tResolution() const
TPauliMatrix&SetDensity(const TThreeVectorReal& polar)
TPauliMatrix&SetDiagonal(const Complex_t& a)
TPauliMatrix&SetDiagonal(const Complex_t& a11, const Complex_t& a22)
static voidSetResolution(const Double_t resolution)
TPauliMatrix&SetRotation(const TThreeRotation& rotOp)
TPauliMatrix&SetRotation(const TThreeVectorReal& axis)
TPauliMatrix&SetRotation(const TUnitVector& axis, const Double_t angle)
TPauliMatrix&SetRotation(const Double_t phi, const Double_t theta, const Double_t psi)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
TPauliMatrix&SimTransform(const TPauliMatrix& m)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Complex_tTrace() const
TPauliMatrix&Transpose()
TPauliMatrix&UniTransform(const TPauliMatrix& m)
TPauliMatrix&Zero()

Data Members

protected:
Complex_tfMatrix[2][2]complex matrix allocated on stack
static Double_tfResolutionmatrix resolving "distance"

Class Description

                                                                      
 Pauli Spinor Algebra Package                                         
                                                                      
 The present package implements all the basic algorithms dealing      
 with Pauli spinors, which form a fundamental representation of the   
 SU(2) group.  The basic classes are PauliSpinor and PauliMatrix,     
 which are 2-vectors and 2x2 matrices, respectively, of complex       
 numbers.  The generators of the group are in the standard Pauli      
 sigma matrix representation.  This package has particular members    
 to facilitate a quantum mechanical calculation in which the Pauli    
 spinor describes the spin-state of a fermion and the QM operators    
 are described by Pauli matrices.  Pauli matrices are also used to    
 describe mixed states, ensembles that contain mixtures of particles  
 described by more than one Pauli spinor.                             
									
 The standard Pauli matrices are generated by invoking the construc-	
 to with an argument of enum type EPauliIndex.  A EPauliIndex can be	
	kPauliOne,	kPauliSigma1,	kPauliSimga2,	kPauliSigma3.	
 Any 2x2 matrix can be expressed as a sum over this basis.		
                                                                      
 Spinors and matrices can be transformed under rotations according    
 to the commutation rules for the SU(2) group.  Rotations may be      
 specified either by Euler angles or by a rotation axis, or by        
 supplying a member of the TThreeRotation class defined in            
 TFourVector.h.  All angles are assumed to be in radians.             
                                                                      
 This package was developed at the University of Connecticut by       
 Richard T. Jones                                                     
                                                                      

TPauliMatrix(const EPauliIndex i)
 Initializes a standard Pauli matrix from the following list:
    i=kPauliOne    : unit matrix
    i=kPauliSigma1 : sigma_1
    i=kPauliSigma2 : sigma_2
    i=kPauliSigma3 : sigma_3
void Decompose(Double_t &a, TThreeVectorReal &b)
void Decompose(Complex_t &a, TThreeVectorComplex &b)
TPauliMatrix & operator*=(const TPauliMatrix &source)
Bool_t IsDiagonal()
Bool_t operator==(const TPauliMatrix &other)
TPauliMatrix & Invert()
TPauliMatrix & SetRotation(const TThreeRotation &rotOp)
 Note concerning phase of the Pauli rotation operator:
 The TThreeRotation class defines a rotation in a path-independent way, by
 finding a rotation axis with an angle on the interval [-pi,pi].  In this
 way defining TPauliMatrix::SetRotation directly with axis,angle or Euler
 arguments is not identical to defining TThreeRotation::SetEuler or ::SetAxis
 and then defining TPauliMatrix::SetRotation(TThreeRotation&); they may differ
 by a 360 degree rotation.  In Pauli algebra, a rotation by 360 degrees
 yields an additional phase factor of -1.
TPauliMatrix & SetRotation(const Double_t phi, const Double_t theta, const Double_t psi)
TPauliMatrix & SimTransform(const TPauliMatrix &m)
 Similarity transform is defined as A' = M A Minverse
TPauliMatrix & UniTransform(const TPauliMatrix &m)
 Unitary transform is defined as A' = M A Mdagger
void Streamer(TBuffer &buf)
 Put/get a Pauli matrix to/from stream buffer buf.
 This method assumes that Complex_t is stored as double[2].
void Print(Option_t *option)
 Output a Pauli matrix in ascii form.
TPauliMatrix(const Int_t a)
TPauliMatrix(const Double_t a)
TPauliMatrix(const Complex_t &a)
Complex_t * operator[](Int_t row)
TPauliMatrix(const TPauliMatrix &another)
void SetResolution(const Double_t resolution)
Double_t Resolution()
Bool_t IsIdentity()
Bool_t IsUnitary()
Bool_t IsHermetian()
Bool_t IsIdempotent()
Complex_t Trace()
Complex_t Determ()
void GetDiagonal(Complex_t &a11, Complex_t &a22)
TPauliMatrix & operator=(const TPauliMatrix &source)
TPauliMatrix & operator+=(const TPauliMatrix &source)
TPauliMatrix & operator+=(const Complex_t &factor)
TPauliMatrix & operator+=(const Double_t &factor)
TPauliMatrix & operator-=(const TPauliMatrix &source)
TPauliMatrix & operator-=(const Complex_t &factor)
TPauliMatrix & operator-=(const Double_t &factor)
TPauliMatrix & operator*=(const Complex_t &factor)
TPauliMatrix & operator*=(const Double_t &factor)
TPauliMatrix & operator/=(const TPauliMatrix &source)
TPauliMatrix & operator/=(const Complex_t &factor)
TPauliMatrix & operator/=(const Double_t &factor)
Bool_t operator!=(const TPauliMatrix &other)
TPauliMatrix & Zero()
TPauliMatrix & Conj()
TPauliMatrix & Adjoint()
TPauliMatrix & Transpose()
TPauliMatrix & SetDiagonal(const Complex_t &a)
TPauliMatrix & SetDensity(const TThreeVectorReal &polar)
TPauliMatrix & SetRotation(const TThreeVectorReal &axis)
TPauliMatrix operator-()
TPauliMatrix()
{ }
TPauliMatrix(const EPauliIndex i)
virtual ~TPauliMatrix()
{ }
TPauliMatrix & SetDiagonal(const Complex_t &a)
TPauliMatrix & SetRotation(const TThreeRotation &rotOp)
Compose(a,b)
Compose(1,polar)

Author: Richard T. Jones 11/16/98
Last update: Dec. 12, 1998 v1.00
Copyright (c) 1998, University of Connecticut, All rights reserved. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.