title: Error because of Theano and NumPy variable types
body: <p>I am writing this code using numpy 1.9 and the latest version of Theano but I get an error which I can't fix. I doubt it could be the way I declare variable types but I can't work it around. I appreciate your suggestions. I want to product a matrix with a vector and sum it with a bias. </p>
  
  <pre><code>import theano.tensor as T
  from theano import function
  import numpy as np
  import pprint
  def test_theano_matrix():
     pp = pprint.PrettyPrinter(indent=3)
     W= T.fmatrix()
     x=T.fvector()
     b= T.fvector()
     y = T.dot(W,x) + b
     lin_func = function([W,x,b],y)
     dt = np.dtype(np.float)
     w_inp = np.matrix('1 0;0 1',dtype=dt)
     x_inp = np.matrix('2;1',dtype=dt)
     b_inp = np.matrix('0;0',dtype=dt)
     lin_func(w_inp,x_inp,b_inp)
  
   if __name__ == '__main__':
     test_theano_matrix()
  </code></pre>
  
  <p>I get the following error:</p>
  
  <pre><code>raise TypeError(err_msg, data)
  TypeError: ('Bad input argument to theano function at index 0(0-based)',
  'TensorType(float32, matrix) cannot store a value of dtype float64 without risking loss of precision. If you do not mind this loss, you can: 1) explicitly cast your data to float32, or 2) set "allow_input_downcast=True" when calling "function".', matrix([[ 1.,  0.],[ 0.,  1.]]))
  </code></pre>
  
  <p>Thanks for your time!</p>