CITE THIS NOTEBOOK: Analyzing the Planck length and other natural units with Linear Algebra by Peter Burbery. Wolfram Community DEC 24 2022.
I deployed a function to the Wolfram Cloud named AugmentedMatrixFromCoefficientMatrixAndColumnVector. I am waiting for approval for it to be included in the Function Repository in the meantime.
In[]:=
AugmentedMatrixFromCoefficientMatrixAndColumnVector//ClearAllAugmentedMatrixFromCoefficientMatrixAndColumnVector[coefficientMatrix_,columnVector_]:=MapThread[Append,{coefficientMatrix,columnVector}]/;ArrayDepth[columnVector]==1AugmentedMatrixFromCoefficientMatrixAndColumnVector[coefficientMatrix_,columnVector_]:=MapThread[Append,{coefficientMatrix,Flatten[columnVector]}]/;ArrayDepth[columnVector]==2
Neat Examples
Neat Examples
The dimensions of the Planck natural unit system are time (T), length (L), mass (M), and temperature (Θ). The Planck system uses the Planck constant h or the reduced Planck constant ℏ (read “h bar”, keyboard alias hb) which is h/2π, the speed of light c, the Boltzmann constant k, and the gravitational constant G. Each one has certain dimensions:
In[]:=
ResourceFunction["CanonicalDimensionalProduct"][]
Out[]=
-1
T
2
L
1
M
In[]:=
ResourceFunction["CanonicalDimensionalProduct"][]
Out[]=
-1
T
2
L
1
M
In[]:=
ResourceFunction["CanonicalDimensionalProduct"][]
Out[]=
-1
T
1
L
In[]:=
ResourceFunction["CanonicalDimensionalProduct"][]
Out[]=
-2
T
2
L
1
M
-1
Θ
In[]:=
ResourceFunction["CanonicalDimensionalProduct"][]
Out[]=
-2
T
3
L
-1
M
Make a coefficient matrix with rows for time, length, mass and temperature and columns for h, c, k, and G or ℏ, c, k, and G and row reduce the augmented matrix with the unknown with the dimensions :
1
L
In[]:=
AugmentedMatrixFromCoefficientMatrixAndColumnVector
,
//MatrixForm
-1 | -1 | -2 | 0 |
2 | 1 | 2 | 3 |
1 | 0 | 1 | -1 |
0 | 0 | -1 | 0 |
0 |
1 |
0 |
0 |
Out[]//MatrixForm=
-1 | -1 | -2 | 0 | 0 |
2 | 1 | 2 | 3 | 1 |
1 | 0 | 1 | -1 | 0 |
0 | 0 | -1 | 0 | 0 |
In[]:=
RowReduceAugmentedMatrixFromCoefficientMatrixAndColumnVector
,
//MatrixForm
-1 | -1 | -2 | -2 |
2 | 1 | 2 | 3 |
1 | 0 | 1 | -1 |
0 | 0 | -1 | 0 |
0 |
1 |
0 |
0 |
Out[]//MatrixForm=
1 | 0 | 0 | 0 | 1 2 |
0 | 1 | 0 | 0 | - 3 2 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 1 2 |
The leftmost column represents the powers to raise the constants to:
In[]:=
MapThreadPower,,,,,Map[Last]RowReduce
Out[]=
,,1,
Multiply the constants:
In[]:=
Times@@MapThreadPower,,,,,Map[Last]RowReduce
Out[]=
Verify this has dimensions of length:
In[]:=
ResourceFunction["CanonicalDimensionalProduct"]Times@@MapThreadPower,,,,,Map[Last]RowReduce
Out[]=
1
L
In[]:=
EntityRegister[ResourceData["https://www.wolframcloud.com/obj/burbery1/DeployedResources/Data/Airbus-Aircraft-Data/"]]
Out[]=
{Airbus}
In[]:=
EntityList["Airbus"]
Out[]=
,,,,,,,,,,,,,,,,,,
In[]:=
Out[]=
In[]:=
UnitConvert["overall-length"],Times@@MapThreadPower,,,,,Map[Last]RowReduce
Out[]=
This is basically the definition of the Planck length. We can verify this by looking at the equivalent forms of the Planck length:
In[]:=
MapAtAssociation,ReapMemberQSowActivate["EquivalentForms"],"forms of the Planck length",SowTimes@@MapThreadPower,,,,,Map[Last]RowReduce,"the form of the Planck length that I derived",_,Rule,2
Out[]=
True,forms of the Planck length,,,,,the form of the Planck length that I derived