| import argparse |
| import numpy as np |
| from scipy.fft import dct, idct |
|
|
| def dct_compress_vector(v, K): |
| """Applies DCT-II, keeps top-K low-frequency coefficients, and returns them.""" |
| v_dct = dct(v.astype(np.float64), norm='ortho') |
| |
| truncated = np.zeros_like(v_dct) |
| truncated[:K] = v_dct[:K] |
| return truncated |
|
|
| def idct_reconstruct_vector(v_dct_trunc): |
| """Applies IDCT-III to reconstruct the vector from truncated DCT coefficients.""" |
| return idct(v_dct_trunc, norm='ortho') |
|
|
| def run_proof(): |
| print("======================================================================") |
| print("ZYMATICA | SVD/DCT Compression & Reconstructor Pipeline Proof") |
| print("======================================================================\n") |
|
|
| M, N = 64, 64 |
| RANK = 4 |
| K_COEF = 8 |
|
|
| |
| print(f"[1] Simulating Target Weight Delta Matrix W ({M}x{N} floats)...") |
| t = np.linspace(0, 2 * np.pi, M) |
| |
| u1 = np.sin(t) |
| v1 = np.cos(t) |
| u2 = np.sin(2 * t) |
| v2 = np.cos(2 * t) |
| |
| W_true = np.outer(u1, v1) + np.outer(u2, v2) |
| |
| rng = np.random.RandomState(42) |
| W_true += 0.05 * rng.standard_normal((M, N)) |
| |
| raw_size_bytes = W_true.nbytes |
| print(f" - Original weight matrix shape: {W_true.shape}") |
| print(f" - Original weight raw size: {raw_size_bytes} bytes ({raw_size_bytes / 1024:.2f} KB)") |
|
|
| |
| print(f"\n[2] Executing Low-Rank SVD (Rank={RANK})...") |
| U, S, Vh = np.linalg.svd(W_true, full_matrices=False) |
| |
| U_r = U[:, :RANK] |
| S_r = S[:RANK] |
| V_r = Vh[:RANK, :].T |
| |
| |
| sqrt_S = np.sqrt(S_r) |
| U_scaled = U_r * sqrt_S |
| V_scaled = V_r * sqrt_S |
| print(f" - Absorb singular values: U_scaled shape={U_scaled.shape}, V_scaled shape={V_scaled.shape}") |
|
|
| |
| print(f"\n[3] Projecting Singular Vectors into DCT Domain (Keeping Top-{K_COEF} Coefficients)...") |
| U_rec = np.zeros_like(U_scaled) |
| V_rec = np.zeros_like(V_scaled) |
| |
| for col in range(RANK): |
| |
| u_dct = dct_compress_vector(U_scaled[:, col], K_COEF) |
| U_rec[:, col] = idct_reconstruct_vector(u_dct) |
| |
| |
| v_dct = dct_compress_vector(V_scaled[:, col], K_COEF) |
| V_rec[:, col] = idct_reconstruct_vector(v_dct) |
| |
| print(" -> DCT & Inverse DCT spectral transformations completed.") |
|
|
| |
| print("\n[4] Rebuilding Layer Weights Matrix from Compressed Manifold...") |
| W_rec = np.dot(U_rec, V_rec.T) |
| |
| |
| |
| stored_floats = 2 * (RANK * K_COEF) |
| compressed_bytes = stored_floats * 4 |
| compression_ratio = raw_size_bytes / compressed_bytes |
| |
| mse = np.mean((W_true - W_rec) ** 2) |
| cosine_sim = np.dot(W_true.flatten(), W_rec.flatten()) / (np.linalg.norm(W_true) * np.linalg.norm(W_rec) + 1e-9) |
| |
| print(f" - Original Float Parameters: {W_true.size:,}") |
| print(f" - Compressed Float Parameters: {stored_floats:,}") |
| print(f" - Compression Ratio: {compression_ratio:.2f}x") |
| print(f" - Reconstruction MSE: {mse:.6f}") |
| print(f" - Cosine Similarity (Fidelity): {cosine_sim * 100:.2f}%") |
|
|
| print("\n[VERIFICATION] SVD/DCT spectral projection pipeline verified.") |
|
|
| if __name__ == "__main__": |
| parser = argparse.ArgumentParser(description="Zymatica SVD/DCT Compression Proof") |
| parser.add_argument("--test", action="store_true", help="Run test mode") |
| args = parser.parse_args() |
| run_proof() |
|
|