Solving differential equations was apparently Lie's original motivation for developing Lie groups. It is therefore likely one of the most understandable ways to approach it.
It appears that Lie's goal was to understand when can a differential equation have an explicitly written solution, much like Galois theory had done for algebraic equations. Both approaches use symmetry as the key tool.
- www.researchgate.net/profile/Michael_Frewer/publication/269465435_Lie-Groups_as_a_Tool_for_Solving_Differential_Equations/links/548cbf250cf214269f20e267/Lie-Groups-as-a-Tool-for-Solving-Differential-Equations.pdf Lie-Groups as a Tool for Solving Differential Equations by Michael Frewer. Slides with good examples.
Finding a complete basis such that each vector solves a given differential equation is the basic method of solving partial differential equation through separation of variables.
The first example of this you must see is solving partial differential equations with the Fourier series.
Notable examples:
- Fourier series for the heat equation as shown at Fourier basis is complete for and solving partial differential equations with the Fourier series
- Hermite functions for the quantum harmonic oscillator
- Legendre polynomials for Laplace's equation in spherical coordinates
- Bessel function for the 2D wave equation on a circular domain in polar coordinates
This basically adds one more ingredient to partial differential equations: a function that we can select.
And then the question becomes: if this function has such and such limitation, can we make the solution of the differential equation have such and such property?
It's quite fun from a mathematics point of view!
Control theory also takes into consideration possible discretization of the domain, which allows using numerical methods to solve partial differential equations, as well as digital, rather than analogue control methods.
TODO: in high level terms, why is QED more general than just solving the Dirac equation, and therefore explaining quantum electrodynamics experiments?
Also, is it just a bunch of differential equation (like the Dirac equation itself), or does it have some other more complicated mathematical formulation, as seems to be the case? Why do we need something more complicated than
Advanced quantum mechanics by Freeman Dyson (1951) mentions:
A Relativistic Quantum Theory of a Finite Number of Particles is Impossible.
Bibliography:
- physics.stackexchange.com/questions/101307/dirac-equation-in-qft-vs-relativistic-qm
- physics.stackexchange.com/questions/44188/what-is-the-relativistic-particle-in-a-box/44309#44309 says:
By several reasons explained in textbooks, the Dirac equation is not a valid wavefunction equation. You can solve it and find solutions, but those solutions cannot be interpreted as wavefunctions for a particle
- physics.stackexchange.com/questions/64206/why-is-the-dirac-equation-not-used-for-calculations
- www.physicsforums.com/threads/is-diracs-equation-still-useful-after-qed-is-developed.663994/
Existence and uniqueness results are fundamental in mathematics because we often define objects by their properties, and then start calling them "the object", which is fantastically convenient.
But calling something "the object" only makes sense if there exists exactly one, and only one, object that satisfies the properties.
One particular context where these come up very explicitly is in solutions to differential equations, e.g. existence and uniqueness of solutions of partial differential equations.
TODO find better name for it, "linear homogenous differential equation of degree one" almost fully constrainst it except for the exponent constant and initial value.
is by far the most important of because it is quantum mechanics states live, because the total probability of being in any state has to be 1!
has some crucially important properties that other don't (TODO confirm and make those more precise):
- it is the only that is Hilbert space because it is the only one where an inner product compatible with the metric can be defined:
- Fourier basis is complete for , which is great for solving differential equation
Show up when solving the Laplace's equation on spherical coordinates by separation of variables, which leads to the differential equation shown at: en.wikipedia.org/w/index.php?title=Legendre_polynomials&oldid=1018881414#Definition_via_differential_equation.
This is the dream cheating software every student should know about.
It also has serious applications obviously. www.sympy.org/scipy-2017-codegen-tutorial/ mentions code generation capabilities, which sounds super cool!
The code in this section was tested on
sympy==1.8
and Python 3.9.5.Let's start with some basics. fractions:outputs:Note that this is an exact value, it does not get converted to floating-point numbers where precision could be lost!
from sympy import *
sympify(2)/3 + sympify(1)/2
7/6
We can also do everything with symbols:outputs:We can now evaluate that expression object at any time:outputs:
from sympy import *
x, y = symbols('x y')
expr = x/3 + y/2
print(expr)
x/3 + y/2
expr.subs({x: 1, y: 2})
4/3
How about a square root?outputs:so we understand that the value was kept without simplification. And of course:outputs outputs:gives:
x = sqrt(2)
print(x)
sqrt(2)
sqrt(2)**2
2
. Also:sqrt(-1)
I
I
is the imaginary unit. We can use that symbol directly as well, e.g.:I*I
-1
Let's do some trigonometry:gives:and:gives:The exponential also works:gives;
cos(pi)
-1
cos(pi/4)
sqrt(2)/2
exp(I*pi)
-1
Now for some calculus. To find the derivative of the natural logarithm:outputs:Just read that. One over x. Beauty.
from sympy import *
x = symbols('x')
diff(ln(x), x)
1/x
Let's do some more. Let's solve a simple differential equation:Doing:outputs:which means:To be fair though, it can't do anything crazy, it likely just goes over known patterns that it has solvers for, e.g. if we change it to:it just blows up:Sad.
y''(t) - 2y'(t) + y(t) = sin(t)
from sympy import *
x = symbols('x')
f, g = symbols('f g', cls=Function)
diffeq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + f(x), sin(x)**4)
print(dsolve(diffeq, f(x)))
Eq(f(x), (C1 + C2*x)*exp(x) + cos(x)/2)
diffeq = Eq(f(x).diff(x, x)**2 + f(x), 0)
NotImplementedError: solve: Cannot solve f(x) + Derivative(f(x), (x, 2))**2
Let's try some polynomial equations:which outputs:which is a not amazingly nice version of the quadratic formula. Let's evaluate with some specific constants after the fact:which outputsLet's see if it handles the quartic equation:Something comes out. It takes up the entire terminal. Naughty. And now let's try to mess with it:and this time it spits out something more magic:Oh well.
from sympy import *
x, a, b, c = symbols('x a b c d e f')
eq = Eq(a*x**2 + b*x + c, 0)
sol = solveset(eq, x)
print(sol)
FiniteSet(-b/(2*a) - sqrt(-4*a*c + b**2)/(2*a), -b/(2*a) + sqrt(-4*a*c + b**2)/(2*a))
sol.subs({a: 1, b: 2, c: 3})
FiniteSet(-1 + sqrt(2)*I, -1 - sqrt(2)*I)
x, a, b, c, d, e, f = symbols('x a b c d e f')
eq = Eq(e*x**4 + d*x**3 + c*x**2 + b*x + a, 0)
solveset(eq, x)
x, a, b, c, d, e, f = symbols('x a b c d e f')
eq = Eq(f*x**5 + e*x**4 + d*x**3 + c*x**2 + b*x + a, 0)
solveset(eq, x)
ConditionSet(x, Eq(a + b*x + c*x**2 + d*x**3 + e*x**4 + f*x**5, 0), Complexes)
Let's try some linear algebra.Let's invert it:outputs:
m = Matrix([[1, 2], [3, 4]])
m**-1
Matrix([
[ -2, 1],
[3/2, -1/2]])