Skip to content

Releases: 65001/AbMath

Version 2.1.0

30 Oct 02:40
720bb75
Compare
Choose a tag to compare

Here are some of the changes:
Bug Fixes
Added a generic infinite optimization chain guard and removed a conflicting rule that
would result in such a bug.

Possibly Breaking
Now has a get number method.
The sum command will be reimplemented to represent a different concept and has been replaced with the total command.

Simplifications

  1. cos(x)/sin(x) -> cot(x)
  2. sin(x)/cos(x) -> tan(x)
  3. [f(x) * cos(x)]/sin(x) -> f(x) * cot(x)
  4. f(x)/sec(g(x)) -> f(x)cos(g(x))
  5. f(x)/csc(g(x)) -> f(x)sin(g(x))
  6. f(x)/cot(g(x)) -> f(x)tan(g(x))
  7. f(x)/cos(g(x)) -> f(x)sec(g(x))
  8. f(x)/sin(g(x)) -> f(x)csc(g(x))
  9. f(x)/tan(g(x)) -> f(x)cot(g(x))
  10. cos(-f(x)) -> cos(f(x))
  11. sec(-f(x)) -> sec(f(x))
  12. sin(-f(x)) -> -1 * sin(f(x))
  13. tan(-f(x)) -> -1 * tan(f(x))
  14. csc(-f(x)) -> -1 * csc(f(x))
  15. cot(-f(x)) -> -1 * cot(f(x))
  16. (c * f(x))/c -> f(x) where c is not 0
  17. [f(x)/g(x)]/ h(x) -> [f(x)/g(x)]/[h(x)/1] - > f(x)/[g(x) * h(x)]
  18. f(x)/g(x) - h(x)/g(x) -> [f(x) - h(x)]/g(x)
  19. f(x) - (-1 * g(x)) -> f(x) + g(x)
  20. f(x) - (-c) -> f(x) + c
  21. -f(x) + g(x) -> g(x) - f(x)
  22. -1[f(x) - g(x)] -> -f(x) + g(x) -> g(x) - f(x)
  23. cos(x)/(f(x) * sin(x)) -> cot(x)/f(x)

We have added the ability for users to see how a derivation works in depth.
Added a solve command that is a WIP.

Misc
Added the ability for derivative to be called multiple times in one call
The toPostFix, simplify, and derive methods no longer depends on recursion.
Laid the groundwork for a better normalization and compressing system.
Removed unnecessary clones which should result in a slight performance increase.
Added restrictions to some simplifications to avoid messing with domains of functions.
Misc performance improvements.

Added a flag Implicit Multiplication Priority which determines if 1/2x is
grouped as 1/(2x) when on and (1/2)x when off.

Version 2.0

11 Jul 02:19
8a99e88
Compare
Choose a tag to compare

Bug Fixes

The log function now correctly accepts base and function arguments in a manner more in line with traditional applications such as Wolfram alpha.

Vardiac functions are now perfected and should work all the time.

Derivatives

Quotient Rule, Power Rule, Addition and subtraction, and trig function support added.
Nearly all functions and operators have been supported with this new derivative functionality.
To derive an equation enter derivative(f(x),x) where f(x) is an arbitrary expression.

Simplifications

All simplifications from Post Simplify and Pre Simplify have been merged into AST.Simplify.
This will result in two steps in the pipeline being removed and performance being improved greatly as a direct result. AST Simplification is also more powerful due to its ability to operate on trees instead of strings.

Misc

Added the gamma, sec, csc, cot, arcsin, arccos, arctan, arcsec, arccsc, and arccot function.
Created the AST class that is used to calculate derivatives and powerful simplifications.
Added the ability to integrate functions by approximating them using approximation methods.
To integrate a function enter integrate(f(x),variable, start,end, interval size) into the calculator where f(x) is an arbitrary expression. The interval size is an optional parameter and is by default set at 0.001.

Version 1.0.4

15 Apr 20:49
1676870
Compare
Choose a tag to compare

Bug Fixes

End of string bug involving unary operators.

Fixed arity constant bug

Features

Simplification before and after the shunting yard algorithm.
These simplifications can occasionally return a numerical answer even when there are variables in the equation. These simplifications are not yet perfect and may not always generate mathematically correct code.

Added radian (rad) and degree (deg) functions.

Version 1.0.3

24 Jan 17:39
1e262c9
Compare
Choose a tag to compare

Bug Fixes

Fixed the round function
Fixed Contains Variables bug
Fixed Unary bugs.

Features

Added implicit multiplication support
Ability to detect arity of functions which allows variadic functions. This is not yet perfected.
Added the ability to automatically format known constants to other human readable versions.

Version 1.0.2

09 Apr 02:10
Compare
Choose a tag to compare

Changes

Added Alias capability
GCM and LCM support