Source: https://guthlabs.ai/docs/instruments/complex-number-calculator/mechanism/

instrument mechanism / verified-clean

# Complex Number Calculator mechanism

The inspectable method record for Complex Number Calculator, kept separate from implementation and qualification.

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

## Model scope

The listed modulus, argument, and polar-multiplication formulas are standard under the stated assumptions, but the specification is incomplete for several claimed operations and leaves angle units, zero behavior, division-by-zero behavior, polar-radius constraints, normalization, and rounding ambiguous. The empty honest_label should be completed with these limitations and conventions.

- The supplied formulas for modulus and argument are correct: |z|=sqrt(a^2+b^2) and arg(z)=atan2(b,a), provided atan2 uses the stated angle unit.

- Polar multiplication is correctly described as multiplying moduli and adding arguments, but the angle unit and normalization range are unspecified.

- Formulas are missing for subtraction, rectangular multiplication, rectangular division, conjugation, and rectangular-to-polar inverse conversion, although the instrument claims to compute all of them.

- The argument of z=0 is undefined, so arg(0) cannot produce an ordinary numeric result.

- Polar form is non-unique unless a radius convention, normally r>=0, and an angle normalization range are specified.

## Units and conventions

- All rectangular components a and b use the same unit, normally the underlying scalar numeric unit.

- Angles must explicitly be designated as radians or degrees; the test vectors use radians except where degrees are explicitly marked.

- atan2(b,a) returns an angle in the same unit requested for polar output.

- For polar input, r is assumed dimensionless or in the same scalar unit as the rectangular components, with r>=0 unless signed-radius behavior is explicitly supported.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "operation": "add",
    "z1": "3+4i",
    "z2": "1-2i"
  },
  "expected_outputs": {
    "rectangular": "4+2i",
    "modulus": 4.472135955,
    "argument_radians": 0.463647609,
    "polar": "4.472135955∠0.463647609 rad"
  },
  "working": "(3+4i)+(1-2i)=(3+1)+(4-2)i=4+2i. |z|=sqrt(4^2+2^2)=sqrt(16+4)=sqrt(20)=2sqrt(5)=4.472135955. arg(z)=atan2(2,4)=atan(1/2)=0.463647609 rad."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification does not state whether polar angles are in degrees or radians, so an input such as 2∠90 has two valid but substantially different outputs. Zero has an undefined argument and zero-denominator division must also be rejected explicitly.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/complex-number-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/complex-number-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/complex-number-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-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
