# Function Reference¶

opt_einsum.contract(subscripts, *operands[, …]) Evaluates the Einstein summation convention on the operands.
opt_einsum.contract_path(*operands, **kwargs) Find a contraction order ‘path’, without performing the contraction.
opt_einsum.contract_expression(subscripts, …) Generate a reusable expression for a given contraction with specific shapes, which can, for example, be cached.
opt_einsum.contract.ContractExpression(…) Helper class for storing an explicit contraction_list which can then be repeatedly called solely with the array arguments.
opt_einsum.contract.PathInfo(…) A printable object to contain information about a contraction path.
opt_einsum.paths.optimal(inputs, output, …) Computes all possible pair contractions in a depth-first recursive manner, sieving results based on memory_limit and the best path found so far.
opt_einsum.paths.greedy(inputs, output, …) Finds the path by a three stage algorithm:
opt_einsum.paths.branch(inputs, output, …)
opt_einsum.parser.get_symbol(i) Get the symbol corresponding to int i - runs through the usual 52 letters before resorting to unicode characters, starting at chr(192).
opt_einsum.sharing.shared_intermediates([cache]) Context in which contract intermediate results are shared.
opt_einsum.paths.PathOptimizer Base class for different path optimizers to inherit from.
opt_einsum.paths.BranchBound([nbranch, …]) Explores possible pair contractions in a depth-first recursive manner like the optimal approach, but with extra heuristic early pruning of branches as well sieving by memory_limit and the best path found so far.
opt_einsum.path_random.RandomOptimizer([…]) Base class for running any random path finder that benefits from repeated calling, possibly in a parallel fashion.
opt_einsum.path_random.RandomGreedy([…])
Parameters: cost_fn (callable, optional) – A function that returns a heuristic ‘cost’ of a potential contraction