spherical.recursions

rotate

rotate(modes, R)

Source: spherical/recursions/__init__.py

Rotate Modes object by rotor(s) Compute fโ‚—โ‚˜ = ฮฃโ‚™ fโ‚—โ‚™ ๐”‡หกโ‚™โ‚˜(R), where f is a (possibly spin-weighted) function, fโ‚—โ‚™ are its mode weights in the current frame, and fโ‚—โ‚˜ are its mode weights in the rotated frame. fโ‚—โ‚˜ = ฮฃโ‚™ fโ‚—โ‚™ ๐”‡หกโ‚™โ‚˜(R) = ฮฃโ‚™ fโ‚—โ‚™ dหกโ‚™โ‚˜(R) exp[iฯ•โ‚(m-n)+iฯ•โ‚›(m+n)] = ฮฃโ‚™ fโ‚—โ‚™ dหกโ‚™โ‚˜(R) exp[i(ฯ•โ‚›+ฯ•โ‚)m+i(ฯ•โ‚›-ฯ•โ‚)n] = exp[i(ฯ•โ‚›+ฯ•โ‚)m] ฮฃโ‚™ fโ‚—โ‚™ dหกโ‚™โ‚˜(R) exp[i(ฯ•โ‚›-ฯ•โ‚)n] = zโ‚šแต ฮฃโ‚™ fโ‚—โ‚™ dหกโ‚™โ‚˜(R) zโ‚˜โฟ = zโ‚šแต {fโ‚—โ‚€ dหกโ‚€โ‚˜(R) + ฮฃโ‚šโ‚™ [fโ‚—โ‚™ dหกโ‚™โ‚˜(R) zโ‚˜โฟ + fโ‚—โ‚‹โ‚™ dหกโ‚‹โ‚™โ‚˜(R) / zโ‚˜โฟ]} = zโ‚šแต {fโ‚—โ‚€ ฯตโ‚‹โ‚˜ Hหกโ‚€โ‚˜(R) + ฮฃโ‚šโ‚™ [fโ‚—โ‚™ ฯตโ‚™ ฯตโ‚‹โ‚˜ Hหกโ‚™โ‚˜(R) zโ‚˜โฟ + fโ‚—โ‚‹โ‚™ ฯตโ‚‹โ‚™ ฯตโ‚‹โ‚˜ Hหกโ‚‹โ‚™โ‚˜(R) / zโ‚˜โฟ]} = ฯตโ‚‹โ‚˜ zโ‚šแต {fโ‚—โ‚€ Hหกโ‚€โ‚˜(R) + ฮฃโ‚šโ‚™ [fโ‚—โ‚™ (-1)โฟ Hหกโ‚™โ‚˜(R) zโ‚˜โฟ + fโ‚—โ‚‹โ‚™ Hหกโ‚‹โ‚™โ‚˜(R) / zโ‚˜โฟ]} Here, n ranges over [-l, l] and pn ranges over [1, l].

Parameters

  • modes: Modes

    SWSH modes to rotate

  • R: quaternionic.array

    Its shape must satifsy R.shape[:-1] == modes.shape[:-1]