sc::SymRep(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

πŸ’… sc::SymRep(3) β€” the MPQC manual, bestie edition πŸŽ€

okay so this is a page out of the MPQC manual set (it's sc::SymRep(3), if you're keeping track), and honestly? it's kind of a baddie. let's get into it.


✨ NAME ✨

sc::SymRep β€” the SymRep class provides an n dimensional matrix representation of a symmetry operation, such as a rotation or reflection. that's the whole vibe. it's literally a matrix that is a rotation or a reflection. iconic behavior.


🌸 SYNOPSIS 🌸

#include <pointgrp.h>

πŸ¦‹ Public Member Functions πŸ¦‹

  • SymRep (int=0) β€” constructor, defaulting the int to 0.
  • SymRep (const SymmetryOperation &) β€” constructor from a SymmetryOperation.
  • operator SymmetryOperation () const β€” cast to a SymmetryOperation.
  • double trace () const β€” returns the trace of the transformation matrix. (this is the character, more on that below πŸ‘€)
  • void set_dim (int i) β€” set the dimension of d.
  • 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 double& operator()(int i, int j).
  • void zero () β€” zero out the symop.
  • SymRep operate (const SymRep &r) const β€” this operates on this with r (i.e. return r * this).
  • SymRep transform (const SymRep &r) const β€” this performs the transform r * this * r~.
  • void unit () β€” set equal to a unit matrix.
  • void E () β€” set equal to the identity.
  • 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) β€” the double-flavored rotation overload. πŸŒ€
  • void c2_x () β€” set equal to C2 about the x axis.
  • void c2_y () β€” set equal to C2 about the x axis. (yes, that's what the original says β€” c2_y but the text says x axis. no cap, that's verbatim. don't come for me πŸ™ˆ)
  • void print (std::ostream &=ExEnv::out0()) const β€” print the matrix. default stream is ExEnv::out0().

πŸ’– 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. so yeah, that's not a setting, that's just how she is. periodt.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for MPQC from the source code. (so if the prose is a little stiff, blame Doxygen, not me πŸ’€)


🌈 the cute sign-off 🌈

this is Version 2.3.1, dated Sun Oct 4 2020, living on the sc::SymRep(3) page of the MPQC manual. take care of her, she's doing her best 🫢✨

πŸ“¦ where this page comes from