Most of the technical notations in mathematics and physics are not supported in programming languages.Therefore, we need to translate mathematical expressions to represent them in programming languages.As the result, programs are more complicated than mathematical expressions.This is a big obstacle to cope with problems in mathematics and physics using computers.Egison is a programming language that has been developed to solve this problem.Recently, as part of the solution to this problem, I developed a method for importing tensor index notation into programming with a simple extension of languages.In this lecture, I will show a hint of what kind of ideas are necessary to import mathematical notation into programming by showing this example.
3. 3
My aim is to create a language that can represent directly all algorithms that can be
discovered.
Currently, my biggest challenge is to improve Egison in order to represent directly
calculations that appear in mathematical physics.
4. 4
Pattern-matching against the wider range of data types.
Customizable symbolic computation using Egison pattern-matching.
Tensor index notation in programming.
7. 7
The theory for investigating a curved space.
It is easy for us in the 3 dimensional space to recognize a 2 dimensional curved
surface is curved.
How about our world? Is it curved for who can recognize the higher dimensional
space?
https://commons.wikimedia.org/wiki/File:Trian
gles_(spherical_geometry).jpg
8. 8
The theory explains the gravity as the curve of 4 dimensional time-space.
https://commons.wikimedia.org/wiki/File:Spacetime_lattice_analogy.svg
13. 13
Formulas in Riemannian geometry are represented with partial derivative
operator and tensor index notation.
We can represent both of them concisely in Egison!
14. 14
Egison program that represents the above formula
Formula of Riemann curvature tensor
~: superscript
_: subscript
15. 15
Pattern-matching against the wider range of data types.
Customizable symbolic computation using Egison pattern-matching.
Tensor index notation in programming.
16. 16
Pattern-matching against the wider range of data types.
Customizable symbolic computation using Egison pattern-matching.
Tensor index notation in programming.
19. 19
Pattern-matching against the wider range of data types.
Customizable symbolic computation using Egison pattern-matching.
Tensor index notation in programming.
21. 21
We can apply Egison pattern-matching
against math expressions.
Math expressions are a multiset of terms.
Terms are a multiset of factors.
Therefore, Egison pattern-matching is
very useful to handle them.
22. 22
Pattern-matching against the wider range of data types.
Customizable symbolic computation using Egison pattern-matching.
Tensor index notation in programming.
25. 25
We can use tensor index notation to multiply any order of tensors.
The tensor index notation is necessary to represent the multiplication of order
tensors higher than matrices.
26. 26
In Egison method, we can apply directly both “∂/∂” and “.” functions to tensors.
Egison program that represents the above formula
Formula of Riemann curvature tensor
~: superscript
_: subscript
27. 27
Wolfram program that represents the above formula
Egison program that represents the above formula
Formula of Riemann curvature tensor
39. 39
Currently, I am working to represent differential forms, exterior derivative, and
Hodge operator directly in Egison.
If we realize that, there are the wide range of application, e.g. mathematics,
physics, and computer simulation.