In whatever environment you are working, simply installing the python module gmpy would be enough.
In linux just use your package manager like `apt-get install python-gmpy` on ubuntu/debian (or `pip install ...` as described in http://code.google.com/p/gmpy/) In windows it might be harder, but unless something is broken with your python installation it should be sufficient just to download the `exe` installer from http://code.google.com/p/gmpy/downloads/list Just check after install that `import gmpy` works. No need to reinstall python. On 9 April 2013 15:41, ThanhVu (Vu) Nguyen <[email protected]> wrote: > On 4/9/13 12:15 AM, Aaron Meurer wrote: >> These are my timings: >> >> gmpy ground types: > > > How do I install gmpy ground types? Do I just install GMPY from source > and reinstall python to use those ? > > >> >> In [19]: from sympy.polys.benchmarks import bench_solvers >> >> In [20]: %time _ = bench_solvers.time_eqs_165x165() >> CPU times: user 590 ms, sys: 86.9 ms, total: 677 ms >> Wall time: 625 ms >> >> In [21]: %time _ = bench_solvers.time_to_expr_eqs_165x165() >> CPU times: user 4.01 s, sys: 149 ms, total: 4.16 s >> Wall time: 4.08 s >> >> In [22]: %time _ = bench_solvers.time_verify_sol_165x165() >> CPU times: user 4.66 s, sys: 106 ms, total: 4.76 s >> Wall time: 4.69 s >> >> In [23]: %time _ = bench_solvers.time_solve_lin_sys_165x165() >> CPU times: user 2.95 s, sys: 192 ms, total: 3.15 s >> Wall time: 3.02 s >> >> Python ground types >> >> In [1]: from sympy.polys.benchmarks import bench_solvers >> >> In [2]: %time _ = bench_solvers.time_eqs_165x165() >> CPU times: user 975 ms, sys: 154 ms, total: 1.13 s >> Wall time: 1.03 s >> >> In [3]: %time _ = bench_solvers.time_to_expr_eqs_165x165() >> CPU times: user 4.98 s, sys: 113 ms, total: 5.09 s >> Wall time: 5.03 s >> >> In [4]: %time _ = bench_solvers.time_verify_sol_165x165() >> CPU times: user 6.73 s, sys: 64.7 ms, total: 6.79 s >> Wall time: 6.75 s >> >> In [5]: %time _ = bench_solvers.time_solve_lin_sys_165x165() >> CPU times: user 26.2 s, sys: 112 ms, total: 26.4 s >> Wall time: 26.3 s >> >> So the ground types do make a difference, especially in the solve >> times. Note that if gmpy is not installed, it just uses Python ints >> and Fraction for integers and rational numbers (it's likely Fraction >> that is so slow, since it has basic operations like addition and gcd >> implemented in Python loops). >> >> Aaron Meurer >> >> On Tue, Apr 9, 2013 at 12:05 AM, ThanhVu Nguyen >> <[email protected]> wrote: >>> If you want to try it out you have to use >>>> >>>> sparse-polys branch from #1840 pull request. Here is a sample code: >>>> >>>> In [1]: from sympy.polys.benchmarks.bench_solvers import * >>>> >>>> In [2]: %time eqs = eqs_165x165() >>>> CPU times: user 2.12 s, sys: 0.01 s, total: 2.13 s >>>> Wall time: 2.12 s >>>> >>>> In [3]: %time sol = solve_lin_sys(eqs, R_165) >>>> CPU times: user 1.60 s, sys: 0.01 s, total: 1.60 s >>>> Wall time: 1.59 s >>>> >>>>> >>>>> >>> >>> >>> >>> Hi, I just tried the benchmark file from the latest git pull but was not >>> able to achieve such good performance . I don't have GMP installed so >>> using whatever that sympy uses by default. My test below shows solving >>> these equations takes 32 secs, which is 27 times longer than generating >>> them 1.2 s. This contrasts with your stats above which indicates solving >>> these equations takes 1.6 s, which is even faster than generating them in >>> 2.12s (is it even possible ??). >>> >>> Your solve_lin_sy() function is indeed much faster than the default >>> solve(), taking over 600 s. However when I've tried size 248x248 and Sage's >>> solve() still solves under two min but your solve_lin_sys() takes over 20 >>> mins, at which point I just gave up and kill the process. (If you need >>> these data let me know) >>> >>> >>> All the tests below were done on my MacBook in 2011, 2.3 Ghz i3 with 8 GB >>> Ram . Perhaps I should install GMP and try again ? >>> >>> In [1]: import bench_solvers >>> >>> In [2]: %time _ = bench_solvers.time_eqs_165x165() >>> CPU times: user 1.18 s, sys: 0.09 s, total: 1.27 s >>> Wall time: 1.21 s >>> >>> In [3]: %time _ = bench_solvers.time_to_expr_eqs_165x165() >>> CPU times: user 6.10 s, sys: 0.12 s, total: 6.22 s >>> Wall time: 6.16 s >>> >>> In [4]: %time _ = bench_solvers.time_verify_sol_165x165() >>> CPU times: user 8.07 s, sys: 0.05 s, total: 8.12 s >>> Wall time: 8.10 s >>> >>> In [5]: %time _ = bench_solvers.time_solve_lin_sys_165x165() >>> CPU times: user 32.52 s, sys: 0.11 s, total: 32.63 s >>> Wall time: 32.62 s >>> >>> >>> In [7]: eqs = bench_solvers.eqs_165x165() >>> >>> In [8]: eqs_ = [eqt.as_expr() for eqt in eqs] >>> >>> In [11]: from sympy import solve >>> >>> In [9]: %time _ = solve(eqs_,as_dict=True) #default solve() >>> CPU times: user 610.49 s, sys: 2.05 s, total: 612.54 s >>> Wall time: 614.68 s >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "sympy" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/sympy?hl=en-US. >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >> > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy?hl=en-US. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.
