This website provides two things: One is comprised of equations and proofs which together constitute the bedrock of mathematics. The other is Wolfram software codes that automate processing and reduce the tedium of solving many mathematical problems. 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.

Digital Signal Processing (DSP)

Stephen Wolfram

 

Mathematica is a great computer algebra system, especially if you are in applied areas where it is necessary to solve differential equations and other complicated problems. It was created by a brilliant entrepreneur, who, inspired by Maxima---the first computer algebra system in the world---produced an elegant, coherent, and extremely general approach to computing. Mathematica provides friendly tools to solve and plot solutions to differential equations, but it is certainly not a panacea. This computer algebra system has tremendous plotting capabilities. There is a free version of Mathematica featuring its syntax and functions---Mathics that was developed by a team led by Jan Pöschko. It is backed by highly extensible Python code, relying on SymPy for most mathematical tasks. Mathics is released under the GNU General Public License (GPL).

A solution to 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 introduces students to a symbolic mathematical computation program. Mathematica 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 (LLM). Wolfram Mathematica is integral to OpenAI.org's very popular ChatGPT product. Spring-boarding off the hint above about precision, below is a spreadsheet graphic 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. Note the final answer.

A B
1 init 0.20000000
2 1 0.20000000
3 2 0.20000000
4 3 0.20000000
5 4 0.20000000
6 5 0.20000000
7 6 0.20000000
8 7 0.20000000
9 8 0.20000000
10 9 0.20000004
11 10 0.20000042
12 11 0.20000461
13 12 0.20005068
14 13 0.20055750
15 14 0.20613247
16 15 0.26745712
17 16 0.94202834
18 17 8.36231169
19 18 89.98542860
20 19 987.63971463
21 20 10864.23686095
22 21 119504.60547049
23 22 1314548.66017543
24 23 14460033.26192970
25 24 159060363.88122700
26 25 1749664000.69350000

Now, let us use Mathematica for the same calculations and compare the final answer it derives to the spreadsheet answer above.

Range[0, 25]
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, \ 19, 20, 21, 22, 23, 24, 25}
Transpose[{Range[0, 25], NestList[11 # - 2 &, 0.2`20, 25]}] // TableForm

0 0.20000000000000000000
1 0.2000000000000000000
2 0.200000000000000000
3 0.20000000000000000
4 0.2000000000000000
5 0.200000000000000
7 0.2000000000000
8 0.200000000000
9 0.20000000000
10 0.2000000000
11 0.200000000
12 0.20000000
13 0.2000000
14 0.200000
15 0.20000
16 0.2000
17 0.20
18 0.2
19 0.×10−1
20 0.
21 0.×10¹
22 0.×10²
23 0.×10³

Because of its unique handling of precision, Mathematica obtains the correct answer, which is astonishingly different from the spreadsheet answer. Using a spreadsheet to perform the same 25 calculations produces an answer which differs by nearly 1.75 billion because of the way the spreadsheet handles precision. This demonstration should be sobering.

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.