Skip to content

Commit

Permalink
Simplifications (#33)
Browse files Browse the repository at this point in the history
* Added a rule class

* Added a rule manager

* Moved Sqrt Optimizations over to the Rule Manager

* Misc changes

* Added the ability to deepclone a node

* Moved some log simplifications over

* Rule conversion project (#32)

* Added more powerful abstractions and added more log rule

* More log rules converted

* Added ln summation and subtraction rules

* Misc Folder changes

* More Misc file movings

* Misc Changes

* Removed Parallelizable tags

* Added some subtraction rules

* Added a log rule

* Moved stuff around

* Added a division rule set

* Added gcd rule

* Update Division.cs

* Added a subtraction coefficientreduction rule

* Added more powerful simplifier

* Division Flip rule added

* Division constant cancelation

* Added division by zero and power reduction rules

* Added another division rule

* Removed the Imaginary Simplifications set and moved it into the sqrt set

* Bug Fix

* Started on multiplication simplification conversions

* More conversions

* Added a lot of addition rules

* Moved more addition rules over

* Moved all multiplications over

* Moved Exponent Rules Over

* Moved Tables.cs to a new namespace

* Wrote a Logging class

* Rewrote Tables so that it hopefully uses less memory

* Moved tables over to new Schema syntax for better efficiencey

* Fixed Incorrect Trig Derivative bug #31

* Started moving some trig rules over

* Modified how infix prints out nodes to reduce amount of nesting

* IP commit

* Added Even and Odd Identities

* Added more trig rules

* Moved all Trig Rules over

* Rewrote part of this node rule

* Misc commit

* Added some sum rules

* Attempts at optimizing Tokenizer

* Started to Make Node Comporable

* Sum Power Expansion added

* Liberalized some rules

* Added a new Subtraction Rule

f(x) - (g(x) - h(x)) -> f(x) - g(x) + h(x) -> (f(x) + h(x)) - g(x)

* Added factorial simplifications

* Added the concept of descriptions

* Added displaying description on arguments being out of range

* Started adding descriptions

Added descriptions to max and min

* Misc Changes

* Added more descriptions and misc refactors

* Misc Refactor

Moved folder
Added more description

* Added CoefficientDivision rules for derivatives and summations

Renamed OptimizerRuleSet to OptimizerRuleEngine
Moved OptimizerRuleEngine into its own file
Added appropriate unit tests

* Bunch of small changes

Changed infix behaviour to have less paranthesis
Added Integral Simplification Rule Set Foundations

Rule Simplifications:
f(x)/g(x) + h(x)/g(x) -> [f(x) + h(x)]/g(x)
abs(f(x))^2 ->f(x)^2

* Create config.yml

* Added Integration Rules

Added constant, coefficient, and single variable rules.
In Node added Contains and IsVariable methods.

* Misc Changes
  • Loading branch information
65001 authored Aug 1, 2020
1 parent 720bb75 commit 407a2a9
Show file tree
Hide file tree
Showing 50 changed files with 4,011 additions and 1,847 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -328,3 +328,4 @@ ASALocalRun/
.vscode/launch.json
.vscode/tasks.json
.vscode/settings.json
*.diagsession
Binary file modified AbMath/AbMath.dll
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2,150 changes: 918 additions & 1,232 deletions AbMath/Calculator/AST.cs

Large diffs are not rendered by default.

Loading

0 comments on commit 407a2a9

Please sign in to comment.