Source: https://guthlabs.ai/docs/instruments/complex-roots-de-moivre-visualizer/mechanism/

instrument mechanism / verified-clean

# Complex Roots & De Moivre Visualizer mechanism

The inspectable method record for Complex Roots & De Moivre Visualizer, kept separate from implementation and qualification.

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

## Model scope

The mathematical formulas are standard after adding the stated domain restrictions and the z=0 exception. Verdict is NEEDS_REVIEW because the specification leaves n's domain, angle units/convention, zero handling, and the non-unit plot radius ambiguous.

- The nth-root formula is valid only for a positive integer n, with k restricted to 0,1,...,n-1; those constraints are not stated.

- For z != 0, theta must be an argument of z, conventionally the principal argument in (-pi,pi] for deterministic output. Without this, the displayed root parameterization is ambiguous, although the root set is unchanged when k is enumerated correctly.

- z^(1/n) is multivalued; the output must be explicitly labeled as the complete list of n roots rather than a single value.

- The formula is undefined at z=0 because arg(0) is undefined. The required special case is that every positive-integer nth root of 0 is 0.

- De Moivre's formula requires z=r(cos(theta)+i sin(theta)) with r>=0 and theta measured in radians; these assumptions are absent.

- A 'unit-circle-style plot' is potentially misleading: nth roots lie on the circle of radius r^(1/n), not generally the unit circle. Only roots of a unit-modulus number lie on the unit circle.

## Units and conventions

- Angles theta are in radians, with 2*pi radians per full turn.

- The complex input is interpreted as z=a+bi, with real and imaginary parts in the same dimensionless numeric unit.

- The polar radius is r=|z|>=0.

- n is assumed to be a positive integer.

- For z!=0, theta is an argument of z; a deterministic implementation should use the principal argument in (-pi,pi].

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "complex_number": "4+0i",
    "n": 2
  },
  "expected_outputs": {
    "roots": [
      "2",
      "-2"
    ],
    "de_moivre_power": "16",
    "spot_checks": [
      {
        "at": "r=4.000000000, theta=0.000000000 radians",
        "input_side": {
          "real": 16,
          "imag": 0
        },
        "answer_side": {
          "real": 16,
          "imag": 0
        }
      },
      {
        "at": "r=3.000000000, theta=1.047197551 radians (pi/3)",
        "input_side": {
          "real": -4.5,
          "imag": 7.794228634
        },
        "answer_side": {
          "real": -4.5,
          "imag": 7.794228634
        }
      }
    ]
  },
  "reference_data": {
    "root_equation": "w^2=4",
    "polar_form": "4=4(cos(0)+i sin(0))",
    "de_moivre": "[4(cos(theta)+i sin(theta))]^2=16(cos(2theta)+i sin(2theta))"
  },
  "working": "For the roots, r^(1/n)=4^(1/2)=2 and theta=0. The root angles are (0+2*pi*k)/2. For k=0, angle=0, giving 2(cos(0)+i sin(0))=2. For k=1, angle=pi, giving 2(cos(pi)+i sin(pi))=-2. De Moivre: 4^2[cos(2*0)+i sin(2*0)]=16(1+i*0)=16. Spot check 2: z=3(cos(pi/3)+i sin(pi/3))=1.500000000+2.598076211i. Direct squaring gives (1.500000000)^2-(2.598076211)^2=-4.500000000 for the real part and 2(1.500000000)(2.598076211)=7.794228634 for the imaginary part. The De Moivre side is 9(cos(2*pi/3)+i sin(2*pi/3))=-4.500000000+7.794228634i."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The n=0 input makes the root formula divide by zero and must be rejected. The zero-complex-input boundary also exposes an undefined argument unless the implementation special-cases zero; angle-unit ambiguity can additionally produce different valid-looking plots.

## Other records

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

- `BOUNDARY_HAZARD_CATALOG.json`
