opt_einsum.contract.ContractExpression

class opt_einsum.contract.ContractExpression(contraction, contraction_list, constants_dict, **einsum_kwargs)[source]

Helper class for storing an explicit contraction_list which can then be repeatedly called solely with the array arguments.

__init__(contraction, contraction_list, constants_dict, **einsum_kwargs)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__call__(*arrays, **kwargs)

Evaluate this expression with a set of arrays.

__delattr__

Implement delattr(self, name).

__dir__

Default dir() implementation.

__eq__

Return self==value.

__format__

Default object formatter.

__ge__

Return self>=value.

__getattribute__

Return getattr(self, name).

__gt__

Return self>value.

__hash__

Return hash(self).

__init__(contraction, contraction_list, …)

Initialize self.

__init_subclass__

This method is called when a class is subclassed.

__le__

Return self<=value.

__lt__

Return self<value.

__ne__

Return self!=value.

__new__

Create and return a new object.

__reduce__

Helper for pickle.

__reduce_ex__

Helper for pickle.

__repr__()

Return repr(self).

__setattr__

Implement setattr(self, name, value).

__sizeof__

Size of object in memory, in bytes.

__str__()

Return str(self).

__subclasshook__

Abstract classes can override this to customize issubclass().

_contract(arrays[, out, backend, …])

The normal, core contraction.

_contract_with_conversion(arrays, out, backend)

Special contraction, i.e., contraction with a different backend but converting to and from that backend.

_get_backend_expression(arrays, backend)

_get_evaluated_constants(backend)

Retrieve or generate the cached list of constant operators (mixed in with None representing non-consts) and the remaining contraction list.

evaluate_constants([backend])

Convert any constant operands to the correct backend form, and perform as many contractions as possible to create a new list of operands, stored in self._evaluated_constants[backend].

Attributes

__dict__

__doc__

__module__

__weakref__

list of weak references to the object (if defined)

evaluate_constants(backend='auto')[source]

Convert any constant operands to the correct backend form, and perform as many contractions as possible to create a new list of operands, stored in self._evaluated_constants[backend]. This also makes sure self.contraction_list only contains the remaining, non-const operations.