Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations pierreick on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Found Maxima / wxMaxima and pretty happy with it

Status
Not open for further replies.

electricpete

Electrical
May 4, 2001
16,774
I played around with the FOSS/gnu apps maxima and wxmaxima this weekend and found they check all the boxes for me.

Maxima is the older program which uses command line interface. wxmaxima is a newer version that adds a GUI front end and a worksheet style interface (saves your input commands and output results in one document like most modern computing apps). In the worksheet you can also add a lot of doumentation and outlining and extra graphics beyond those generated in the program itself.

I have a student version of Maple that I purchased in the late 1990's and have grown very attached to. For me that symbolic approach matches the way I like to approach problems (my hammer that I try to use on everything, not just on nails!). Just start typing the equations and focus on the engineering variables (not the computer indexes etc). You can certainly do a lot of numerical stuff with it too... usually at the tail end of symbolic solution various values can easily be plugged in and graphed. And it's also nice that it tends to be easier for others to double-check than a more numerical solution approach (at least for the types of problems I get involved with)

It is rumoured that the student version of Maple can be extended indefinitely (decades) with minor user tweaks to files in the license directory.... but of course I can't confirm or deny that! I can confirm that the student version only works on Windows, and I no longer use Windows as my home computer because I don't trust it from a cyber security perspective (that is not a result of any personal experience but just reading about all the never-ending gaping security problems in Windows). So I now have a chromebook which includes a virtual machine/container for running Linux apps, and I have been looking for a linux app to replace the 1990's student version of Maple...

.... and I found exactly what I was looking for in wxMaxima. The 2023 wxMaxima installed onto Linux is in almost every way functionally identical to the 1990's student version of Maple, except it has added a few things (like units!). There are only a few minor variation in choice of syntax characters and choice of keywords which make me suspect that one program copied directly from the other. I know maxima has been around a longtime.

The units are really easy and similar to smath in that single tickmark brings up list of values for units. I think the method for forcing display of a variable in alternate units is easier on maxima than what I remember for smath (just type double tickmarkfollowed by the unit).

I find only one minor complaint. Copy/paste works within the wxmaxima app, and works for copying into the app, but does NOT work for copying out of wxmaxima into another app (like a notes app). I think it is the same problem described here, and from the age of that report I'm not optimistic it will be fixed. There are occasions where that will be a big an inconvenience to my workflow (I typically have a set of text notes in that run parallel to whatever I'm solving). On those occasions I can (if needed) export my commands from wxmaxima to a batch script (.mac file), which can be run from the linux terminal maxima app (no gui), where cut/paste to other apps works fine in both directions (I also set the maxima variable display2d to false, which organizes everything using parentheses, rather than trying to display it in a "readable" text form that ends up being ambiguous after pasting into another app).

EDIT - 2nd complaint (bigger complaint that I forgot to mention earlier because it is temporarily "solved" for me, but it's probably more important to you guys). The latest version crashes when you go to the configuration screen as described here. That's a real PITA if you want to tweak your settings on the way the program acts. So I rolled back to an earlier version September 2022 appimage here and that version seems to work perfectly (except for the copy/paste problem mentioned above). So...maxima itself is super stable but wxmaxima is not particularly stable, so if the latest version of wxmaxima has a problem then you might have to roll back to an old version until they work out the newest bugs (or else use the maxima command line version). That's not a huge problem for me (considering the program otherwise meets all my needs) but I know some people don't like fiddling to work around bugs.

Below are two good (imo) beginner video series for wxmaxima, if video suits your learning style (I like listening in the background while walking or driving, then if something catches my attention I take notes and later revisit it while seated in front of my computer)
[ul]
[li]Maxima Tutorials by Andrew Norman[/li]
[li]Maxima Tutorials by engineering tools
[/li]
[/ul]

In terms of other documentation, you can find more than you'll ever need starting at the wxmaxima github page here: ... from that page you can access the wxmaxima manual and a variety of wxmaxima tutorials. And they also have a link to the maxima sourceforge site which has the maxima manual (500+pages... covers all the load-able packages in detail) and many maxima tutorials.

I'm sure everyone has their favorite tools and this may not be for everyone, but it seems perfect for my purposes. I haven't used smath in awhile but I understand some people are moving away from it due to licensing changes ( thread724-511861 ) so maybe wxmaxima could be a good option to consider for some of those folks.
 
Replies continue below

Recommended for you

I see there remains a lot of interest in smath, even as the licensing aspects get more challenging

* thread724-511861
* thread724-513963

And yet zero interest in maxima/wxmaxima on this particular forum. From my limited interaction with smath I don't see a big difference although maybe that's subjective (and I do have a preference for command line interactivity similar to maple even if it carries a bit of syntax baggage along with it)

All other things being equal, I'd think people would prefer a long-established FOSS app over a small-operation closed source app, which brings potential concerns for security and also for sustainability of the app over time.

I also tried to install the linux appimage of smath on Debian 11, and it didn't work (there is an error message about required libraries). Consulting the smath page, they say the appimage is built for a specific distro. That defeats the purpose of appimages (they are supposed to bring along their own libraries inside of them to be distro-agnostic). So I don't think the folks that made the smath appimage knew what they're doing when it comes to packaging linux apps.

I'm curious what are you guys seeing on the other side of the coin. Did you ever try wxmaxima? What's so great about smath that you don't get on wxmaxima?
 
A sticking point with Maxima is it is much less intuitive when it comes to the inclusion of units, SMath/MathCAD are much more intuitive in that regard.

I am a fan of wxmaxima/maxima as well and use it whenever I run into a problem requiring symbolic integration or derivatives. It also comes in quite handy when trying to symbolically reduce a specific expression into a simpler form. However when it comes to creating a standard engineering calculation template wxmaxima/maxima isn't a program that even crosses my mind as a tool to be used for that purpose excel, python, octave/matlab, and SMath/MathCAD are tools that first enter my mind for that task.
 
I think the biggest issue is that a CLI isn't anywhere similar to WYSIWYG interface, so there's a lot more overhead to deal with that SMath and MC don't require you to deal with

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! faq731-376 forum1529 Entire Forum list
 
To me that was always the attraction of Mathcad, right from v 0.3 (it came on a 5 1/4 floppy)

I don't mind cli for programming (but I also like Simulink) but for random I don't know what the hell is going on, let's find out, Mathcad 5.0+ (runs on my wife's Vista non Internet laptop) is my Excalibur.


Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
While I really like wxMaxima, I would say that it's a free equivalent of Mathematica and serves a different purpose than SMath (which is a free equivalent of MathCAD). We also have Octave and Scilab as a replacement for Matlab (btw. Scilab was acquired by Dassault Systemes but remains open-source for now).

One big advantage of wxMaxima is that it can handle equation systems, symbolic integration and all the stuff that required Maxima plug-in in SMath.

On the other hand, wxMaxima has standard line-based command input (instead of a paper notepad-like style of SMath), no natural formula syntax, pretty much no usable unit support and so on. Fortunately, some of those disadvantages (namely, units and natural formulas syntax but just for output) are resolved by Calcpad which I can recommend as IMO the best free alternative to SMath.
 
Electricpete,
Wasn't aware of it until now. I tend to rely on forums like this to "discover" new things (after others discover them for me).
Thank you for posting about it. I want to take a look.
 
> A sticking point with Maxima is it is much less intuitive when it comes to the inclusion of units, SMath/MathCAD are much more intuitive in that regard.

No doubt the maxima units are a little clunky. My recollection was the same for smath though (clunky units). But I haven't used smath in 5 years or more, so maybe it has gotten better since then.

> While I really like wxMaxima, I would say that it's a free equivalent of Mathematica and serves a different purpose than SMath (which is a free equivalent of MathCAD)

I havne't used mathetmatica, but if it's similar to maple then I agree.

> I think the biggest issue is that a CLI isn't anywhere similar to WYSIWYG interface, so there's a lot more overhead to deal with that SMath and MC don't require you to deal with

It applies to maxima, but for wxmaxima you do get a WYSIWYG gui. It is what is sometimes called a worksheet where you can insert graphics anywhere if you choose. But more important to me is the workflow where you type your input in one input "cell", the output is returned in an output cell after that, and then the cursor is automatically/immediately moved to the next input cell ready for you to type another command. To my thinking, that is much more friendly during the worksheet development stage than a point and click (why should I need to remove my hands from the keyboard, decide where I want the next input cell to be and click there and then jump back to the keyboard again??... after every single step!!). I prefer the workflow that makes it easiest on me exactly at the time when I need it most... when I'm interacting with the program to try to figure something out. But it is admittedly somewhat restricted afterwards if you are going through trying to make the whole thing look prettier, there are not as many options for moving things around.

> On the other hand, wxMaxima has standard line-based command input (instead of a paper notepad-like style of SMath)

> I don't mind cli for programming (but I also like Simulink) but for random I don't know what the hell is going on, let's find out, Mathcad 5.0+ (runs on my wife's Vista non Internet laptop) is my Excalibur.

Again CLI is a plus in my book to get rid of extra meaningless decision about where the next cell will be and jumping back and forth between mouse and keyboard.

I have also spent a whole lot of time earlier in my career using maple, so maybe my brain is more trained to work that way. And we know what they say about old dogs and new tricks. No doubt it's a user preference thing.


> Wasn't aware of it until now. I tend to rely on forums like this to "discover" new things (after others discover them for me).

Let us know what you think. One thing I downplayed is there is a bit of syntax overhead that comes along for the ride in the CLI environment (which might take a little bit to get used to). And there is an abstract underlying data model in the way everything is an object (with lots of nesting of objects within objects) that brings great power but also sometimes a degree of complexity in simple things. So all in all, it's probably a steeper initial learning curve than something like smath, but a lot more powerful/useful for the particular types of things that I do, which is a lot of manipulating equations, solving systems of equations, substituting in trial values for variables and plotting the results etc.




 
> It is what is sometimes called a worksheet where you can insert graphics anywhere if you choose.
Mathcad does that in spades

> But more important to me is the workflow where you type your input in one input "cell", the output is returned in an output cell after that, and then the cursor is automatically/immediately moved to the next input cell ready for you to type another command.
Mathcad easily does that, but, if you realize that you forgot to put something in the flow in a certain spot, that's easily corrected

> To my thinking, that is much more friendly during the worksheet development stage than a point and click (why should I need to remove my hands from the keyboard, decide where I want the next input cell to be and click there and then jump back to the keyboard again??... after every single step!!).
There's lots you can do without the mouse; the grab of the area calculation below was done without mouse, and you can document as you go. I used to despise using the mouse, but I really don't find it disruptive anymore, and it allows you do do things in Mathcad that looks nearly impossible to do in wxM.

> Again CLI is a plus in my book to get rid of extra meaningless decision about where the next cell will be and jumping back and forth between mouse and keyboard.
If you know exactly what steps are needed, then in either case, everything goes in-line, but often is the case where my model requires additional input, and I can shift things around and add a secondary calculation or graphic and I can do it.

mc_z9wmad.png


TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! faq731-376 forum1529 Entire Forum list
 
> If you know exactly what steps are needed, then in either case, everything goes in-line, but often is the case where my model requires additional input, and I can shift things around and add a secondary calculation or graphic and I can do it.

wxmaxima can shift things around after the fact too. There's just not as many options for positioning things precisely where you want.

> and you can document as you go.

I can document as I go with comments, ALTHOUGH there is an annoyance here. If I want to add a comment on the same line after a code step, it requires 4 characters in the form of opening and closing 2-character delimiters /* comments go here */ (I gather that is intended to facilitate multiline comments beginning after a code step in the original maxima, but it's not needed in wxmaxima where we have soft return is available to do the same thing). Considering that I like to add a comment tacked after a code step, that can add up to a lot of extra typing. WxMaxima gives you other ways to add comments (ctl-1 adds a text cell) but it offends my sense of spacing to have to create an extra cell (which adds an extra line) just to add a short comment. It seems to me I judge wxmaxima in this respect based on comparison to maple (where only a single character # was required to add a comment). It probably illustrates that the overarching feature in my preferences is to simply recreate what maple used to do for me (which I no longer have access to).

> I used to despise using the mouse, but I really don't find it disruptive anymore, and it allows you do things in Mathcad that looks nearly impossible to do in wxM.

I use the mouse all the time in other apps, but in this particular workflow (interacting with the computer via alternating input and output), I find that the mouse click (along with deciding where the next input will be) is a needless extra step/decision that very slightly interrupts the thought process. An analogy: If WxMaxima is like having a conversation with another person in a room together, then smath would add a step that you have to key a walkie talkie every time you wanted to say something to the other person.... it's a small easy step but it would certainly affect the flow / tempo of the conversation.

gui vs cli does bring a whole 'nother discussion though. I used to think cli on windows powershell or linux terminal was a waste, primitive and inferior to gui. But I've been doing a lot with linux lately. In that environment almost all of the system and app related configurations are stored in text files or available from commands that generate text output. I've heard linux greybeards say it's a lot easier to quicly access and manipulate that info from the cli using tools like grep, awk, sed and regex matching than it would be using any gui. I haven't mastered those cli tools yet in linux, but I can see where they're coming from in that environment where everything you're after is in text format and youd can use the same tools on all of that text. But that's a different environment, different discussion.

No doubt there's a lot that can be done with Mathcad and smath that can't be recreated with wxmaxima. Especially in formatting the output, which can be very important to telling the story (and being able to understand it yourself later).
 
CLI is great for file management en masse, but as the popularity of Norton Commander showed, the old NC 2 pane gui is best for most users. Quite why OSX and W use single pane is weird. Midnight Commander is an open source clone of NC, but my fingers have lost their memory, it is no longer faster than ctrl C etc.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
A bit off-topic, but Total Commander (once known as Windows Commander) is a shareware Windows version of Norton Commander, which now has many additional useful functions. It is the first program I run when I re-start my computer, and I can't live without it.

On the original topic, wxmaxima looks interesting, but I'm not convinced I'd find any benefit over Excel+VBA+Python.


Doug Jenkins
Interactive Design Services
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor