title: Sympy `factor` and `simplify` not working properly?
body: <p>Since I am working on a project involving square roots, I need square roots to be simplified to the max. However, some square roots expressions do not produce the disired result. Please consider checking this example:</p>
  <pre><code>&gt;&gt;&gt; from sympy import * # just an example don't tell me that import * is obsolete
  &gt;&gt;&gt; x1 = simplify(factor(sqrt(3 + 2*sqrt(2))))
  &gt;&gt;&gt; x1 # notice that factoring doesn't work
  sqrt(2*sqrt(2) + 3)
  &gt;&gt;&gt; x2 = sqrt(2) + 1
  &gt;&gt;&gt; x2 
  sqrt(2) + 1
  &gt;&gt;&gt; x1 == x2
  False
  &gt;&gt;&gt; N(x1)
  2.41421356237309
  &gt;&gt;&gt; N(x2)
  2.41421356237309
  &gt;&gt;&gt; N(x1) == N(x2)
  True
  </code></pre>
  <p>As you can see, the numbers are actually equal, but numpy can't recognize that because it can't factorize and simplify x1. So how do I get the simplified form of x1 so that the equality would be correct without having to convert them to float ?</p>
  <p>Thanks in advance.</p>