# 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(constSymmetryOperation&)

doubletrace() constreturns the trace of the transformation matrix

double *operator[](inti)returns the i'th row of the transformation matrix

const double *operator[](inti) constconst version of the above

double &operator()(inti, int j)returns a reference to the (i,j)th element of the transformation matrix

doubleoperator()(inti, int j) constconst version of the above

voidzero()zero out the symopSymmetryOperation operate(constSymmetryOperation&r) constThis operates on this with r (i.e. return r * this).SymmetryOperation transform(constSymmetryOperation&r) constThis performs the transform r * this * r~.

voidunit()Set equal to a unit matrix.

voidE()Set equal to E.

voidi()Set equal to an inversion.

voidsigma_h()Set equal to reflection in xy plane.

voidsigma_xz()Set equal to reflection in xz plane.

voidsigma_yz()Set equal to reflection in yz plane.

voidrotation(int n)Set equal to a clockwise rotation by 2pi/n.

voidrotation(double theta)

voidc2_x()Set equal to C2 about the x axis.

voidc2_y()Set equal to C2 about the x axis.

voidtranspose()

voidExEnv::out0()) constprint 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.