28#ifndef _chemistry_qc_basis_shellrot_h
29#define _chemistry_qc_basis_shellrot_h
35#include <math/symmetry/pointgrp.h>
72 int am()
const {
return am_; }
74 int dim()
const {
return n_; }
Compute the transformation matrices that maps a set of Cartesian functions to another set of Cartesia...
Definition: shellrot.h:43
double * operator[](int i)
Return a row of the transform matrix.
Definition: shellrot.h:79
void init(int a, SymmetryOperation &, const Ref< Integral > &)
Initialize the ShellRotation for Cartesian functions, given the angular momentum, a symmetry operatio...
ShellRotation(int a, SymmetryOperation &, const Ref< Integral > &, int pure=0)
Initialize using init(...) or, if pure is nonzero, init_pure(...).
int am() const
Return the angular momentum.
Definition: shellrot.h:72
ShellRotation(int n)
Initialize this ShellRotation to hold a n by n transformation.
int dim() const
Return the number of functions in a shell.
Definition: shellrot.h:74
ShellRotation(const ShellRotation &)
Initialize this from another ShellRotation.
void init_pure(int a, SymmetryOperation &, const Ref< Integral > &)
Initialize the ShellRotation for solid harmonic functions, given the angular momentum,...
double trace() const
Return the trace of the transformation.
ShellRotation & operator=(const ShellRotation &)
Assign this to another shell rotation.
double & operator()(int i, int j)
Return an element of the transform matrix.
Definition: shellrot.h:77
ShellRotation operate(const ShellRotation &rot) const
Returns the result of rot*this.
ShellRotation transform(const ShellRotation &rot) const
Returns the result of rot*this*transpose(rot).
void print() const
Print the object to ExEnv::out0().
The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation,...
Definition: pointgrp.h:70