{"shas":[["b0967811608b46d93ef2f5636317e9cdbef62591","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Added test for factor(y/pi + y*sin(x)/pi) (#783)","Mateusz Paprocki"],["d7d88cb2430c4fc74d89eb9f86de85b5684e800a","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Added test for huge Sturm sequence example (#326)","Mateusz Paprocki"],["9e83e42613e1bbdd34f4adff29cc41e77fa9ff86","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Added test for parsing sin(x), cos(x) in polys (#1355)","Mateusz Paprocki"],["efcc71656e598ce6ae4fb90b85b236b680a724f2","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Clenead up situation with automatic domain conversion\n\nIn [1]: monic(2*x**2 + 3*x + 4)\nOut[1]:\n    3⋅x    2\n2 + ─── + x\n     2\n\nIn [2]: monic(2*x**2 + 3*x + 4, auto=False)\n...\nExactQuotientFailed: 2 does not divide 3 in ZZ\n\nAlso this now works:\n\nIn [3]: solve(x**2+x+1.0, x)\nOut[3]: [-0.5 - 0.866025403784439⋅ⅈ, -0.5 + 0.866025403784439⋅ⅈ]\n\nNote that for computing numerical roots of polynomials there\nis nroots() function (which utilizes mpmath's solvers).","Mateusz Paprocki"],["dc93661e7acf07e42da504a98cc74ac695ac6151","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Renamed ground_to_ring() to clear_denoms()","Mateusz Paprocki"],["3cbc7635af137d9936ae973b230ecb8710893da7","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Added test for issue 1432","Mateusz Paprocki"],["b36683cc5bbd338718a5411ad0a5f690be915209","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Implemented gf_lcm() and gf_cofactors() (+ toplevel)\n\nIn [1]: f = x**2 + 8*x + 7\n\nIn [2]: g = x**3 + 7*x**2 + x + 7\n\nIn [3]: cofactors(f, g, modulus=11)\nOut[3]:\n⎛                    2⎞\n⎝-4 + x, 1 + x, 1 + x ⎠\n\nIn [4]: lcm(f, g, modulus=11)\nOut[4]:\n              2      3    4\n-4 - 3⋅x - 3⋅x  - 3⋅x  + x\n\nIn [5]: cofactors(f, g, modulus=11, symmetric=False)\nOut[5]:\n⎛                   2⎞\n⎝7 + x, 1 + x, 1 + x ⎠\n\nIn [6]: lcm(f, g, modulus=11, symmetric=False)\nOut[6]:\n             2      3    4\n7 + 8⋅x + 8⋅x  + 8⋅x  + x","Mateusz Paprocki"],["d0e4fb76f14d3ce5c79a855a2070d8ecc900b990","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Improved real root isolation, faster and more tools\n\nIn [1]: intervals(x**2 - 2)\nOut[1]: [((-2, -1), 1), ((1, 2), 1)]\n\nIn [2]: intervals(x**2 - 2, eps=S(1)/100)\nOut[2]:\n⎡⎛⎛  17    24⎞   ⎞  ⎛⎛24  17⎞   ⎞⎤\n⎢⎜⎜- ──, - ──⎟, 1⎟, ⎜⎜──, ──⎟, 1⎟⎥\n⎣⎝⎝  12    17⎠   ⎠  ⎝⎝17  12⎠   ⎠⎦\n\nIn [3]: intervals(x**2 - 2, eps=1e-2)\nOut[3]:\n⎡⎛⎛  17    24⎞   ⎞  ⎛⎛24  17⎞   ⎞⎤\n⎢⎜⎜- ──, - ──⎟, 1⎟, ⎜⎜──, ──⎟, 1⎟⎥\n⎣⎝⎝  12    17⎠   ⎠  ⎝⎝17  12⎠   ⎠⎦\n\nIn [4]: Poly(x**2 - 2).refine_root(1, 2, eps=S(1)/10000)\nOut[4]:\n⎛239  99⎞\n⎜───, ──⎟\n⎝169  70⎠\n\nIn [5]: Poly(x**2 - 2).refine_root(1, 2, steps=10)\nOut[5]:\n⎛140  99⎞\n⎜───, ──⎟\n⎝ 99  70⎠\n\nIn [6]: Poly(x**2 - 2).refine_root(1, 2, steps=15)\nOut[6]:\n⎛1393  577⎞\n⎜────, ───⎟\n⎝985   408⎠\n\nIn [7]: intervals([x**5 - 200, x**5 - 201])\nOut[7]:\n⎡⎛⎛75  101⎞        ⎞  ⎛⎛283      ⎞        ⎞⎤\n⎢⎜⎜──, ───⎟, {0: 1}⎟, ⎜⎜───, 26/9⎟, {1: 1}⎟⎥\n⎣⎝⎝26   35⎠        ⎠  ⎝⎝ 98      ⎠        ⎠⎦","Mateusz Paprocki"],["9235e5afda02ef20e13ec4742b24d67c65659bfc","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Added 'inf' and 'sup' keywords to intervals()\n\nConsider polynomial x**2 - 2:\n\nIn [1]: intervals(x**2 - 2)\nOut[1]: [((-2, -1), 1), ((1, 2), 1)]\n\nWe got two real roots on (-oo, oo). We can find isolating\nintervals on a smaller domain, e.g.:\n\nIn [2]: intervals(x**2 - 2, inf=1)\nOut[2]: [((1, 2), 1)]\n\nIn [3]: intervals(x**2 - 2, sup=1)\nOut[3]: [((-2, -1), 1)]\n\nIf the infimum or the supremum is inside of any of the disjoint\nisolating intervals, each such interval is refined until a True/\nFalse answer can be given to a question if those intervals should\nbe discarded or not, e.g.:\n\nIn [4]: intervals(x**2 - 2, inf=S(7)/5)\nOut[4]: [((7/5, 3/2), 1)]\n\nStrict inequalities are used for 'inf' and 'sup', e.g.:\n\nIn [5]: intervals(x - 1, inf=1)\nOut[5]: [((1, 1), 1)]\n\nIn [6]: intervals(x - 1, sup=1)\nOut[6]: [((1, 1), 1)]\n\nIn [7]: intervals(x - 1, inf=1, sup=1)\nOut[7]: [((1, 1), 1)]","Mateusz Paprocki"],["45d51717f706d8d3ef18494503d6f00902430fe6","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Fixed real root isolation functions to handle zero","Mateusz Paprocki"],["f613c791efdb88447511bca0e5acd6697ce49c91","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","If no 'steps' or 'eps' given in refine_root(), set steps=1\n\nThe following is equivalent:\n\nIn [1]: Poly(x**2 - 2).refine_root(1, 2)\nOut[1]: (1, 3/2)\n\nIn [2]: Poly(x**2 - 2).refine_root(1, 2, steps=1)\nOut[2]: (1, 3/2)\n\nSetting 'eps' will leave 'steps=None', e.g.:\n\nIn [3]: Poly(x**2 - 2).refine_root(1, 2, eps=S(1)/1000)\nOut[3]:\n⎛41  58⎞\n⎜──, ──⎟\n⎝29  41⎠","Mateusz Paprocki"],["4b3e7b3422fb9a75af82ba02fd30545d3999dfa1","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Use 'eps' and 'steps' simultaneously in root refinement\n\nNow one can set two goals at once, i.e. specify the desired maximal\nwidth of the isolating interval and limit the number of refinement\nsteps, e.g.:\n\nIn [1]: Poly(x**2 - 2).refine_root(1, 2, steps=5)\nOut[1]:\n⎛     17⎞\n⎜7/5, ──⎟\n⎝     12⎠\n\nIn [2]: Poly(x**2 - 2).refine_root(1, 2, steps=6)\nOut[2]:\n⎛24  17⎞\n⎜──, ──⎟\n⎝17  12⎠\n\nIn [3]: Poly(x**2 - 2).refine_root(1, 2, eps=S(1)/100)\nOut[3]:\n⎛24  17⎞\n⎜──, ──⎟\n⎝17  12⎠\n\nIn [4]: Poly(x**2 - 2).refine_root(1, 2, eps=S(1)/100, steps=5)\nOut[4]:\n⎛     17⎞\n⎜7/5, ──⎟\n⎝     12⎠\n\nIn [5]: Poly(x**2 - 2).refine_root(1, 2, eps=S(1)/100, steps=7)\nOut[5]:\n⎛24  17⎞\n⎜──, ──⎟\n⎝17  12⎠","Mateusz Paprocki"],["284ee412d97c7a726a452b61c3a2a4c30104da82","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Exposed refine_root() function to the top-level\n\nThe new function is a wrapper for Poly.refine_root() and\naccepts a univariate polynomial as an expression or Poly\nclass instance, e.g.:\n\nIn [1]: refine_root(x**2 - 2, 1, 2, eps=S(1)/100)\nOut[1]:\n⎛24  17⎞\n⎜──, ──⎟\n⎝17  12⎠\n\nNote that generators can't be specified for this function.","Mateusz Paprocki"],["ed5b956d7411a5aaefb108cf24283565bbf4f51a","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Fixed trivial negative root isolation when inf >= 0","Mateusz Paprocki"],["8699ec66689cdfae9511ced1035271ea9f7410c2","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Make intervals() more explicit, no keyword arguments","Mateusz Paprocki"],["fbd76d74dca012802038af66462de8ef781f35b8","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Make nroots() more explicit, no keyword arguments","Mateusz Paprocki"],["b318d0fbeedff8c9e08846e543f9bc6a9973bfc6","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Changed keyword to explicit arguments in dmp_{eject,inject}","Mateusz Paprocki"],["3078ecb2e39c5a690eb0c2b3922af6c1ecd2bf82","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Don't import sympy.functions from polys.monomialtools","Mateusz Paprocki"],["77346f0e56b6ca5d33d955d8eeb4178d29b757d4","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Cleaned up functions.special.polynomials, use polys","Mateusz Paprocki"],["9ca35303b45c234a3a428402e1a8231b54973215","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Use non-greedy expression parser in nroots()","Mateusz Paprocki"]],"repo":"smichr/sympy","actor":"smichr","ref":"refs/heads/p12","size":375,"head":"cb171903c50f6ef68ece180a11ac24ab3c39dfd5","actor_gravatar":"61e106a28e171b4407171702b182759f","push_id":25514259}