So how are Computer Algebra System made?

I am a mathematician and I have always used CASs for speed up my productivity. Lately I have wanted to learn how these software work and for that I decided to make my own CAS. I have read the very basics, but I'd like to have the advice of people who actually know how these things work way better than me.

For this task I could use Python, Haskell, Javascript or Java (programing languages I know).

If this question doesnΒ΄t fit in this subreddit, please let me know and tell me where I can ask for help. Thanks.

πŸ‘︎ 35
πŸ’¬︎
πŸ“…︎ Jul 09 2021
🚨︎ report
The Runge-Lenz vector lets you derive the orbit of a planet with just one or two lines of algebra. I made a video explaining how it works youtu.be/KOek-B3Rvmg
πŸ‘︎ 30
πŸ’¬︎
πŸ‘€︎ u/physicswithelliot
πŸ“…︎ Oct 15 2021
🚨︎ report
mathiu.cpp: Gain some pattern matching experience in C++ via writing a simple computer algebra system. github.com/BowenFu/mathiu…
πŸ‘︎ 113
πŸ’¬︎
πŸ‘€︎ u/Amazing-42
πŸ“…︎ Jul 08 2021
🚨︎ report
Where does Computer Algebra System precision come from?

So my question is, how is it possible for Computer Algebra Systems like Maxima and Mathmatica to be that precise while numeric programms like MATLAB and Octave are that limited?

πŸ‘︎ 16
πŸ’¬︎
πŸ‘€︎ u/xXTheLGCY
πŸ“…︎ Jul 07 2021
🚨︎ report
JuliaSymbolics Roadmap: A Modern Computer Algebra System for a Modern Language juliasymbolics.org/roadma…
πŸ‘︎ 101
πŸ’¬︎
πŸ‘€︎ u/ChrisRackauckas
πŸ“…︎ Mar 01 2021
🚨︎ report
"FriCAS algebra library, the largest and most advanced free general purpose computer algebra system" (as of September 2007) github.com/fricas/fricas
πŸ‘︎ 42
πŸ’¬︎
πŸ‘€︎ u/de_sonnaz
πŸ“…︎ Apr 03 2021
🚨︎ report
Symbolic vs Automatic Differentiation and AST for a Computer Algebra System

I'm trying to implement a computer algebra system that can automatically compute derivatives. These systems use tools very similiar to those that regular programming languages use hence my decision to post here.

How would I go about converting Reverse Polish Notation into an Abstract Syntax Tree while supporting variadic functions? To my understanding an AST usually only has two child nodes from one parent node while it seems to me at least that to support variadic functions you would need up to infinite child nodes from one parent node. Is my assumption correct?

Does any one have any explanation as to the pro's and con's of symbolic vs automatic differentiation in order to get a derivative of an arbitrary function and any resources on the topic would be helpful.

πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/6501
πŸ“…︎ May 15 2019
🚨︎ report
The first mobile computer algebra system?
πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/TomFlatterhand
πŸ“…︎ Apr 05 2021
🚨︎ report
EmacsConf 2020 talk about integrating Emacs and Maxima, a Common Lisp computer algebra system emacsconf.org/2020/talks/…
πŸ‘︎ 38
πŸ’¬︎
πŸ‘€︎ u/banjomet
πŸ“…︎ Dec 07 2020
🚨︎ report
Question about a computer algebra system to assist with making exams

Hello.

I am working as a TA in a University and as all exams are online, one of the professors to which I grade test for has decided to give tests where you have E, F and G three numbers which are randomly assigned to each student and he has to replace them on their test.

The thing is that, while all the exercises are made in a way in which all the exercises can be solved, I have noticed that the complexity of the computations can vary a lot.

I wanted to know if there is a good compute algebra system in which I can replace E, F and G and see a solution instantly, so I can help the professor making the exams as I feel like some of them have too many computations, partial fractions seems to be the principal culprit as the linear systems involved can have horrible fractions there.

I have a TI-nspire CX CAS, but I would prefer something that not only displayed the result but also the steps, but I don't know if there are programs for this. Altought I'd rather use something used on the computer.

Thank you for your time, and let me know if this isn't the adequate subreddit to post this.

πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/SqueeSpleen
πŸ“…︎ Nov 21 2020
🚨︎ report
Symbolics.jl: A Modern Computer Algebra System for a Modern Language discourse.julialang.org/t…
πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/PatientModBot
πŸ“…︎ Mar 05 2021
🚨︎ report
Is there a free computer algebra program that can calculate the values for Frenet-Serret system?

Something that can solve for T, N, B, curvature, and torsion if you input a curve?

Basically we are allowed to use these in one of my classes, but the only one demonstrated was Mathematica and that isn't free.

Thanks, in advance!

πŸ‘︎ 10
πŸ’¬︎
πŸ‘€︎ u/Nono4271
πŸ“…︎ Sep 12 2020
🚨︎ report
Don't blindly trust your computer-algebra system.

After I responded to this post (proving that all parabolas, considered as graphs of quadratic equations, are vertical with respect to some coordinate system, and then that each parabola has a special point called a "focus" with the property that the angle between any ray from it, and the vertical line through its point of intersection with the parabola, is bisected by the tangent line), I decided to figure out how to "go the other way": Starting with the origin as the focus, determining what curves have the property that their tangent lines bisect the angle between the ray from the origin, and the vertical.


The end result of this is known as the parabolic coordinate system, and below is some of the work involved in its derivation:

  • arctan(x/y)=2arctan(1/y') (angle between polar ray and vertical is twice the angle between tangent line and vertical)
  • x/y=(2/y')/(1-(1/y')^(2)) (double-angle formula for tan)
  • x/y=2y'/(y'^(2)-1)
  • y/x=(y'^(2)-1)/2y'
  • y'^(2)=1+2yy'/x

This last equation can be solved by setting y=xv and separating variables, but I didn't remember that, so I went to Wolfram|Alpha and got these two families of solutions:

  • y=-x*sinh(ln(x)-a)
  • y=x*sinh(a+ln(x))

Then I tried the first form and got something quite different:

  • y=-(1/2)e^(-a)(e^(2a)-x^(2))

In fact, the first and second cases are equivalent, keeping in mind that sinh(x)=(1/2)(e^(x)+e^(-x)) (a fact you would need to use after the y=xv substitution anyway), and the usual way to write the solution set is y=x^(2)/c-c/4; the parameterization of parabolic coordinates separates the negative and positive cases (the graphs tending toward the positive y-axis as c->0+, the negative y-axis as c->0-, and a "line at infinity" as c->infin), relating the (s,t) coordinates to the usual (x,y) ones with

  • 2y=x^(2)/s^(2)-s^2
  • 2y=t^(2)-x^(2)/t^2

or, equivalently,

  • x=st
  • y=(t^(2)-s^(2))/2

Anyway, if your CAS returns some unusually complicated looking result, it may just be unaware of some assumptions that you haven't told it (usually it's of the variety "all parameters are real").

EDIT (4 February 2017): This is [a good example](https://www.reddit.com/r/le

... keep reading on reddit ➑

πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/lewisje
πŸ“…︎ Dec 26 2016
🚨︎ report
QuantumSheet - A mathematics worksheet with a computer algebra system v.redd.it/qq97uwxi2bm51
πŸ‘︎ 24
πŸ’¬︎
πŸ‘€︎ u/stefnotch
πŸ“…︎ Sep 10 2020
🚨︎ report
axiom-environment:A Gnu Emacs environment for FriCAS, Axiom and OpenAxiom computer algebra systems bitbucket.org/pdo/axiom-e…
πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/negativeoilprice
πŸ“…︎ Dec 14 2020
🚨︎ report
How does a computer know it needs to use a float/how does it derive the mantissa?

So, I've been educating myself about floating point numbers and I understand how a float is represented in binary. I understand that it uses a sign, a mantissa as the body of the number, and an exponent as the offset for the floating point.

What I'm not putting together in my brain is: How can it perform mathematical operations on, say, two integers, and then come out with a float? Let's say we're dividing 1/3. I know how 1/3 as the decimal value .3333... would be represented as a floating point number, and I know how to make that conversion, but a computer doesn't know what .3333... is. Somewhere, it has to realize both "I can't perform this operation" and "the sign, mantissa and exponent to represent this floating point number are...". The resources I've found explaining how those things are derived is only ever deriving them FROM DECIMAL NUMBERS, which obviously, the computer can't actually understand or do anything with.

How does this calculation, (1/3), happen programmatically? What are the "in between points" between telling a computer "divide 0b0001 by 0b0011" and ending up at the correct floating point number?

πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/LordWorm
πŸ“…︎ Nov 07 2021
🚨︎ report
[ALGEBRA] How do you derive that [a1=a2 ==>f(a1)=f(a2)] is the definition of function?

Informally I remember of it by thinking about what I'd do manually to check whether a given corrispondence is a function or not. (I check that it never happens a1=a2 and f(a1)=! f(a2), for every a1,a2 in A.)

However I keep "forgetting" it sometimes, so I tried to prove formally that it's equivalent to the definition of function. I did this proof since I haven't found any.

>-

Note : For (<=) I'm going to translate f(a1)=f(a2) into [(a1,b1)∈f and (a2,b2)∈f and b1=b2] for the specific values b1,b2∈ B.

Proposition.

Let A,B be sets, f:A-->B.

Prove that f is well defined (ie. βˆ€a∈Aβˆƒ!b∈ B (a,b)∈f ) iff βˆ€a1,a2∈A [a1=a2 ==>f(a1)=f(a2)]

Proof

(=>) Assume f is well defined, (ie. βˆ€a∈Aβˆƒ!b∈ B (a,b)∈f ).

Suppose a1,a2∈A s.t (a1=a2). Since the images of a1,a2 under f exist then(a1,b1)∈ B and(a2,b2)∈ B for some b1,b2∈ B. Since we assumed a1=a2 then by substitution (a1,b1)∈ B and (a1,b2)∈ B.

Then since b1 is unique (ie. for every z∈ B [(a1,z)∈ f==> z=b1)] and (a1,b2)∈ f we conclude b1=b2.

So for every a1,a2∈ A if a1=a2 then f(a1)=f(a2).

(<=)

Suppose for every a1,a2∈ A , a1=a2 ==> [(a1,b1)∈f and (a2,b2)∈f and b1=b2] for the specific values b1,b2∈ B.

I have to prove βˆ€a∈Aβˆƒ!b∈ B (a,b)∈f.

Existence.

Let a∈ A. Since a=a then there exist b1,b2∈ B s.t b1=b2. So for every a∈ A there exist atleast a value b∈ B s.t (a,b)∈ f.

Uniqueness.

Let z∈ B s.t (a,z)∈ f. Thus we have (a,z)∈ f and (a,b)∈ f . Since a=a then by our assumption z=b, so the image is unique.

πŸ‘︎ 4
πŸ’¬︎
πŸ“…︎ May 05 2021
🚨︎ report
Computer algebra systems like Maple?

Hi, I would like to ask this question because I do not have maple and I also learned that if I want to use it I have to pay for it. Can someone please give me alternative maple-like program to solve the questions down below. I would appreciate that. Thank you

https://preview.redd.it/yfnq3do89a451.png?width=693&format=png&auto=webp&s=f3034b49caa39e51bac0bebfd44cb11f57d686e1

πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/Yavuz2002
πŸ“…︎ Jun 11 2020
🚨︎ report
Does anyone here have MAGMA Computational Computational Algebra System downloaded on their computer?

Does anyone here have MAGMA Computational Computational Algebra System downloaded on their computer? As I have a script I wrote to solve it, however I do not have access to MAGMA on my PC as it costs around 2k as it is proprietary software. I have used it in the past. But I do not have access anymore. And the online MAGMA algebraic software for my problem/script is limited to compute for 120 seconds which is too short for my script.

If anyone has the downloaded version, can you please contact me privately in PM or chat. And I will provide the script I wrote to run.

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/Downtown4life
πŸ“…︎ Sep 28 2020
🚨︎ report
Maxima – A Computer Algebra System built with Lisp maxima.sourceforge.net/
πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/PatientModBot
πŸ“…︎ Sep 14 2020
🚨︎ report
I made a Computer Algebra System (Kind Of)

My first actual project of any scale in Python after I started learning it in my free time about 8 years ago! Its a very limited computer algebra system that works with rational numbers, univariate polynomials, and univariate rational functions. Its been a great way to learn about types/classes, error messages, and tests.

Obviously Python is not the best language for a CAS and its implemented very inefficiently (moreso than strictly necessary) but I'm quite proud of how much I've managed to get working. As the ReadMe says you shouldn't use this for anything important.

https://github.com/SymmetricChaos/SimpleCAS

πŸ‘︎ 12
πŸ’¬︎
πŸ‘€︎ u/Al3xR3ads
πŸ“…︎ Oct 20 2019
🚨︎ report
Are You a GAP user? GAP - Groups, Algorithms, Programming - a System for Computational Discrete Algebra.

If you are a GAP user, comment how many years of experience you have and if you have a GutHub repository where you share your codes. That would help me because I am a beginner and I am doing well. Thank you.

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/juniors90
πŸ“…︎ Jul 09 2021
🚨︎ report
`rascas` Computer Algebra System for Racket github.com/Metaxal/rascas
πŸ‘︎ 11
πŸ’¬︎
πŸ‘€︎ u/sdegabrielle
πŸ“…︎ Feb 10 2020
🚨︎ report
`racket-cas` A Simple Computer Algebra System (CAS) for Racket github.com/soegaard/racke…
πŸ‘︎ 17
πŸ’¬︎
πŸ‘€︎ u/sdegabrielle
πŸ“…︎ Feb 11 2020
🚨︎ report
TIL Al-Khwarizmi from Baghdad around A.D. 800 worked on a value of pi calculated to four decimal digits: 3.1416. The term 'algorithm' derives from his name, and his text Kitab al-Jabr wal-Muqabala gives us the word 'algebra' (from al-Jabr, which means 'completion' or 'restoration') en.wikipedia.org/wiki/Muh…
πŸ‘︎ 514
πŸ’¬︎
πŸ‘€︎ u/Planet6EQUJ5
πŸ“…︎ Mar 14 2019
🚨︎ report
[2021 Day 19] Linear algebra is your friend, computer graphics guys know
πŸ‘︎ 47
πŸ’¬︎
πŸ‘€︎ u/rtm0
πŸ“…︎ Dec 19 2021
🚨︎ report
Derive energy stored in an inductor algebraically?

I'm looking for some help to derive the formula for energy stored in an inductor

E = 1/2 L * I^2

Algebraically from

Delta W = L I * Delta I

Where W is work, L is inductance, and I is current

I can only find examples using the integral form but wanted to see if it's possible to do so without calculus.

My book states that all the small increments of Delta W must be added together but leaves the summation as an exercise and I'm finding myself stuck.

Any help would be appreciated!

πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/danakabir
πŸ“…︎ Oct 02 2021
🚨︎ report
Linear algebra and matrices in computer science

I am really struggling with the first course on linear algebra and matrices and I find it hard to motivate myself, as I don't know many real-life applications to the things I am learning, or am trying to learn.

I know these things have many applications in cs, but since I don't have a clear vision on what I'd like to do in this field yet (so far I've enjoyed web deving and I am interested in audio programming and graphics, although I haven't gotten into them yet), I don't really know why these things are relevant for me.

Any pragmatic examples on why I really should learn this stuff? Thank you.

edit: thanks to everyone who has responded, it is greatly appreciated!

πŸ‘︎ 101
πŸ’¬︎
πŸ‘€︎ u/Error40404
πŸ“…︎ Dec 06 2021
🚨︎ report
Any Lisp-Based Computer Algebra Systems With Lexical Scoping?

Maxima is useless to me as its scoping is so poorly documented that even its developers don't understand it, causing it to return effectively random results:

(%i1) lambda([f], lambda([x], [f, x]))(g)(y);
(%o1)                               [f, y]
(%i2) 

As there lisp-based alternatives?

πŸ‘︎ 10
πŸ’¬︎
πŸ‘€︎ u/IAmAUserOnReddit
πŸ“…︎ Sep 09 2018
🚨︎ report
How do computer algebra systems work?

I’m studying pure math and I’ve always liked the logic in programming although I’ve never been good at the more difficult languages. I have also always been interested by computer algebra systems, I’ve always wondered how they work. How are things like matlab or maple capable of computing complex antiderivatives or crazy exact values to things? The idea of a computer doing symbolic computation to me is absolutely amazing. Can anyone explain how this works?

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/pseudo_probs
πŸ“…︎ Mar 21 2019
🚨︎ report
Deep Learning for Symbolic Mathematics. We achieve results that outperform commercial Computer Algebra Systems such as Matlab or Mathematica. arxiv.org/abs/1912.01412?…
πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/avturchin
πŸ“…︎ Dec 04 2019
🚨︎ report
Not sure if this is allowed but here’s some ppl trying to derive any sense at all from an β€˜eco-system’s’ pronouns
πŸ‘︎ 294
πŸ’¬︎
πŸ‘€︎ u/johanssenq
πŸ“…︎ Jul 03 2021
🚨︎ report
I am a junior Computer Science student. I want to be a software engineer and I am interested AI. I wonder if there is any project that I can do related to AI. I have learned data structure and algorithm, linear algebra, operating system. I know C, C++, Java, Python, Scheme, SQL. Any suggestions?
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/Gavin-Huang
πŸ“…︎ Feb 26 2019
🚨︎ report
Questions About When and Why to use Computer Algebra Systems

Throughout my undergrad, I've had a few professors and friends who swear by maple. With that said, it is usually in the context of doing overly tedious computations which may involve symbolic manipulation beyond the vanilla capabilities of something like Python or MATLAB, for example with series expansions or computation of the Peano kernel, which NOBODY likes doing by hand (as far as I know). While I've gained some familiarity with using Maple for such tasks pertaining to my studies, it hasn't really "stuck" for general purpose use, and I find myself sooner going to a whiteboard or a pad of engineering paper for a lot of more "standard" problems and scratch work.

My questions for all you CAS fans are:

  • What do you do (occupation)?
  • How often do you use CAS and in what kinds of scenarios? Why?
  • In general, what is your take on when it is best to use CAS over pen/paper, MATLAB, or other approaches?

Thank you and have a happy new year :)

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/waxen_earbuds
πŸ“…︎ Dec 31 2018
🚨︎ report
Suppose I want to "write" my own Computer Algebra System

I have a general framework and underatanding of CS Theory, Real Analysis, Numerical Analysis, Lexical Analysis... etc.

I already have some simple command line-like behavior through a python program/gui.

Overall I think I have a general idea what I need to do, but I was just wondering if anybody had suggestions for materials to help me know I'm doing it "right" (like that will ever truly happen)..

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/__zero_or_one__
πŸ“…︎ Jan 28 2019
🚨︎ report
For the Algebra-Based Physics course, magnetic fields are difficult to teach (without using calculus to derive the different fields). Here is a video I made to introduce the concept. youtu.be/O3iqdpiHndo
πŸ‘︎ 8
πŸ’¬︎
πŸ‘€︎ u/rhettallain
πŸ“…︎ May 05 2020
🚨︎ report
Derive formula for energy stored in an inductor algebraically?

I'm looking for some help to derive the formula for energy stored in an inductor

W = 1/2 L * I^2

Algebraically from

Delta W = L I * Delta I

I can only find examples using the integral form but wanted to see if it's possible to do so without calculus.

My book states that all the small increments of Delta W must be added together but leaves the summation as an exercise and I'm finding myself stuck.

Any help would be appreciated!

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/danakabir
πŸ“…︎ Oct 02 2021
🚨︎ report

Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.