# opt_einsum.path_random.RandomGreedy¶

class opt_einsum.path_random.RandomGreedy(cost_fn='memory-removed-jitter', temperature=1.0, rel_temperature=True, nbranch=8, **kwargs)[source]
Parameters
• cost_fn (callable, optional) – A function that returns a heuristic ‘cost’ of a potential contraction with which to sort candidates. Should have signature cost_fn(size12, size1, size2, k12, k1, k2).

• temperature (float, optional) – When choosing a possible contraction, its relative probability will be proportional to exp(-cost / temperature). Thus the larger temperature is, the further random paths will stray from the normal ‘greedy’ path. Conversely, if set to zero, only paths with exactly the same cost as the best at each step will be explored.

• rel_temperature (bool, optional) – Whether to normalize the temperature at each step to the scale of the best cost. This is generally beneficial as the magnitude of costs can vary significantly throughout a contraction. If False, the algorithm will end up branching when the absolute cost is low, but stick to the ‘greedy’ path when the cost is high - this can also be beneficial.

• nbranch (int, optional) – How many potential paths to calculate probability for and choose from at each step.

• kwargs – Supplied to RandomOptimizer.

__init__(cost_fn='memory-removed-jitter', temperature=1.0, rel_temperature=True, nbranch=8, **kwargs)[source]

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

Methods

 __call__(inputs, output, size_dict, memory_limit) Call self as a function. __del__() __delattr__(name, /) Implement delattr(self, name). __dir__() Default dir() implementation. __eq__(value, /) Return self==value. __format__(format_spec, /) Default object formatter. __ge__(value, /) Return self>=value. __getattribute__(name, /) Return getattr(self, name). __gt__(value, /) Return self>value. __hash__() Return hash(self). __init__([cost_fn, temperature, …]) Initialize self. __init_subclass__ This method is called when a class is subclassed. __le__(value, /) Return self<=value. __lt__(value, /) Return self

Attributes

 __dict__ __doc__ __module__ __weakref__ list of weak references to the object (if defined) choose_fn The function that chooses which contraction to take - make this a property so that temperature and nbranch etc. parallel path The best path found so far.