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.
Jonathan