---
name: "sc_ShellRotation"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_ShellRotation"
---

# sc\_ShellRotation(3)

Compute the transformation matrices that maps a set of Cartesian functions to another set of Cartesian functions in a rotated coordinate system.

## NAME

sc::ShellRotation - **Compute** the transformation matrices that maps a set of Cartesian functions to another set of Cartesian functions in a rotated coordinate system.

## SYNOPSIS

`#include <shellrot.h>`

### Public Member Functions

void **init** (int a, **SymmetryOperation** &, const **Ref**\< **Integral** \> &)\
 Initialize the **ShellRotation** for Cartesian functions, given the angular momentum, a symmetry operation, and an **Integral** object.  void **init\_pure** (int a, **SymmetryOperation** &, const **Ref**\< **Integral** \> &)\
 Initialize the **ShellRotation** for solid harmonic functions, given the angular momentum, a symmetry operation, and an **Integral** object.  **ShellRotation** (int n)\
 Initialize this **ShellRotation** to hold a n by n transformation.  **ShellRotation** (const **ShellRotation** &)\
 Initialize this from another **ShellRotation**.  **ShellRotation** (int a, **SymmetryOperation** &, const **Ref**\< **Integral** \> &, int pure=0)\
 Initialize using init(...) or, if pure is nonzero, init\_pure(...).  **ShellRotation** & **operator=** (const **ShellRotation** &)\
 Assign this to another shell rotation.  int **am** () const\
 Return the angular momentum.  int **dim** () const\
 Return the number of functions in a shell.  double & **operator()** (int i, int j)\
 Return an element of the transform matrix.  double \* **operator\[\]** (int i)\
 Return a row of the transform matrix.  **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).  double **trace** () const\
 Return the trace of the transformation.  void **print** () const\
 Print the object to **ExEnv::out0()**.

## Detailed Description

**Compute** the transformation matrices that maps a set of Cartesian functions to another set of Cartesian functions in a rotated coordinate system.

## Author

Generated automatically by Doxygen for MPQC from the source code.
