treams.TMatrixC

class treams.TMatrixC(arr, ann=(), /, **kwargs)

T-matrix with a cylindrical basis.

The T-matrix is square relating incident (regular) fields treams.special.vcw_rA() (helical polarizations) or treams.special.vcw_rN() and treams.special.vcw_rM() (parity polarizations) to the corresponding scattered fields treams.special.vcw_A() or treams.special.vcw_N() and treams.special.vcw_M(). The modes themselves are defined in basis, the polarization type in poltype. Also, the wave number k0 and, if not vacuum, the material material are specified.

Parameters:
  • arr (float or complex, array-like) – T-matrix itself.

  • k0 (float) – Wave number in vacuum.

  • basis (SphericalWaveBasis, optional) – Basis definition.

  • material (Material, optional) – Embedding material, defaults to vacuum.

  • poltype (str, optional) – Polarization type (Polarizations).

  • lattice (Lattice, optional) – Lattice definition. If specified the T-Matrix is assumed to be periodically repeated in the defined lattice.

  • kpar (list, optional) – Phase factor for the periodic T-Matrix.

Attributes

T

Transpose.

ann

Array annotations.

bfield

changepoltype

Polarization change matrix, see also treams.operators.ChangePoltype.

dfield

efield

expand

Expansion matrix, see also treams.operators.Expand.

expandlattice

Lattice expansion matrix, see also treams.operators.ExpandLattice.

ffield

Field evaluation matrix, see also treams.operators.EField.

gfield

hfield

imag

Imaginary part of the array.

interaction

isglobal

Test if a T-matrix is global.

krhos

Radial part of the wave.

ks

Wave numbers (in medium).

latticeinteraction

ndim

Number of array dimensions.

permute

Permutation matrix, see also treams.operators.Permute.

real

Real part of the array.

rotate

Rotation matrix, see also treams.operators.Rotate.

shape

Array shape.

size

Array size.

translate

Translation matrix, see also treams.operators.Translate.

xw_ext_avg

Rotation and polarization averaged extinction cross width.

xw_sca_avg

Rotation and polarization averaged scattering cross width.

Methods

__abs__()

__add__(other)

__and__(other)

__array__([dtype])

Convert to an numpy array.

__array_function__(func, types, args, kwargs)

Function calls on the array.

__array_ufunc__(ufunc, method, *inputs, **kwargs)

Implement ufunc API.

__divmod__(other)

__eq__(other)

Return self==value.

__floordiv__(other)

__ge__(other)

Return self>=value.

__getitem__(key)

Get an item from the AnnotatedArray.

__gt__(other)

Return self>value.

__invert__()

__le__(other)

Return self<=value.

__len__()

__lshift__(other)

__lt__(other)

Return self<value.

__matmul__(other)

__mod__(other)

__mul__(other)

__ne__(other)

Return self!=value.

__neg__()

__or__(other)

Return self|value.

__pos__()

__pow__(other)

__repr__()

String representation.

__rshift__(other)

__setitem__(key, value)

Set values.

__str__()

String of the array itself.

__sub__(other)

__truediv__(other)

__xor__(other)

all([axis, dtype, out, keepdims, where])

Test if all elements (along an axis) are True.

any([axis, dtype, out, keepdims, where])

Test if any element (along an axis) is True.

astype(*args, **kwargs)

Return array as given type.

cluster(tmats, positions)

Block-diagonal T-matrix of multiple objects.

conj(*args, **kwargs)

Complex conjugate elementwise.

conjugate(*args, **kwargs)

Complex conjugate elementwise.

cumprod([axis, dtype, out])

Cumulative product of elements (along an axis).

cumsum([axis, dtype, out])

Cumulative sum of elements (along an axis).

cylinder(kzs, mmax, k0, radii, materials)

T-Matrix of a (multi-layered) cylinder.

diagonal([offset, axis1, axis2])

Get the diagonal of the array.

flatten([order])

Flatten array to one dimension.

from_array(tm, basis, *[, eta])

1d array of spherical T-matrices.

max([axis, out, keepdims, initial, where])

Maximum (along an axis).

min([axis, out, keepdims, initial, where])

Minimum (along an axis).

prod([axis, dtype, out, keepdims, initial, ...])

Product of elements (along an axis).

relax(*args[, mro])

Try creating AnnotatedArray subclasses if possible.

sum([axis, dtype, out, keepdims, initial, where])

Sum of elements (along an axis).

swapaxes(axis1, axis2)

trace([offset, axis1, axis2, dtype, out])

Trace of an array.

transpose([axes])

Transpose array dimensions.

valid_points(grid, radii)

xw(illu[, flux])

Scattering and extinction cross width.

__le__(other)

Return self<=value.

__abs__()

__array__([dtype])

Convert to an numpy array.

__and__(other)

__ge__(other)

Return self>=value.

__mul__(other)

__mod__(other)

__pos__()

__neg__()

__str__()

String of the array itself.

__repr__()

String representation.

__rshift__(other)

__xor__(other)

__floordiv__(other)

__gt__(other)

Return self>value.

__sub__(other)

__or__(other)

Return self|value.

__array_function__(func, types, args, kwargs)

Function calls on the array.

__invert__()

__ne__(other)

Return self!=value.

__truediv__(other)

__lt__(other)

Return self<value.

__divmod__(other)

__array_ufunc__(ufunc, method, *inputs, **kwargs)

Implement ufunc API.

__lshift__(other)

__add__(other)

__matmul__(other)

__len__()

__pow__(other)

__eq__(other)

Return self==value.

__setitem__(key, value)

Set values.