This feature request would provide an objectively better performance, especially on exponentially expensive operations such as tensor contraction, which in context of quantum computing, and more specifically state preparation using MPS become massively expensive in terms of time and computation when piled up.
Whilst the package is using numpy, it's not as efficient or as fast as a C based code, so this would be a great but also difficult addition.
Describe the solution you'd like
Depending on preference, quimb should use either pybind11, or Cython to implement the computationally intensive operations, such as contraction, permutation, compression, and SVD using C code instead of python, and simply use python as the interface. This will allow for the integration of the feature without breaking the current codebase or requiring massive update for current users.
Is your feature request related to a problem?
This feature request would provide an objectively better performance, especially on exponentially expensive operations such as tensor contraction, which in context of quantum computing, and more specifically state preparation using MPS become massively expensive in terms of time and computation when piled up.
Whilst the package is using numpy, it's not as efficient or as fast as a C based code, so this would be a great but also difficult addition.
Describe the solution you'd like
Depending on preference, quimb should use either pybind11, or Cython to implement the computationally intensive operations, such as contraction, permutation, compression, and SVD using C code instead of python, and simply use python as the interface. This will allow for the integration of the feature without breaking the current codebase or requiring massive update for current users.
Describe alternatives you've considered
No response
Additional context
No response