14 lines
414 B
Python
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)
|