MPQC
3.0.0-alpha
|
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 | |
The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection.