Psi4
Public Member Functions | Private Attributes | List of all members
psi::SymRep Class Reference

#include <pointgrp.h>

Public Member Functions

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

Private Attributes

int n
 
double d [5][5]
 

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.

Constructor & Destructor Documentation

SymRep::SymRep ( int  i = 0)
SymRep::SymRep ( const SymmetryOperation so)
SymRep::~SymRep ( )

Member Function Documentation

void SymRep::c2_x ( )

Set equal to C2 about the x axis.

void SymRep::c2_y ( )

Set equal to C2 about the y axis.

void SymRep::c2_z ( )

Set equal to C2 about the z axis.

void psi::SymRep::E ( )
inline

Set equal to the identity.

void psi::SymRep::i ( )
inline

Set equal to an inversion.

SymRep SymRep::operate ( const SymRep r) const

This operates on this with r (i.e. return r * this).

SymRep::operator SymmetryOperation ( ) const

Cast to a SymmetryOperation.

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

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

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

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

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

returns the i'th row of the transformation matrix

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

const version of the above

void SymRep::rotation ( int  n)

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

void SymRep::rotation ( double  theta)
void psi::SymRep::set_dim ( int  i)
inline

set the dimension of d

void SymRep::sigma_h ( )

Set equal to reflection in xy plane.

void SymRep::sigma_xz ( )

Set equal to reflection in xz plane.

void SymRep::sigma_yz ( )

Set equal to reflection in yz plane.

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

returns the trace of the transformation matrix

SymRep SymRep::transform ( const SymRep r) const

This performs the transform r * this * r~.

void psi::SymRep::unit ( )
inline

Set equal to a unit matrix.

void psi::SymRep::zero ( void  )
inline

zero out the symop

Member Data Documentation

double psi::SymRep::d[5][5]
private
int psi::SymRep::n
private

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