Algebra is the bane of many a student, but it is surprisingly useful when it comes to electronics. Sure, you can just memorize all the permutations of things like Ohm’s law. But it is better if you can remember one form and deduce the others on the fly.

There are many occasions where you — as our old Algebra teacher used to say — need to use what you know to get what you don’t know. The gold standard, of course, is a computer program called Mathematica. For home and student use, the software is “only” about $160-$600, but commercial versions range from about $1,000 to nearly $8,000. Of course, there are free alternatives, and the one we’re looking at today is Mathics. It will run in your browser or as a desktop application powered by Python, and it’s available for free.

The program does a nice job of displaying mathematical formulae and you can get an idea of its power by visit the online version. which has examples if you click the question-mark in the upper right and look for the fourth item down. There’s also a standalone version of the online help.

We did have a little trouble with some of the gallery examples timing out, as well as the site certificate being expired. We also had a bit of difficulty remembering the linear algebra classes we took a long time ago! If you want something easy to play with try this:

Solve[4x+3==20,x]

Don’t forget to press Shift+Enter in the browser to get the solution.

Under the hood, MathJax and SymPy do a lot of the heavy lifting. In fact, we imagine a lot of the program’s intended audience would wind up using Jupyter notebooks with Python underneath. Of course, there are copies of Wolfram software on stock Raspberry Pi’s, too.

Use SageMath and CoCalc.

Cool .. haven’t messed with Sage in years (over 20, in fact .. went and looked up old forum posts).

Glad it’s still around. I presume Sage notebook is a direct ancestor of iPython and Jupyter.

yeah +1 for sageMath if you can’t get the binaries running just try an older version.

I’ll definitely check out Mathics I’d its so point and shoot .

The timeout can be solved by running locally.

I’m a fan of:

https://www.geogebra.org/?lang=en for visualizations and experimentation.

Then again, there’s always:

https://www.wolframalpha.com/ for firing things into its math based search engine to see if you’re close to the right idea.

Maxima is worth checking out and powerful. Also it depend on what you want to do. If is is a one liner or something you can shoe horn into a one liners wolfram alpha excepts mathematica syntax. If you need more of a complete workbook then Maxima is pretty good.

http://maxima.sourceforge.net/

https://en.wikipedia.org/wiki/Maxima_(software)

There, that wasn’t so hard – was it?

BTW Maxima is related to the commercial program Macsyma which seems to be out of development, but still costs $500 for a license key.

https://en.wikipedia.org/wiki/Macsyma

http://www.symbolics-dks.com/Macsyma-1.htm

Macsyma dates back to 1968.

This looks really cool. I’ve been using wxMaxima for all my algebra needs, but this is Python!

I’m happy with the free version of Mathematica for Raspberry Pi, that I run remote desctop from my laptop.

Of curse performance is limited due to the processing power of the Pi, but still amazing what one can do

with such a free version!

Peter

Is mathics still active? The latest release in github is the v.1.0 release on Oct 3, 2016.

It seems there has been some movement recently : https://github.com/mathics/Mathics/issues/768

The Wolfram Alpha app for android gives you most of the benefits of a wolfram subscription for a one time payment. Beats paying for a subscription to see why your integrals weren’t the same as the textbook that chose to use strange substitutions…

Anyone remembers Derive? I think that worked on ms-dos.

People are recommending Maxima and Octave, both free software.

I have derive for windows, and it is very user friendly. But for higher stuff one can use maxima

Mathematica cannot even hope to touch J+Jupyter, free…

Because of this comment I decided to try Jupyter. You know what it could use? Some simple examples in its documentation. I swear people put all this time into building software and then they write documentation as if they want no one to use it. It’s great that the installation of Jupyter notebook is easy, I got it installed without fuss. But the simple examples should be somewhere is the vacinity of “Quick start.”

In[1]: ln(1.0)

doesn’t recognize that

In[2] : log(1.0)

nope

ln[3] :Ln[1.0]

nope

In[4] : Log[1.0]

nope

What’s the damned syntax already?

So, it seems that the winning combination is:

In[1] : import math

In[2]: math.log(1.0)

Simple but obscure? I think Mathematica “can hope to touch” that in fact.

The actual “smart” part is J… an independent entity with >60 years of history in arrays and symbolics. Jupyter is just a good notebook.

Could you elaborate on this? I thought the “J” was “Julia”, which isn’t a 60 year old language. Maybe some fortran joke I’m not getting?

https://en.wikipedia.org/wiki/J_(programming_language)

There’s also free access to Mathematica via their cloud: https://www.open.wolframcloud.com/

No mention of the hobbyist version of MATLAB? As a side benefit it’s an industry standard in many areas so transferrable to real job skills.

Or you just use octave.

No need for matlab any more.

Only missing is the nice plot feature of Matlab

Mathics doesn’t work in my laptop’s browser (latest Firefox Quantum 66.05 64-bit), the site loads but I get two rotating wait worms as if something is trying to load. The mirror site is dead: 502 Bad Gateway. I tried it in the Android Duck-Duck-Go browser (I think that’s Firefox derived too?), get the same thing, two spinning worms. Maybe it’s the HaD effect.

This online thingy is great for one thing: Simplifying big equations full of complex (a+jb) expressions. Really handy if you are analyzing messy circuits trying to get a transfer function.

Oops – forgot the URL:

Simplifying complex expressions

https://www.mathportal.org/calculators/complex-numbers-calculator/simplifying-complex-expressions.php

Julia + Jupyter is the ticket for me.