Rewrite Rulesphysics/matrixel-expand

physics/matrixel-expand

Expand matrix elements to explicit angle-bracket and bar fences.

Rewrite patterns#

  1. matrixel-auto-sized\matrixel{#1}{#2}{#3}\left\langle #1 \right\vert #2 \left\vert #3 \right\rangle
  2. matrixel-fixed-size\matrixel*{#1}{#2}{#3}\langle #1 \vert #2 \vert #3 \rangle
  3. matrixel-middle-sized\matrixel**{#1}{#2}{#3}\left\langle #1 \middle\vert #2 \middle\vert #3 \right\rangle

Examples#

Each example shows this rule applied in isolation. A complete normalization profile may make additional changes.

Matrix element operator#

Before

\matrixel{n}{\hat{x}}{m}=x_{nm}

After this rule

\left\langle n \right\vert \hat{x} \left\vert m \right\rangle=x_{nm}

Rendering verified with the declared packages.

Matrix element star fixed size#

Before

\matrixel*{n}{\hat{x}}{m}

After this rule

\langle n \vert \hat{x} \vert m \rangle

Rendering verified with the declared packages.

Matrix element double star middle sized#

Before

\matrixel**{n}{\hat{x}}{m}

After this rule

\left\langle n \middle\vert \hat{x} \middle\vert m \right\rangle

Rendering verified with the declared packages.

Same family#

Notes#

Covers both star levels from the shared braket output helper: single star suppresses automatic sizing, double star uses middle bars with outer automatic fences.

Disable this rule#

TransformEngine(profile="corpus", disable_rules=["physics/matrixel-expand"])
new TransformEngine({ profile: 'corpus', disableRules: ['physics/matrixel-expand'] })

Open in Playground