Source: https://guthlabs.ai/docs/instruments/malus-s-law-polarization-calculator/mechanism/

instrument mechanism / verified-clean

# Malus's Law Polarization Calculator mechanism

The inspectable method record for Malus's Law Polarization Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The single-polarizer formula is standard under its stated physical assumptions. Verdict is NEEDS_REVIEW because the specification simultaneously claims single- and two-polarizer operation without defining the required stack formula or polarization state, and it omits an explicit angle convention and percent-transmission formula.

- I=I0 cos²θ is correct for fully linearly polarized incident light when θ is the angle between the incident polarization direction and the transmission axis of one ideal polarizer.

- The stated single-or-two-polarizer input is ambiguous: a two-polarizer stack requires the relative angle between polarizers and a defined initial polarization state. For an initially polarized beam, sequential transmission is I=I0 cos²(θ1) cos²(θ2−θ1); for unpolarized light, the first ideal polarizer transmits I0/2.

- The percent-transmission output formula is not explicitly stated; it should be 100×I/I0 when I0 is nonzero and the percentage is referenced to the incident intensity.

- The honest label should explicitly state that the formula does not apply directly to unpolarized incident light unless the first-polarizer I0/2 factor is included.

## Units and conventions

- I0 and transmitted intensity must use the same intensity units; the test vectors use W/m².

- θ is dimensionless inside the trigonometric function and must be explicitly interpreted as either degrees or radians. The specification does not select one.

- Percent transmission is relative to the supplied incident intensity I0, not relative to an unpolarized-beam convention or a lossless maximum after another polarizer.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "I0_W_per_m2": 100,
    "theta": 0,
    "angle_unit": "degrees"
  },
  "expected_outputs": {
    "transmitted_intensity_W_per_m2": 100,
    "percent_transmission": 100
  },
  "working": "cos(0°)=1; cos²(0°)=1²=1; I=100×1=100 W/m²; percent=100×100/100=100%."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The angle unit is unspecified. The input value 60 yields 25% transmission when interpreted as degrees but 90.70904852632809% when interpreted as radians, so the calculator can return a materially wrong result unless the unit convention is explicit or enforced.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/malus-s-law-polarization-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/malus-s-law-polarization-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/malus-s-law-polarization-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
