"""Compare complex amplitudes, basis probabilities and a state overlap."""

from __future__ import annotations

import json

import numpy as np


def experiment() -> dict[str, object]:
    state = np.array([1, 1j], dtype=complex) / np.sqrt(2)
    plus = np.array([1, 1], dtype=complex) / np.sqrt(2)
    return {
        "amplitudes_real": state.real.tolist(),
        "amplitudes_imag": state.imag.tolist(),
        "basis_probabilities": (np.abs(state) ** 2).tolist(),
        "norm_squared": float(np.vdot(state, state).real),
        "plus_overlap_probability": float(abs(np.vdot(plus, state)) ** 2),
    }


if __name__ == "__main__":
    print(json.dumps(experiment(), sort_keys=True))
