https://github.com/tensorly/tensorly
_prod.py
from functools import reduce
def _prod(array_like):
"""Calculate the product of all the elements in the input iterable. The default start value for the product is 1.
When the iterable is empty, return the start value.
Parameters
----------
array_like : list-like object
Returns
-------
equivalent of math.prod(array_like)
"""
return reduce(lambda x, y: x * y, array_like, 1)
try:
from math import prod
except ImportError:
prod = _prod