diff --git a/.gitignore b/.gitignore index 47d6da7..5591030 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,7 @@ __pycache__ .idea build dist + +# uv +.venv/ +uv.lock diff --git a/opti/problem.py b/opti/problem.py index 63433fb..c9b5b97 100644 --- a/opti/problem.py +++ b/opti/problem.py @@ -1,5 +1,6 @@ import json import os +from io import StringIO from typing import Callable, Dict, List, Optional, Tuple, Union import numpy as np @@ -87,10 +88,10 @@ def __init__( self.f = f if isinstance(data, dict): - data = pd.read_json(json.dumps(data), orient="split") + data = pd.read_json(StringIO(json.dumps(data)), orient="split") if isinstance(optima, dict): - optima = pd.read_json(json.dumps(optima), orient="split") + optima = pd.read_json(StringIO(json.dumps(optima)), orient="split") self.set_data(data) self.set_optima(optima) diff --git a/opti/sampling/polytope.py b/opti/sampling/polytope.py index 6a0354e..5edf70a 100644 --- a/opti/sampling/polytope.py +++ b/opti/sampling/polytope.py @@ -116,7 +116,7 @@ def _get_AbNx(parameters, constraints): # add the inequality constraints corresponding to the box bounds lower = parameters.bounds.loc["min"] upper = parameters.bounds.loc["max"] - A_ineq = np.row_stack([-np.eye(nD), np.eye(nD)]) + A_ineq = np.vstack([-np.eye(nD), np.eye(nD)]) b_ineq = np.r_[-np.array(lower), np.array(upper)] if sum(~is_eq) > 0: diff --git a/test/test_sampling.py b/test/test_sampling.py index 3951406..a4e8d59 100644 --- a/test/test_sampling.py +++ b/test/test_sampling.py @@ -46,7 +46,7 @@ def test_sphere_sampling(): def test_polytope_chebyshev_center(): - A = np.row_stack([-np.eye(3), np.eye(3)]) + A = np.vstack([-np.eye(3), np.eye(3)]) b = np.r_[-np.zeros(3), np.ones(3)] x0 = polytope._chebyshev_center(A, b) assert np.allclose(x0, [0.5, 0.5, 0.5])