# sc_SymmetryOperation man page

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

## Synopsis

`#include <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.

## Author

Generated automatically by Doxygen for MPQC from the source code.