title: Using the Fraction package with Numpy.linalg: No loop matching the specified signature and casting was found for ufunc solve
body: <p>To prevent floating point issues I'm migrating my code to use Fraction.</p>
  <p>I'm getting an issue where numpy doesn't seem to be able to Handle numbers cast as Fractions.
  Would someone know if there is a way for numpy to do its mathematical operations using a Fraction data type?</p>
  <p><code>pl1.d</code> and <code>pl2.d</code> are both instances of the Fraction class.</p>
  <pre><code>A = np.array([a_vec, b_vec, aXb_vec])
  d = np.array([-pl1.d, -pl2.d, 0.]).reshape(3,1)
  if np.linalg.det(A) == 0: return None    
  p_inter = np.linalg.solve(A, d).T
  </code></pre>
  <p>I've also tried setting the dtype of the np.array to Fraction with no success.</p>
  <pre><code>A = np.array([a_vec, b_vec, aXb_vec])
  d = np.array([-pl1.d, -pl2.d, Fraction(0,1)], dtype=Fraction).reshape(3,1)
  if np.linalg.det(A) == 0: return None    
  p_inter = np.linalg.solve(A, d).T
  </code></pre>
  <p>The Exception for both code snippets is thrown on <code>p_inter = np.linalg.solve(A, d).T</code> and has the message <strong>No loop matching the specified signature and casting was found for ufunc solve</strong></p>
  <p>I've updated my post since I've now converted all variables to instances of the Fraction class and the same exception is now thrown on <code>if np.linalg.det(A) == 0: return None</code></p>