treams.expand

treams.expand(basis, modetype=None, *, k0=None, material=Material(1, 1, 0), poltype=None, where=True)

Expansion matrix.

Expand the modes from one basis set to another basis set. If applicable the modetype can also be changed, like for spherical and cylindrical waves from singular to regular. Not all expansions are available, only those that result in a discrete set of modes. For example, plane waves can be expanded in spherical waves, but the opposite transformation generally requires a continuous spectrum (an integral) over plane waves.

Parameters:
  • basis (BasisSet or tuple) – Basis set, if it is a tuple of two basis sets the output and input modes are taken accordingly, else both sets of modes are the same.

  • modetype (str, optional) – Wave mode, used for SphericalWaveBasis and CylindricalWaveBasis.

  • k0 (float, optional) – Wave number.

  • material (Material or tuple, optional) – Material parameters.

  • poltype (str, optional) – Polarization, see also Polarizations.

  • where (array-like, bool, optional) – Only evaluate parts of the expansion matrix, the given array must have a shape that matches the output shape.