treams.CylindricalWaveBasis.default

classmethod CylindricalWaveBasis.default(kzs, mmax, nmax=1, positions=None)

Default basis for the given z-components of wave vector and angular momentum.

The default order contains separate blocks for each position index which are in ascending order. Within each block the modes are sorted by the z-component of the wave vector \(k_z\). For each of those values the z-projection of the angular momentum is placed in ascending order. Finally, the polarization index is the fastest changing index which iterates between 1 and 0.

Example

>>> CylindricalWaveBasis.default([-0.5, 0.5], 1)
CylindricalWaveBasis(
    pidx=[0 0 0 0 0 0 0 0 0 0 0 0],
    kz=[-0.5 -0.5 -0.5 -0.5 -0.5 -0.5  0.5  0.5  0.5  0.5  0.5  0.5],
    m=[-1 -1  0  0  1  1 -1 -1  0  0  1  1],
    pol=[1 0 1 0 1 0 1 0 1 0 1 0],
    positions=[[0. 0. 0.]],
)
>>> CylindricalWaveBasis.default([0], 1, 2, [[1., 0, 0], [-1., 0, 0]])
CylindricalWaveBasis(
    pidx=[0 0 0 0 0 0 1 1 1 1 1 1],
    kz=[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.],
    m=[-1 -1  0  0  1  1 -1 -1  0  0  1  1],
    pol=[1 0 1 0 1 0 1 0 1 0 1 0],
    positions=[[ 1.  0.  0.], [-1.  0.  0.]],
)
Parameters:
  • kzs (array-like, float) – Maximal multipolar order.

  • mmax (int) – Maximal value of the angular momentum z-component.

  • nmax (int, optional) – Number of positions, defaults to 1.

  • positions (array-like, optional) – Positions of the origins.