diff --git a/qiskit_dynamics/arraylias/register_functions/asarray.py b/qiskit_dynamics/arraylias/register_functions/asarray.py index a4db54228..62c5d325b 100644 --- a/qiskit_dynamics/arraylias/register_functions/asarray.py +++ b/qiskit_dynamics/arraylias/register_functions/asarray.py @@ -27,6 +27,10 @@ def register_asarray(alias): def _(arr): return np.asarray(arr) + @alias.register_fallback(path="asarray") + def _(arr): + return np.asarray(arr) + @alias.register_function(lib="scipy_sparse", path="asarray") def _(arr): if issparse(arr): @@ -44,7 +48,3 @@ def _(arr): except ImportError: pass - - @alias.register_fallback(path="asarray") - def _(arr): - return np.asarray(arr) diff --git a/qiskit_dynamics/arraylias/register_functions/multiply.py b/qiskit_dynamics/arraylias/register_functions/multiply.py index 9cb2f2ec1..88765821d 100644 --- a/qiskit_dynamics/arraylias/register_functions/multiply.py +++ b/qiskit_dynamics/arraylias/register_functions/multiply.py @@ -20,6 +20,10 @@ def register_multiply(alias): """Register multiply functions to each array library.""" + @alias.register_fallback(path="multiply") + def _(x, y): + return x * y + @alias.register_function(lib="scipy_sparse", path="multiply") def _(x, y): return x.multiply(y) @@ -36,7 +40,3 @@ def _(x, y): except ImportError: pass - - @alias.register_fallback(path="multiply") - def _(x, y): - return x * y diff --git a/qiskit_dynamics/arraylias/register_functions/to_dense.py b/qiskit_dynamics/arraylias/register_functions/to_dense.py index 0eec3e65c..b1ecd03d3 100644 --- a/qiskit_dynamics/arraylias/register_functions/to_dense.py +++ b/qiskit_dynamics/arraylias/register_functions/to_dense.py @@ -29,6 +29,10 @@ def _(arr): return None return np.asarray(arr) + @alias.register_fallback(path="to_dense") + def _(arr): + return np.asarray(arr) + @alias.register_function(lib="numpy", path="to_dense") def _(arr): return arr @@ -49,7 +53,3 @@ def _(arr): @alias.register_function(lib="scipy_sparse", path="to_dense") def _(arr): return arr.toarray() - - @alias.register_fallback(path="to_dense") - def _(arr): - return np.asarray(arr) diff --git a/qiskit_dynamics/arraylias/register_functions/to_numeric_matrix_type.py b/qiskit_dynamics/arraylias/register_functions/to_numeric_matrix_type.py index e57f16245..3f25a56a6 100644 --- a/qiskit_dynamics/arraylias/register_functions/to_numeric_matrix_type.py +++ b/qiskit_dynamics/arraylias/register_functions/to_numeric_matrix_type.py @@ -31,6 +31,10 @@ def _(arr): return alias().to_sparse(arr.data) return arr + @alias.register_fallback(path="to_numeric_matrix_type") + def _(arr): + return arr + @alias.register_function(lib="numpy", path="to_numeric_matrix_type") def _(arr): return arr @@ -51,7 +55,3 @@ def _(arr): @alias.register_function(lib="scipy_sparse", path="to_numeric_matrix_type") def _(arr): return arr - - @alias.register_fallback(path="to_numeric_matrix_type") - def _(arr): - return arr diff --git a/qiskit_dynamics/arraylias/register_functions/to_sparse.py b/qiskit_dynamics/arraylias/register_functions/to_sparse.py index a79d603d1..8f5a09e64 100644 --- a/qiskit_dynamics/arraylias/register_functions/to_sparse.py +++ b/qiskit_dynamics/arraylias/register_functions/to_sparse.py @@ -32,6 +32,10 @@ def _(arr): return arr.data return arr + @alias.register_fallback(path="to_sparse") + def _(arr): + return csr_matrix(arr) + @alias.register_function(lib="numpy", path="to_sparse") def _(arr): if arr.ndim < 3: @@ -55,7 +59,3 @@ def _(arr): @alias.register_function(lib="scipy_sparse", path="to_sparse") def _(arr): return arr - - @alias.register_fallback(path="to_sparse") - def _(arr): - return csr_matrix(arr)