import numpy as np
from funcy import rcompose, partial


a = np.array([
    [0, 2],
    [1, 0],
])

b = np.array([
    [1, -2],
    [1, 0],
])

y = np.dot(a, np.dot(b, a,))
print(y)
print(a @ b @ a)
print(rcompose(
    partial(np.dot, a, b),
    partial(np.dot, a),
)())
9b357100511a8759f09f4003f64aeca8ea621473
<mask token>

<mask token>
print(y)
print(a @ b @ a)
print(rcompose(partial(np.dot, a, b), partial(np.dot, a))())

<mask token>
a = np.array([[0, 2], [1, 0]])
b = np.array([[1, -2], [1, 0]])
y = np.dot(a, np.dot(b, a))
print(y)
print(a @ b @ a)
print(rcompose(partial(np.dot, a, b), partial(np.dot, a))())

import numpy as np
from funcy import rcompose, partial
a = np.array([[0, 2], [1, 0]])
b = np.array([[1, -2], [1, 0]])
y = np.dot(a, np.dot(b, a))
print(y)
print(a @ b @ a)
print(rcompose(partial(np.dot, a, b), partial(np.dot, a))())

import numpy as np
from funcy import rcompose, partial


a = np.array([
    [0, 2],
    [1, 0],
])

b = np.array([
    [1, -2],
    [1, 0],
])

y = np.dot(a, np.dot(b, a,))
print(y)
print(a @ b @ a)
print(rcompose(
    partial(np.dot, a, b),
    partial(np.dot, a),
)())