A determinant is only part of the story

PSD section and determinant chambers.

The t = 1 section of the symmetric pencil below. Coordinates (x,y,z) parameterize its off-diagonal entries; the probe reports PSD membership and spectrum within this section of the homogeneous hyperbolicity cone.

M(x,y,z) = [[1,x,y],[x,1,z],[y,z,1]] · det M = 1 + 2xyz − x² − y² − z²

Section, chambers & probe

Surface. Teal marks the PSD portion of det M = 0; purple marks the other singular sheets. Chambers are the connected components of det M ≠ 0, with constant inertia. The purple wings are boundary pieces outside the PSD region.

Slice. The fixed-z plane is colored by PSD membership and determinant sign. Orange marks the selected (x,y,z). The readouts give its eigenvalues, determinant and principal minors; positive determinant also occurs with two negative eigenvalues.

The determinant-zero surface

x, y, z are matrix entries · drag or use arrow keys to rotate · window [−1.4, 1.4]³

PSD boundaryNon-PSD surfaceProbe & slice

Linked horizontal slice

Horizontal: x · vertical: y · fixed z = 0.3 · click or drag to move the orange probe

PSDdet > 0, indefinitedet < 0
Membership at the probe
Positive definite
Smallest eigenvalue
Spectrum at the selected probe.
Determinant
Determinant sign does not determine inertia.
Homogeneous cone & exact model

For M(t,x,y,z) = tI + M(x,y,z) − I, the determinant is P(t,x,y,z) = t³ + 2xyz − t(x² + y² + z²). Its closed hyperbolicity cone about e = (1,0,0,0) is {M(t,x,y,z) ⪰ 0}; t = 1 cuts this four-dimensional cone in the correlation-matrix spectrahedron shown here. The fixed-z boundary satisfies x² + y² − 2zxy = 1 − z². Its PSD portion degenerates to a segment at |z| = 1 and is empty for |z| > 1. In the slice, purple det > 0 regions have two negative eigenvalues; gray det < 0 regions have one.

FiniteFree exports exact rational determinant coefficients after substituting t = 1. Browser meshing, eigenvalues and membership use Float64 and scaled tolerances; the display supplies no general hyperbolicity or stability certificate. Regenerate with PYTHONPATH=. python examples/interactive_geometry.py.