One correction above for posterity. The Theano version you posted, f =
theano.function([x,y], np.dot(x, y)), does two vector-vector dot products.
So it interprets your input matrix as two separate vectors and separately
does a dot of each of them with the input vector, y. Also, note that the
I believe the way it works is through operator overloading. In python you
can change the behavior of operators. I could explain it more here but
ThePythonGuru has a great write-up on how operator overloading works in
Python: https://thepythonguru.com/python-operator-overloading/
The way it
Got another question that can't find guidelines from Theano document.
Consider these two cases:
Case 1:
a = T.dmatrix('a')
b = T.dmatrix('b')
c = T.dmatrix('c')
y = T.pow(a,b)-c
f = theano.function([a,b,c], y)
f(np.reshape(np.ogrid[0:1:4j],(2,2)),np.reshape(np.ogrid[0:1:4j],(2,2)),