MPQC  3.0.0-alpha
sc::SymmetryOperation Class Reference

The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection. More...

#include <math/symmetry/pointgrp.h>

Public Member Functions

 SymmetryOperation (const SymmetryOperation &)
 
double trace () const
 returns the trace of the transformation matrix
 
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 the above
 
void zero ()
 zero out the symop
 
SymmetryOperation operate (const SymmetryOperation &r) const
 This operates on this with r (i.e. return r * this).
 
SymmetryOperation transform (const SymmetryOperation &r) const
 This performs the transform r * this * r~.
 
void unit ()
 Set equal to a unit matrix.
 
void E ()
 Set equal to E.
 
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 transpose ()
 
void print (std::ostream &=ExEnv::out0()) const
 print the matrix
 

Detailed Description

The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection.


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

Generated at Sun Jan 26 2020 23:24:13 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.