I learned C and although I've written many toy programs and some useful small ones for math, I feel inadequate in tackling something like writing an entire Computer Algebra System.
is SICP worth a read or are there better alternatives?
>Mathematician here The fuck does this mean? Please tell me it means you graduated with a degree, otherwise KYS
Angel Lewis
What do you mean by "Computer Algebra System"? I'm imagining something that you'd input 5+5/2 into and it would return 7.5, right? I'd say look into writing compilers, specifically the text parsing part of it. Once you have everything mapped out you just need to apply the right operations to the right numbers, and, voila, you got your CAS.
Why not see if you can't make useful functions for use in math library that works well in Jupyter's existing "CAS" notebook or something?
Surely a better idea for your skills and time.
Jacob Price
CAS is inputting dx/dt = x^2 + 4y, and getting an analytical solution for x.
Kevin Davis
A computer algebra system is hard to write. And C isn't very appropriate either. Lisp will indeed be a better choice.
Luke Wright
Writing a CAS is not an easy project, however, you can start with the foundations and let it grow into something more complex by the time.
For instance, I would start by writing a parser that transforms an expression into a data structure, then evaluate it. First of all, it would be a big step forward if it can understand simple a polynom.
Lincoln Peterson
try Prolog
Dylan Gomez
>I feel inadequate in tackling something like writing an entire Computer Algebra System. Yes, because writing a CAS is very hard. Even multiplying numbers in a CAS is a non trivial task and an entire CAS is a giant project.
The actual "programming" aspect isn't all that hard, it just requires a lot of effort and time and the only way to become a good programmer is actually programming, it is a skill you learn by doing.
Jason Sanchez
Just get maxima. It even runs on android
Luke Richardson
> I'll create a GUI Interface using Visual Basic and see if I can track an IP Address.
I want what she's is smoking.
Carson White
That's not going to be easy. Start with simple parsing and try to implement basic operations and some named functions. Then do variables, use entered functions, derivatives etc.
Brody Thomas
>Building an algebra system yourself Just don't. most of the coding on these things is arcane fuckery to make it run faster, your math degree doesn't tell you how to do that.
Alexander Green
"Being a mahematician" makes you inadequate enough.