Main page: https://www.dobrush.us

This website provides two things: One is comprised of equations and proofs which together constitute the bedrock of mathematics. The other is Wolfram software code which automates processing and reduces the tedium of solving many mathematical problems. The second, and the use of computers in general, must be viewed as a "black box" which may be specifically and completely understood only in terms of the equations and proofs contained therein.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the appendix entitled GNU Free Documentation License.

Linear Algebra with Maximatica

Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices and tensors. Maxima yields high precision numerical results by using exact fractions, arbitrary-precision integers and variable-precision floating-point numbers. Maxima can plot functions and data in two and three dimensions.

Maxima is a descendant of Macsyma, the legendary computer algebra system developed in the late 1960s at the Massachusetts Institute of Technology. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was revolutionary in its day, and many later systems, such as Maple and Mathematica, were inspired by it.

The Maxima branch of Macsyma was maintained by William Schelter from 1982 until he passed away in 2001. In 1998 he obtained permission to release the source code under the GNU General Public License (GPL). It was his efforts and skill which have made the survival of Maxima possible, and we are very grateful to him for volunteering his time and expert knowledge to keep the original DOE Macsyma code alive and well. Since his death, a group of users and developers has formed to bring Maxima to a wider audience.

Maxima is updated very frequently, to fix bugs and improve the code and the documentation. We welcome suggestions and contributions from the community of Maxima users. Most discussion is conducted on the Maxima mailing list.

A solution of a realistic problem is often hampered because the algebra is too complex for anyone but the dedicated researcher. Just as the calculator eliminated laborious numerical computations, symbolic software programs eliminate arduous algebraic computations. While computer power is no substitute for thinking, it spares the scientist from performing mundane mathematical steps, and thereby frees time for creative thinking. This tutorial can be used to introduce students who are taking the first course in Linear Algebra to a symbolic mathematical computation program Mathematica that was conceived by a theoretical physicist Stephen Wolfram (born in 1959 in London, England) in late 1980's.

 

Numerical versus Symbolic in the world of AI


Until recently the most common tool used by practitioners in economics and finance has been the spreadsheet. This methodology is known to be fraught with problems (see European Spreadsheet Risks Interest Group for horror stories) because it employs a numerical system. Computer algebra performed with Mathematica is based on symbolic logic. The difference is meaningful.

In its simplest form, nearly everyone recognizes the truth in this statement:

\[ 3 + 5 = 8 . \]
However, life is not so simple. We often encounter
\[ a + b = c , \]
where the symbols 𝑎, b, and c can take on a very wide range of values. When 𝑎 = 3 and b = 5 we get the same answer (below read " /. " as "given that" and the arrows as substituting the numbers in for symbols):
a + b /. {a -> 3, b -> 5}
8
3 + 5 == a + b /. {a -> 3, b -> 5}
True
In the above inputs, Mathematica is using the double equal sign (" == "), asking if the result on both sides the same? The answer is true.

Naturally, changing the substitution changes the truth of the statement

3 + 5 == a + b /. {a -> 6, b -> 4}
False
It less obvious that this is true when the substitution involves abstractions other than numbers. Here is a question ill suited for a spreadsheet. It takes only a casual glance to see that not much precision is involved.
TrueQ[8 == a + b /. {a -> dog, b -> cat}]
False

The matter of Precision

Below we use the more demanding form of equality, Mathematica's triple equal sign (" ==="), asking if the left and right are strictly, identically the same. This difference in precision can lead to very serious errors in logic and judgment, as we shall soon see.
3 + 5 === a + b /. {a -> 3, b -> 5}
False
The latest technological wonder is, in various forms, Artificial Intelligence (AI) based on Large Language Models. Wolfram Mathematica is integral to OpenAI.org's very popular ChatGPT-4 product. Spring-boarding off the hint above about precision at the link provided below are files in which we illustrate an algorithm that multiplies an initial number, 0.20, by 11 and subtracts 2 from the answer, then repeats that calculation, using the prior calculation as the starting point with each successive iteration, over 25 rounds. Because of its unique handling of precision, Mathematica obtains the correct answer, which is vanishingly different from zero. Using Microsoft Excel to perform the same 25 calculations produces a number that is nearly 1.75 billion because of the different way Excel handles precision. Can we all agree that the difference in these two answers is not trivial?

Precision

In the New Age of AI we have tools which allow, even require, attention to details previously considered unimportant or too expensive to resolve. This website honors the demands of the most recent technology by closely aligning the theoretical with the practical to achieve the most precise result.