Fwd: ANN: Algebra_with_Sympy update to v0.12.0...

Skip to first unread message


Jul 15, 2023, 3:54:34 PM7/15/23
to sage...@googlegroups.com
Relevant development from an old friend of Sage Math who is now apparently using SymPy for some interesting stuff!

---------- Forwarded message ---------
From: gu...@uwosh.edu <gu...@uwosh.edu>
Date: Friday, July 14, 2023 at 10:42:05 AM UTC-4
Subject: ANN: Algebra_with_Sympy update to v0.12.0...
To: Teaching with Jupyter Notebooks <jupyter-...@googlegroups.com>

Algebra_with_Sympy defines relations that all high school and college students would recognize as mathematical equations. They consist of a left hand side (lhs) and a right hand side (rhs) connected by the relation operator "=". In addition, it sets some convenient defaults and provides some useful controls of output formatting that may be useful even if you do not use the Equation class (see Conveniences for SymPy).

This tool applies operations to both sides of the equation simultaneously, just as students are taught to do when attempting to isolate (solve for) a variable. Thus the statement Equation/b yields a new equation Equation.lhs/b = Equation.rhs/b

The intent is to allow using the mathematical tools in SymPy to rearrange equations and perform algebra in a stepwise fashion using as close to standard mathematical notation as possible. In this way more people can successfully perform algebraic rearrangements without stumbling over missed details such as a negative sign.

Enhancements in the last two updates:

  • 0.12.0 (July 12, 2023)
    • Now defaults to interpreting numbers without decimal points as integers. This can be turned off with unset_integers_as_exact() and on with set_integers_as_exact(). When on the flag algwsym_config.numerics.integers_as_exact = True.
  • 0.11.0 (June 5, 2023)
    • Formatting of FiniteSets overridden so that the contents always pretty-print. This removes the necessity of special flags to get pretty output from solve.
    • Sympy solve() now works reliably with equations and outputs pretty-printed solutions.
    • Added option algwsym_config.output.solve_to_list = True which causes solve() to return solutions sets as Python lists. Using this option prevents pretty-printing of the solutions produced by solve().
    • algwsym_config.output.show_code and algwsym_config.output.human_text now work for all sympy objects, not just Equation objects. This works in terminal, IPython terminal and Jupyter. This is achieved by hooking into the python display_hook and IPython display_formatter.
    • Added jupyter to requirements.txt so that virtual environment builds will include jupyter.
    • The way __version__ was handled could break pip install. Changed to generating the internal version during setup. This means the version is now available as algwsym_version.

Feedback and feature requests welcome.

Reply all
Reply to author
0 new messages