gpt icon indicating copy to clipboard operation
gpt copied to clipboard

g.ad.forward.series __add__ is not commutative with numpy arrays

Open daknuett opened this issue 2 years ago • 0 comments

fad = g.ad.forward
alpha = fad.infinitesimal("alpha")

On = fad.landau(alpha**2)

series = fad.series(3, On)

arr = np.arange(1, 10, 1)

print(((series + arr) - (arr + series)))

This should print a series of zeroes. Instead, a series of series is printed.

One can fix this by monkey-patching the series class:

fad = g.ad.forward
alpha = fad.infinitesimal("alpha")

On = fad.landau(alpha**2)

fad.series.__array_ufunc__ = None 
# For numpy < 13, add also __numpy_ufunc__.

series = fad.series(3, On)

arr = np.arange(1, 10, 1)

print(((series + arr) - (arr + series)))

The patch to fix this appears straight forward.

daknuett avatar Dec 11 '23 14:12 daknuett