LBMS_SIM/tests/test_mds_map.py
2026-10-21 14:14:51 +02:00

10 lines
436 B
Python

import numpy as np
from mdsmap_sim.mds_map import classical_mds, procrustes_align
def test_noise_free_mds_alignment_is_exact():
points = np.array([[0, 0], [10, 0], [0, 10], [7, 4], [3, 8]], dtype=float)
distances = np.linalg.norm(points[:, None] - points[None, :], axis=2)
aligned = procrustes_align(classical_mds(distances), points, np.array([0, 1, 2]))
assert np.max(np.linalg.norm(aligned - points, axis=1)) < 1e-8