nenupy.astro.jones_mueller


Jones - Mueller Formalism

class nenupy.astro.jones_mueller.JonesMatrix(input_array)[source]

Bases: PolarizerMatrix

Class handling Jones matrices. The Jones matrices are operators that act on Jones vectors.

Methods Summary

to_mueller()

Class Methods Summary

elliptical(theta, delta)

Ideal elliptical, producing elliptically polarized light with azimuth \(\psi\) and ellipticity \(\omega\) such that :math`tan(2psi)=tan(2theta)cos(delta)` and :math:`sin(2omega)=sin(2theta)sin(delta).

linear_retarder(theta, delta)

Linear retarder with its fast axis at an angle \(\theta\) and retardation \(\delta\).

right_circular()

left_circular()

linear(theta)

Linear polarizer whose principal axis subtends an angle \(\theta\) with the horizontal.

quarter_waveplate_retarder(theta)

Waveplate that converts linearly polarized light into circularly polarized light and vice versa.

half_waveplate_retarder(theta)

Waveplate that shifts the polarization direction of linearly polarized light.

Attributes and Methods Documentation

classmethod elliptical(theta, delta)[source]

Ideal elliptical, producing elliptically polarized light with azimuth \(\psi\) and ellipticity \(\omega\) such that :math`tan(2psi)=tan(2theta)cos(delta)` and :math:`sin(2omega)=sin(2theta)sin(delta).

Parameters:
  • theta (float) – in degrees.

  • delta (float) – in degrees.

Theocaris, Matrix Theory of Photoelasticity, Table 4.1, 1979

classmethod linear_retarder(theta, delta)[source]

Linear retarder with its fast axis at an angle \(\theta\) and retardation \(\delta\).

Parameters:
  • theta (float) – Rotation angle (in degrees) between the horizontal plane and the fast axis.

  • delta (float) – Phase delay (in degrees) between the fast and the slow axes.

See also

Theocaris, Matrix Theory of Photoelasticity, Table 4.2, 1979

to_mueller()[source]
class nenupy.astro.jones_mueller.JonesVector(input_array)[source]

Bases: PolarVector

abstract classmethod circular(angle_deg=90)[source]
classmethod linear(angle_deg=0)[source]
to_stokes()[source]
class nenupy.astro.jones_mueller.MuellerMatrix(input_array)[source]

Bases: PolarizerMatrix

Class handling Mueller matrices. The Mueller matrices are operators that act on Stokes vectors.

Methods Summary

to_jones()

to_hermitian()

Class Methods Summary

elliptical(theta, delta)

Ideal elliptical, producing elliptically polarized light with azimuth \(\psi\) and ellipticity \(\omega\) such that :math`tan(2psi)=tan(2theta)cos(delta)` and :math:`sin(2omega)=sin(2theta)sin(delta).

linear_retarder(theta, delta)

Theocaris, Matrix Theory of Photoelasticity, eq.

right_circular()

left_circular()

linear(theta)

Linear polarizer whose principal axis subtends an angle \(\theta\) with the horizontal.

quarter_waveplate_retarder(theta)

Waveplate that converts linearly polarized light into circularly polarized light and vice versa.

half_waveplate_retarder(theta)

Waveplate that shifts the polarization direction of linearly polarized light.

Attributes and Methods Documentation

classmethod elliptical(theta, delta)[source]

Ideal elliptical, producing elliptically polarized light with azimuth \(\psi\) and ellipticity \(\omega\) such that :math`tan(2psi)=tan(2theta)cos(delta)` and :math:`sin(2omega)=sin(2theta)sin(delta).

Parameters:
  • theta (float) – in degrees.

  • delta (float) – in degrees.

Theocaris, Matrix Theory of Photoelasticity, Table 4.3, 1979

classmethod linear_retarder(theta, delta)[source]

Theocaris, Matrix Theory of Photoelasticity, eq. 4.44, 1979

to_hermitian()[source]
\[\mathbf{H} = \frac{1}{4} \sum_{i,j=0}^{3} M_{ij}( \mathbf{sigma_i} \kron \mathbf{\sigma}_j^{\star})\]

ref : https://arxiv.org/pdf/1906.11198.pdf eq. 6

to_jones()[source]
class nenupy.astro.jones_mueller.PolarVector[source]

Bases: ndarray, ABC

classmethod anti_diagonal()[source]
abstract classmethod circular(angle_deg)[source]
classmethod diagonal()[source]
classmethod horizontal()[source]
classmethod left_circular()[source]
abstract classmethod linear(angle_deg)[source]
classmethod right_circular()[source]
classmethod vertical()[source]