https://github.com/neu-rah/algo
symbolic math / computer algebra experiments
https://github.com/neu-rah/algo
algebra haskell math symbolic symbolic-computation
Last synced: 6 months ago
JSON representation
symbolic math / computer algebra experiments
- Host: GitHub
- URL: https://github.com/neu-rah/algo
- Owner: neu-rah
- Created: 2016-07-19T18:37:43.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-21T20:39:04.000Z (over 8 years ago)
- Last Synced: 2025-02-14T01:17:32.871Z (8 months ago)
- Topics: algebra, haskell, math, symbolic, symbolic-computation
- Language: Haskell
- Size: 7.25 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Algo - Algebra Objects
Computer Algebra Experiments
This project was both and experiment with computational algebra and my first haskel project.
So, its NOT a good place for seeking knowleage of either.However i can resume what I've learned with the algebra part errors or missconceptions as:
- Operators should have been grouped ( + - )( * / )(^ log root)
that would have made the rules system much more simple and generic- functions sould have been the base of operator and maybe they should use currying
## includes:
**Rules system** - transform algebra expressions by transformation description also in algebra expression
(programmable calculation with algebra language)**parser** - text parser for algebra expressions (quite rough)
**calc** - numerical calculation and some obvious operations like neutral removal
**simplify** - apply internal simplification rules
**evid** - try to isolate a sub-expression
**solve** - draw solving steps
**verify** - verifies the result (not for simple numeric calc)
## samples
R=E/I ⇔ I=E/Ra=x ∧ a=1 ⇔ 1=x ∧ a=1 ⇔ x=1 ∧ a=1
a ∈ [0;1[ ∧ a+b=12 ⇔ a≥0 ∧ a<1 ∧ b≤12 ∧ b>11
]-∞;2] ∩ ]2;10[=∅
a-a²=0 ⇔ a=(-1±root((1-0),2))/-2 ⇔ a=(-1±root((1+0),2))/-2 ⇔ a=(-1±root(1,2))/-2 ⇔ a=(-1±1)/-2 ⇔ a=(0 ∨ -1-1)/-2 ⇔ a=(0 ∨ -2)/-2 ⇔ a=-0/2 ∨ 2/2 ⇔ a=-0 ∨ 1 ⇔ a=0 ∨ 1 ⇔ a=0 ∨ a=1
5.0V/50.0mA=100.0Ω
|f(x)=2·x ⇔ |f(x)=2·x ⇔ |f(x)=2·x ⇔ |f(x)=2·x
|f(y)=98 |2·y=98 |y=98/2 |y=49|f(n)=2·n ⇔ |n·2=2·n ⇔ |True ⇔ True
|f⁻¹(x)=x/2 |x/2=x/2 |True