qutip / qutip

QuTiP: Quantum Toolbox in Python
https://qutip.org
BSD 3-Clause "New" or "Revised" License
1.67k stars 633 forks source link

Tests Error #2472

Open LR-27 opened 2 months ago

LR-27 commented 2 months ago

Bug Description

4 tests produce errors (qutip installed with pip in a virtual environment on a Apple M2 pro chip)

Code to Reproduce the Bug

import qutip.testing
qutip.testing.run()

Code Output

================================================================= ERRORS =================================================================
____________________________________________ ERROR collecting qutip/tests/core/test_gates.py _____________________________________________
qutip/tests/core/test_gates.py:109: in <module>
    class TestCliffordGroup:
qutip/tests/core/test_gates.py:115: in TestCliffordGroup
    clifford = gates.qubit_clifford_group()
qutip/core/gates.py:815: in qubit_clifford_group
    X = sigmax()
qutip/core/operators.py:387: in sigmax
    return _SIGMAX.to(dtype, True)
qutip/core/qobj.py:395: in to
    _data.to(data_type, self._data),
qutip/core/data/convert.pyx:395: in qutip.core.data.convert._to.__call__
    return self._convert[to_type, from_type](data)
qutip/core/data/convert.pyx:101: in qutip.core.data.convert._converter.__call__
    arg = self.functions[i](arg)
qutip/core/data/dia.pyx:341: in qutip.core.data.dia.from_csr
    cpdef Dia from_csr(CSR matrix):
qutip/core/data/dia.pyx:353: in qutip.core.data.dia.from_csr
    return Dia((data, diags), shape=matrix.shape, copy=False)
qutip/core/data/dia.pyx:134: in qutip.core.data.dia.Dia.__init__
    self._scipy = _dia_matrix(data, offsets, self.shape)
qutip/core/data/dia.pyx:52: in qutip.core.data.dia._dia_matrix
    scipy_data_matrix.__init__(out)
E   TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
___________________________________________ ERROR collecting qutip/tests/core/test_qobjevo.py ____________________________________________
qutip/tests/core/test_qobjevo.py:72: in <module>
    rand_stochastic(N).to(_data.CSR),
qutip/random_objects.py:871: in rand_stochastic
    return Qobj(M, dims=dims).to(dtype)
qutip/core/qobj.py:307: in __init__
    self._initialize_data(arg, dims, copy)
qutip/core/qobj.py:295: in _initialize_data
    self._data = _data.create(arg, copy=copy)
qutip/core/data/convert.pyx:477: in qutip.core.data.convert._create.__call__
    return create(arg, shape, copy=copy)
qutip/core/data/csr.pyx:139: in qutip.core.data.csr.CSR.__init__
    self._scipy = _csr_matrix(data, col_index, row_index, self.shape)
qutip/core/data/csr.pyx:56: in qutip.core.data.csr._csr_matrix
    scipy_data_matrix.__init__(out)
E   TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
_________________________________________ ERROR collecting qutip/tests/solver/test_integrator.py _________________________________________
qutip/tests/solver/test_integrator.py:16: in <module>
    class TestIntegratorCte():
qutip/tests/solver/test_integrator.py:20: in TestIntegratorCte
    me_system = qutip.liouvillian(qutip.QobjEvo(qutip.qeye(2)),
qutip/core/superoperator.py:96: in liouvillian
    L += sum(lindblad_dissipator(c_op, chi=chi_)
qutip/core/superoperator.py:96: in <genexpr>
    L += sum(lindblad_dissipator(c_op, chi=chi_)
qutip/core/superoperator.py:169: in lindblad_dissipator
    ad_b = a.dag() * b
qutip/core/qobj.py:434: in __mul__
    return self.__matmul__(other)
qutip/core/qobj.py:476: in __matmul__
    _data.matmul(self._data, other._data),
qutip/core/data/dispatch.pyx:392: in qutip.core.data.dispatch.Dispatcher.__call__
    return function(*args, **kwargs)
qutip/core/data/matmul.pyx:329: in qutip.core.data.matmul.matmul_dia
    cpdef Dia matmul_dia(Dia left, Dia right, double complex scale=1):
qutip/core/data/matmul.pyx:332: in qutip.core.data.matmul.matmul_dia
    npoffsets = np.unique(np.add.outer(left.as_scipy().offsets, right.as_scipy().offsets))
qutip/core/data/dia.pyx:202: in qutip.core.data.dia.Dia.as_scipy
    self._scipy = _dia_matrix(data, offsets, self.shape)
qutip/core/data/dia.pyx:52: in qutip.core.data.dia._dia_matrix
    scipy_data_matrix.__init__(out)
E   TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
__________________________________________ ERROR collecting qutip/tests/solver/test_mesolve.py ___________________________________________
qutip/tests/solver/test_mesolve.py:28: in <module>
    class TestMESolveDecay:
qutip/tests/solver/test_mesolve.py:33: in TestMESolveDecay
    ada = a.dag() * a
qutip/core/qobj.py:434: in __mul__
    return self.__matmul__(other)
qutip/core/qobj.py:476: in __matmul__
    _data.matmul(self._data, other._data),
qutip/core/data/dispatch.pyx:392: in qutip.core.data.dispatch.Dispatcher.__call__
    return function(*args, **kwargs)
qutip/core/data/matmul.pyx:329: in qutip.core.data.matmul.matmul_dia
    cpdef Dia matmul_dia(Dia left, Dia right, double complex scale=1):
qutip/core/data/matmul.pyx:332: in qutip.core.data.matmul.matmul_dia
    npoffsets = np.unique(np.add.outer(left.as_scipy().offsets, right.as_scipy().offsets))
qutip/core/data/dia.pyx:202: in qutip.core.data.dia.Dia.as_scipy
    self._scipy = _dia_matrix(data, offsets, self.shape)
qutip/core/data/dia.pyx:52: in qutip.core.data.dia._dia_matrix
    scipy_data_matrix.__init__(out)
E   TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
======================================================== short test summary info =========================================================
ERROR qutip/tests/core/test_gates.py - TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
ERROR qutip/tests/core/test_qobjevo.py - TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
ERROR qutip/tests/solver/test_integrator.py - TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
ERROR qutip/tests/solver/test_mesolve.py - TypeError: _data_matrix.__init__() missing 1 required positional argument: 'arg1'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 4 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================= 17 deselected, 40 warnings, 4 errors in 5.47s ==============================================

Expected Behaviour

No errors

Your Environment

QuTiP Version:      5.0.2
Numpy Version:      1.26.4
Scipy Version:      1.14.0
Cython Version:     3.0.10
Matplotlib Version: 3.9.0
Python Version:     3.12.4
Number of CPUs:     10
BLAS Info:          Generic
INTEL MKL Ext:      False
Platform Info:      Darwin (arm64)
Installation path:  /Users/lorenzo/Desktop/virtual-envs/project1/lib/python3.12/site-packages/qutip

Additional Context

No response

Ericgig commented 2 months ago

Scipy 1.14 is not supported yet. The patch will release with 5.0.3, hopefully today, tomorrow.