A better way to use “Maxima” to solve cubic equations…

One of the facts which I’ve pointed out in earlier postings was, that if I give the free Computer Algebra System (‘CAS’) named ‘Maxima’, a cubic equation to solve, as in, to find the exact analytical solutions to, it will fail to produce intelligible output, if the usage was naive.

More specifically, cubic equations exist that have 3 distinct, real, irrational roots, and which a ‘CAS’ should be able to solve, just because their general solution is publicly known. That solution boils down, to deriving a second cubic, which is called a ‘depressed cubic equation’, and then performing a trigonometric substitution. (:1)

A fact which I’ve also known for some time is that, especially if a person is using a free or open-source CAS, then in some cases its behaviour has not been made particularly user-friendly, in that work needs to be done by the user, to set up his or her problem for the ‘CAS’ to solve. This latter observation casts a shadow of doubt, over the question of whether a ‘CAS’ will ultimately lead experienced Mathematicians to new discoveries in Algebra, or whether this can only reduce the workload in certain situations.

In this posting I’m going to show, how ‘Maxima’ can be coerced into giving correct answers, by users who know how. What I tend to use is a Graphical Front-End to ‘Maxima’, that is itself named ‘wxMaxima’, but which has equal capabilities, except for the abilities to typeset its solutions, as well as to export its Worksheets to PDF as well as HTML format, using LaTeX.

The following embedded worksheet will only display properly in the reader’s browser, if

  • The reader has allowed JavaScript from my blog to run on his browser, and
  • The reader has also allowed JavaScript to run from a CDN named ‘mathjax.org’.



What’s observable here is the fact that the package ‘odes’ can be loaded, which is mainly used to solve Ordinary Differential Equations, and that afterwards, the function ‘solvet()’ can be used, even to solve certain polynomials – better than what Maxima can solve on its own, with the built-in ‘solve()’ function. (:3)

(Updated 6/14/2020, 0h30… )

Continue reading A better way to use “Maxima” to solve cubic equations…

Noticing when SageMath is using IPython, instead of Maxima.

One of the subjects of my recent postings, has been a Computer Algebra System called “SageMath”, which I was able to install on my Debian / Stretch (Debian 9) computer named ‘Plato’. One of the distinctions which I left slightly blurred about this, is the distinction between Computer Algebra, and Numerical Tools. The former refers to the ability of a computer to manipulate symbols, in the way Algebra manipulates them, but to solve equations which Humans might just find tedious or too time-consuming to solve. This can lead to answers that are theoretically exact, but which can sometimes be useless because the numerical equivalent is only available indirectly.

Numerical Tools are more numerous under Linux, and offer theoretically inexact solutions to equations, simply because the numerical answers have a limited number of decimal places after the point or comma. Yet, the numerical answers can sometimes be much more useful than Algebraic answers, for reasons that I think are self-explanatory.

SageMath offers both. In order to do Algebra, SageMath uses “Maxima” as its back-end. And under Debian Linux, installing SageMath actually installs a separate version of Maxima, which users are not supposed to use directly.

Continue reading Noticing when SageMath is using IPython, instead of Maxima.

Performing a familiar task, just using the built-in packages of Maxima.

According to an earlier posting, I had suggested a recipe for ‘Perpendicularizing’ a matrix, that was to represent a Quadric Equation, according to methods which I learned in “Linear 1″. That approach used the application ‘wxMaxima’, which is actually a fancy front-end for the application ‘Maxima’. But the main drawback with the direct approach I had suggested, was that it depended on the package ‘lapack’, which I had written, takes a long time to compile.

Since writing that posting, I discovered that some users cannot even get ‘lapack’ to compile, making that a broken, unusable package for them. Yet, the desire could still exist, to carry out the same project. Therefore, I have now expounded on this, by using the package ‘eigen’, which is built in to Maxima, and which should work for more users, assuming there is no bug in the way Maxima was built.

The following work-sheet explains what initially goes wrong when using the package ‘eigen’, and, how to remedy the initial problem…

(Updated 6/17/2020, 14h35… )

Continue reading Performing a familiar task, just using the built-in packages of Maxima.

An Observation, about How My Blog Gets Spidered

If a blog was just to consists of a bunch of Web-pages, then one side-effect of that would be, that the blogger would add pages on a daily basis, but that his latest pages would not be spidered by the major search engines, potentially for a long time.

If we use ‘WordPress.org’ as our blogging engine, then one feature is, the very first time we add a new posting, doing so is announced or broadcast, to a service that lets search engines know, that a posting has been added to the blog. But one way in which this service does not work, is to reannounce, every time an existing posting has been edited by the blogger. This is fair, because bloggers like me may edit postings as many as 10 or even 20 times eventually. Reannouncing these edits would put an unfair burden on a free service.

But as it happens, the way this service works can have side-effects for me. For example, one of my recent postings links to the following URL:


The problem with this URL is, that in the original posting, it ended with ‘.html’, and not with ‘.pdf’ . I edited that posting after I had first created it, to use a ‘…pdf’ URL, instead of an ‘…html’ URL. What tends to happen is that Google will spider my new postings within seconds of their being created, while certain other search-engines will take maybe a few hours to spider the same posting. And this can entirely be a performance issue, with each search engine. But unfortunately for me, this suggests that Google caught a version of this earlier posting, that contains a broken link, just because the ‘…html’ URL no longer exists on my server. And if the posting contains any apparent, broken links, obviously, the search engine penalizes their ranking.

So that may be one reason, why the posting in question, has not received as many clicks, as it should according to how often other postings of mine receive clicks.