Adds a object
backend for optimized contractions on arbitrary Python objects.
New Features
- (#145) Adds a
object
based backend so thatcontract(backend='object')
can be used on arbitrary objects such as SymPy symbols.
Enhancements
- (#140) Better error messages when the requested
contract
backend cannot be found. - (#141) Adds a check with RandomOptimizers to ensure the objects are not accidentally reused for different contractions.
- (#149) Limits the
remaining
category for thecontract_path
output to only show up to 20 tensors to prevent issues with the quadratically scaling memory requirements and the number of print lines for large contractions.