15 #ifndef BORNAGAIN_BASE_SPIN_SPINMATRIX_H
16 #define BORNAGAIN_BASE_SPIN_SPINMATRIX_H
18 #include <heinz/Complex.h>
19 #include <heinz/Vectors3D.h>
26 SpinMatrix(complex_t a_, complex_t b_, complex_t c_, complex_t d_);
61 complex_t
trace()
const;
SpinMatrix operator*(complex_t, const SpinMatrix &)
SpinMatrix()
Contructs the null matrix.
SpinMatrix operator*(const SpinMatrix &) const
SpinMatrix operator/(complex_t) const
SpinMatrix adjoint() const
SpinMatrix operator*=(const SpinMatrix &)
SpinMatrix operator+=(const SpinMatrix &)
SpinMatrix operator+(const SpinMatrix &) const
static SpinMatrix FromBlochVector(const R3 &v)
Constructs matrix (I+v*s)/2, where s is the Pauli vector.
static SpinMatrix Diag(complex_t a_, complex_t d_)
complex_t determinant() const
SpinMatrix operator-() const
SpinMatrix operator/=(complex_t)