algograph-algebraic-portfol.../tests/test_solver.py

14 lines
414 B
Python

import numpy as np
from algograph_algebraic_portfolio_compiler_f.solver import admm_like_solve
def test_admm_like_solve_basic():
# Simple 3-asset problem: minimize (1/2)x^T I x + sum(x) with simplex constraint
Q = np.eye(3)
c = np.ones(3)
x = admm_like_solve(Q, c, max_iter=300, tol=1e-6)
assert x.shape == (3,)
assert np.isclose(np.sum(x), 1.0, atol=1e-6)
assert np.all(x >= -1e-8)