MPQC 2.3.1
sc::SymRep Class Reference

The SymRep class provides an n dimensional matrix representation of a symmetry operation, such as a rotation or reflection. More...

#include <pointgrp.h>

Public Member Functions

 SymRep (int=0)
 SymRep (const SymmetryOperation &)
 operator SymmetryOperation () const
 Cast to a SymmetryOperation.
double trace () const
 returns the trace of the transformation matrix
void set_dim (int i)
 set the dimension of d
double * operator[] (int i)
 returns the i'th row of the transformation matrix
const double * operator[] (int i) const
 const version of the above
double & operator() (int i, int j)
 returns a reference to the (i,j)th element of the transformation matrix
double operator() (int i, int j) const
 const version of double& operator()(int i, int j)
void zero ()
 zero out the symop
SymRep operate (const SymRep &r) const
 This operates on this with r (i.e. return r * this).
SymRep transform (const SymRep &r) const
 This performs the transform r * this * r~.
void unit ()
 Set equal to a unit matrix.
void E ()
 Set equal to the identity.
void i ()
 Set equal to an inversion.
void sigma_h ()
 Set equal to reflection in xy plane.
void sigma_xz ()
 Set equal to reflection in xz plane.
void sigma_yz ()
 Set equal to reflection in yz plane.
void rotation (int n)
 Set equal to a clockwise rotation by 2pi/n.
void rotation (double theta)
void c2_x ()
 Set equal to C2 about the x axis.
void c2_y ()
 Set equal to C2 about the x axis.
void print (std::ostream &=ExEnv::out0()) const
 print the matrix

Detailed Description

The SymRep class provides an n dimensional matrix representation of a symmetry operation, such as a rotation or reflection.

The trace of a SymRep can be used as the character for that symmetry operation. d is hardwired to 5x5 since the H irrep in Ih is 5 dimensional.

Member Function Documentation

◆ E()

void sc::SymRep::E ( )
inline

Set equal to the identity.

References unit().

◆ i()

void sc::SymRep::i ( )
inline

Set equal to an inversion.

References zero().

Referenced by operator()(), operator()(), operator[](), operator[](), set_dim(), and trace().

◆ operator SymmetryOperation()

sc::SymRep::operator SymmetryOperation ( ) const

Cast to a SymmetryOperation.

References trace().

◆ operator()() [1/2]

double & sc::SymRep::operator() ( int i,
int j )
inline

returns a reference to the (i,j)th element of the transformation matrix

References i().

◆ operator()() [2/2]

double sc::SymRep::operator() ( int i,
int j ) const
inline

const version of double& operator()(int i, int j)

References i().

◆ operator[]() [1/2]

double * sc::SymRep::operator[] ( int i)
inline

returns the i'th row of the transformation matrix

References i().

◆ operator[]() [2/2]

const double * sc::SymRep::operator[] ( int i) const
inline

const version of the above

References i().

◆ print()

void sc::SymRep::print ( std::ostream & = ExEnv::out0()) const

print the matrix

References sc::ExEnv::out0().

◆ rotation()

void sc::SymRep::rotation ( int n)

Set equal to a clockwise rotation by 2pi/n.

References rotation().

Referenced by rotation().

◆ set_dim()

void sc::SymRep::set_dim ( int i)
inline

set the dimension of d

References i().

◆ trace()

double sc::SymRep::trace ( ) const
inline

returns the trace of the transformation matrix

References i().

Referenced by operator SymmetryOperation().

◆ unit()

void sc::SymRep::unit ( )
inline

Set equal to a unit matrix.

References zero().

Referenced by E().

◆ zero()

void sc::SymRep::zero ( )
inline

zero out the symop

Referenced by i(), and unit().


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

Generated at for MPQC 2.3.1 using the documentation package Doxygen 1.18.0.