{"shas":[["cfa0f7d0fb3314b9b147918877c9631aa8f7a9a1","f2f163b21cb1150cf8b266a5d030f4f61f6511c6@gmail.com","Cleaned up screenshot saving code. Plot.saveimage now accepts StringIO outfile","Sam Magura"],["d559b4b4acce0dc1b2d4a1ef91745e23bddb4cd8","f2f163b21cb1150cf8b266a5d030f4f61f6511c6@gmail.com","Merge remote-tracking branch 'upstream/master'","Sam Magura"],["b44cc664b8ec5e9296e5ed6a677bb1ed84421630","f2f163b21cb1150cf8b266a5d030f4f61f6511c6@gmail.com","Removed exception handling around save image line.","Sam Magura"],["32c53996995b28e06e9eca858a6b2542d97284d8","6b3d9645a9c327b58e3dc9d112daee4f18dc47dc@gmail.com","normal in sdp_groebner with ordered divisors and monic polynomials\n\nIn this commit there are two bug fixes and an optimization in sdp_groebner.\n\nBug fix in sdp_groebner:\nin sdp_groebner sdp_spoly, as defined, gives the S-poly if the polynomials\nare monic; therefore normal should produce monic polynomials;\nin this branch it does.\nIn all tests made the output Groebner basis is the same with or without\nthis bug fix, there is only a performance improvement fixing it.\n\nBug fix in sdp_str:\nthe constant term was printed twice\n\nOptimization:\nin the division algorithm ordering divisors is on average more efficient,\nsince divisors with small leading monomial are more likely to be used\nin the division algorithm (from D. Cox, J.Little and D.O'Shea\n\"Ideals, Varieties and Algorithms\" 3rd edition, page 111)\n\nBenchmarks examples.\nspeedup using this branch with respect to master:\nusual graph coloring example 1.5x\ncyclic5 lex 2.5x\nkatsura7 grlex 1.1x\nalgebraic number example 9.5x\n\nwhere the algebraic number example is\n>>> x,y,z = symbols('x,y,z')\n>>> I = [x3+x+1,y3+2*y4+y2+1,(x+y)2*z-(x2+y)]\n>>> g=groebner(I, (x,y,z),order='lex')","Mario Pernici"],["2da6f7eee6c7b149342309bad247f3d3e8c8d930","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Pretty print iterated derivatives in a concise way\n\nThis makes iterated derivatives more pleasant to read, e.g.:\n\nIn [1]: zeta(x).series(x, 0, 5)\nOut[1]:\n                            ⎛  2      ⎞│         ⎛  3      ⎞│         ⎛  4      ⎞│\n                          2 ⎜ d       ⎟│       3 ⎜ d       ⎟│       4 ⎜ d       ⎟│\n                         x ⋅⎜───(ζ(x))⎟│      x ⋅⎜───(ζ(x))⎟│      x ⋅⎜───(ζ(x))⎟│\n                            ⎜  2      ⎟│         ⎜  3      ⎟│         ⎜  4      ⎟│\n  1     ⎛d       ⎞│         ⎝dx       ⎠│x=0      ⎝dx       ⎠│x=0      ⎝dx       ⎠│x=0\n- ─ + x⋅⎜──(ζ(x))⎟│    + ────────────────── + ────────────────── + ────────────────── + O(x**5)\n  2     ⎝dx      ⎠│x=0           2                    6                    24","Mateusz Paprocki"],["cfdc918e17782386857d397959a294fd5f79deb0","4e51c28eba28c1534bcc4a6bd2cccd314d8bf749@gmail.com","Fixed Expr.as_ordered_terms() for non-lex term orderings (#2498)\n\nIn [1]: f = x**2*y**2 + x*y**4 + y + 2\n\nIn [2]: f\nOut[2]:\n 2  2      4\nx ⋅y  + x⋅y  + y + 2\n\nIn [3]: f.as_ordered_terms(order=\"lex\")\nOut[3]:\n⎡ 2  2     4      ⎤\n⎣x ⋅y , x⋅y , y, 2⎦\n\nIn [4]: f.as_ordered_terms(order=\"grlex\")\nOut[4]:\n⎡   4   2  2      ⎤\n⎣x⋅y , x ⋅y , y, 2⎦\n\nIn [5]: f.as_ordered_terms(order=\"rev-lex\")\nOut[5]:\n⎡         4   2  2⎤\n⎣2, y, x⋅y , x ⋅y ⎦\n\nIn [6]: f.as_ordered_terms(order=\"rev-grlex\")\nOut[6]:\n⎡       2  2     4⎤\n⎣2, y, x ⋅y , x⋅y ⎦","Mateusz Paprocki"],["f5f4a75cecc789b435d4ab393eb458002f7cd841","b274abc493535ae88cb3a0742f63e38c9241d67c@gmail.com","Merge pull request #433 from mattpap/other_order\n\nFixed Expr.as_ordered_terms() for non-lex term orderings (#2498)","Christopher Smith"],["a52f3b670ae5e09f2d188ee77221b824ad37acd4","b274abc493535ae88cb3a0742f63e38c9241d67c@gmail.com","Merge pull request #404 from smagura/master\n\nChanges to Plot.saveimage, #2","Christopher Smith"],["361f65752b4fa177dbe59c5ee79ef321cdaa0fe5","b274abc493535ae88cb3a0742f63e38c9241d67c@gmail.com","Merge pull request #403 from pernici/groebner_monic\n\ngroebner_monic pull request","Christopher Smith"],["b00c58fe35838cad48947e45ad2bc66e9478bf2f","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Implement callable in a forward-compatible way\n\nPythons 3.0 and 3.1 removed the builtin function callable() (it has\nsince been returned in Python 3.2). Use some boilerplate code in\nsympy/core/compatibility to have callable behave the same in all\nsupported Python versions (2.4+) and import it where required.","Vladimir Perić"],["920b23203ff4714109322b8a1c4188551dfb8758","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Implement reduce in a forward-compatible way\n\nIn Python 3, reduce() has been moved to functools.reduce(). This change\nis available since 2.6, so write some boilerplate code to allow us to\nuse reduce in all supported Python versions (2.4+) and add the required\nimports.","Vladimir Perić"],["6a484ec941976de69ce615ba02fb3cf36e5f1700","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Remove \"classic\" int division\n\nThe division operator has been split since Python 2.2 into floor\ndivision (//) and true division (/). By default, Python 2.x uses the\nold division operator, which has an ambiguous meaning (see PEP 238 for\nmore details and reasoning behind the change). Import division from\n__future__ where we need true division and use floor division where\nappropriate. This change is compatible with all Python versions we\nsupport.","Vladimir Perić"],["7e902aa067e6e78ee866c240bf8207717f8d6f81","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Use != instead of <>\n\nUsing <> is no longer supported in Python 3. Use != instead.","Vladimir Perić"],["1e8da3faf155c8c2f5f476ca5a0b76f5668e1b50","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Remove use of apply()\n\nThe apply() function has been deprecated since 2.3 and is not supported\nin Python 3. Use the extended syntax instead.","Vladimir Perić"],["8d4ceb1dc07f012b4bf580e19ffaf98cae4210aa","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Replace NoneType with type(None)\n\nIn Python 3, the types module doesn't provide NoneType. Remove the\nimport and instead directly call type(None) the one time it's needed.","Vladimir Perić"],["fcf8953fd164f913f40a37ab38e7e5f042878683","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","core/logic: Sort by hash\n\nThere is a call to sorted() which compares unequal types, which is no\nlonger supported in Python 3. As the sort is there just to provide a\ncanonical ordering, use hash as a key function instead. It is possible\nto use str instead, but hash is faster.","Vladimir Perić"],["78e1f253b160046bea13ade408ed83dc3983a168","d399dc26d470d14134f6e1c9d95dfd4ee7e0798f@gmail.com","Replace deprecated dict.has_key(k)\n\nCommit ac0bf11c reintroduced this, replace with key in d, as Python 3\ndoesn't support the old syntax.","Vladimir Perić"],["65126c7443f4d3bb4b20cc43e2c08b44f91b9d57","2bff913ae0d7eb200326c97877d48da71bb33be4@gmail.com","Merge pull request #424 from vperic/porting\n\nPorting to Python 3, part 1","Ronan Lamy"],["0eb0f074c7ec1388fa3a7a735dc3a466f42f9762","25bf21f79a16dfce44c401d023ce25dcf1907fde@cs.uchicago.edu","Matrix Norm Now supports matrices (not just vectors)\n\nSupports different norms (Lp norm on vectors, spectral, frob, on matrices)\n\nSingularValues\ncomputed using Matrix.eigenvals\n\nnumerical_max and numerical_min\nused to compute max, min on numbers and fail on symbols\n\nfixing based on responses\n\nfixing based on responses","Matthew Rocklin"],["69c05b04bdd2bc06353bba39b559f919a09db279","25bf21f79a16dfce44c401d023ce25dcf1907fde@cs.uchicago.edu","Add Matrix.__len__, returns number of elements in the Matrix\n\nAmong other things, this allows bool(Matrix()) == False.\n\nConflicts:\n\n\tsympy/matrices/tests/test_matrices.py\n\nfixed some issues that were brought up on github\nadded asmeurer's __len__ function\nadded some doctests\neverything passes all tests","Matthew Rocklin"]],"ref":"refs/heads/represent","size":57,"head":"c997407ee3eeb064e1c117842b326453175ea3b3","push_id":34569674}