.F.FFF                                                                   [100%]
=================================== FAILURES ===================================
_____________ test_neutral_views_recover_market_weights[True-0.04] _____________
tests/test_black_litterman_regressions.py:24: in test_neutral_views_recover_market_weights
    np.testing.assert_allclose(list(model.bl_weights().values()), [0.5, 0.3, 0.2])
E   AssertionError: 
E   Not equal to tolerance rtol=1e-07, atol=0
E   
E   Mismatched elements: 3 / 3 (100%)
E   Max absolute difference among violations: 0.04135338
E   Max relative difference among violations: 0.12030075
E    ACTUAL: array([0.541353, 0.282707, 0.17594 ])
E    DESIRED: array([0.5, 0.3, 0.2])
____________ test_neutral_views_recover_market_weights[False-0.04] _____________
tests/test_black_litterman_regressions.py:24: in test_neutral_views_recover_market_weights
    np.testing.assert_allclose(list(model.bl_weights().values()), [0.5, 0.3, 0.2])
E   AssertionError: 
E   Not equal to tolerance rtol=1e-07, atol=0
E   
E   Mismatched elements: 3 / 3 (100%)
E   Max absolute difference among violations: 0.04135338
E   Max relative difference among violations: 0.12030075
E    ACTUAL: array([0.541353, 0.282707, 0.17594 ])
E    DESIRED: array([0.5, 0.3, 0.2])
___________ test_singular_covariance_uses_asset_space_system[views0] ___________
pypfopt/black_litterman.py:502: in bl_weights
    weight_solution = np.linalg.solve(A, b)
                      ^^^^^^^^^^^^^^^^^^^^^
$PYTHON_ENV/lib/python3.12/site-packages/numpy/linalg/_linalg.py:410: in solve
    r = gufunc(a, b, signature=signature)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$PYTHON_ENV/lib/python3.12/site-packages/numpy/linalg/_linalg.py:104: in _raise_linalgerror_singular
    raise LinAlgError("Singular matrix")
E   numpy.linalg.LinAlgError: Singular matrix

During handling of the above exception, another exception occurred:
tests/test_black_litterman_regressions.py:38: in test_singular_covariance_uses_asset_space_system
    weights = model.bl_weights()
              ^^^^^^^^^^^^^^^^^^
pypfopt/black_litterman.py:505: in bl_weights
    weight_solution = np.linalg.lstsq(self._A, b, rcond=None)[0]
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$PYTHON_ENV/lib/python3.12/site-packages/numpy/linalg/_linalg.py:2500: in lstsq
    raise LinAlgError('Incompatible dimensions')
E   numpy.linalg.LinAlgError: Incompatible dimensions
___________ test_singular_covariance_uses_asset_space_system[views1] ___________
tests/test_black_litterman_regressions.py:39: in test_singular_covariance_uses_asset_space_system
    np.testing.assert_allclose(list(weights.values()), [0.3, 0.4, 0.3], atol=1e-12)
E   AssertionError: 
E   Not equal to tolerance rtol=1e-07, atol=1e-12
E   
E   Mismatched elements: 3 / 3 (100%)
E   Max absolute difference among violations: 0.06666667
E   Max relative difference among violations: 0.16666667
E    ACTUAL: array([0.333333, 0.333333, 0.333333])
E    DESIRED: array([0.3, 0.4, 0.3])
=========================== short test summary info ============================
FAILED tests/test_black_litterman_regressions.py::test_neutral_views_recover_market_weights[True-0.04]
FAILED tests/test_black_litterman_regressions.py::test_neutral_views_recover_market_weights[False-0.04]
FAILED tests/test_black_litterman_regressions.py::test_singular_covariance_uses_asset_space_system[views0]
FAILED tests/test_black_litterman_regressions.py::test_singular_covariance_uses_asset_space_system[views1]
4 failed, 2 passed in 1.54s
