fullseye

mueller_checks — OPTICS polarization op

使い方

Say whether a 4x4 matrix is a physically realisable Mueller matrix, and how depolarising it is.

Returns a dict:

physical True iff the coherency matrix H = 1/4 sum_ij M_ij (sigma_i (x) sigma_j^*) is positive semidefinite — Cloude’s criterion (1986), the necessary and sufficient condition for M to be a convex sum of pure (Mueller–Jones) matrices (Gil, 2007). coherency_eigenvalues carries the four real eigenvalues (descending) so the caller sees how far from physical. pure one non-zero eigenvalue: M comes from a single Jones matrix (no depolarisation). Every element from :func:mueller_element except the depolariser is pure. depolarization_index Gil–Bernabeu P_Delta = sqrt((sum_ij M_ij^2 - M_00^2) / (3 M_00^2)): 1 for a pure matrix, 0 for the ideal depolariser. passive the largest transmittance M_00 + sqrt(M_01^2 + M_02^2 + M_03^2) is <= 1 — a passive element cannot amplify. transmittance_max / transmittance_min those two bounds of the transmitted intensity over all input states.

Ground truth in the tests: every :func:mueller_element kind is physical and passive; the pure ones have eigenvalues (M_00, 0, 0, 0) to 1e-12 and P_Delta = 1; the ideal depolariser has P_Delta = 0; a matrix with M_11 > M_00 (more polarised output than input) is refused as non-physical; a gain matrix (2 I) is physical but not passive.

Raises ValueError: not a real 4x4 matrix, non-finite, or M_00 <= 0 (no transmitted intensity — every ratio would be 0/0).

Provenance: Cloude, S. R. (1986), Optik 75, 26; Gil, J. J. & Bernabeu, E. (1986), Optica Acta 33, 185 (depolarisation index); the check set mirrors what py-pol (del Hoyo & Sánchez Brea, MIT) exposes as is_physical / is_pure / is_transmissive, re-implemented from the definitions.

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(polarization)

jones_element · jones_apply · stokes_from_jones · mueller_element · mueller_apply · stokes_analyze · polarization_demosaic · polarization_demosaic_color


Provenance: optics.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.