Computational Math and Terence Tao's three stages of mathematics

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Computational Math and Terence Tao's three stages of mathematics

Tim Daly

https://terrytao.wordpress.com/career-advice/there%E2%80%99s-more-to-mathematics-than-rigour-and-proofs/

One can roughly divide mathematical education into three stages:

  1. The “pre-rigorous” stage, in which mathematics is taught in an informal, intuitive manner, based on examples, fuzzy notions, and hand-waving. (For instance, calculus is usually first introduced in terms of slopes, areas, rates of change, and so forth.) The emphasis is more on computation than on theory. This stage generally lasts until the early undergraduate years.
  2. The “rigorous” stage, in which one is now taught that in order to do maths “properly”, one needs to work and think in a much more precise and formal manner (e.g. re-doing calculus by using epsilons and deltas all over the place). The emphasis is now primarily on theory; and one is expected to be able to comfortably manipulate abstract mathematical objects without focusing too much on what such objects actually “mean”. This stage usually occupies the later undergraduate and early graduate years.
  3. The “post-rigorous” stage, in which one has grown comfortable with all the rigorous foundations of one’s chosen field, and is now ready to revisit and refine one’s pre-rigorous intuition on the subject, but this time with the intuition solidly buttressed by rigorous theory. (For instance, in this stage one would be able to quickly and accurately perform computations in vector calculus by using analogies with scalar calculus, or informal and semi-rigorous use of infinitesimals, big-O notation, and so forth, and be able to convert all such calculations into a rigorous argument whenever required.) The emphasis is now on applications, intuition, and the “big picture”. This stage usually occupies the late graduate years and beyond.


I'm of the opinion that computational mathematics is at the first stage. We write

code that "sort-of works" and lacks any attempt at formality, even failing to

provide literature references. Moving to stage 2 will be a long and tedious

task. Axiom has the connections to the proof machinery and is being

decorated to provide some early attempts at proofs using ACL2 and COQ.

This effort is an interesting combination of mathematical proof and

computational proof since both fields underlie the implementation.

Moving computational mathematics up Tao's tower is going to be a long, slow,

painul effort but, if memory serves me correctly, so was graduate school.

Tim





_______________________________________________
Axiom-developer mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

Re: Computational Math and Terence Tao's three stages of mathematics

Tim Daly
I don't have a copy of the Classical Mechanics book so I can't comment.

re: When do you write code versus when do you use CAS systems like Axiom?

I write code when I need to understand something. For example, I'm writing
code to manipulate point clouds from self-driving cars. I don't understand
how to segment point clouds into individual cars.

I also write code when I'm working at the basic level of the world. For
example, I'm pushing Gustafson's ENUM representation of numbers
so I can use it as an Axiom domain. That is so primitive it needs raw code.
And maybe an FPGA so there is VHDL to learn.

I use Axiom when I'm trying to work at a high level. I'm currently pushing hard
on Geometric Algebra (Clifford Algebra) so I can extend the library. It is a long
leap from GA to code and Axiom is the right middle ground.

I use Axiom when I'm writing the Computer Algebra Test Suite where the
struggle is whether Axiom can't do it or I'm just too uneducated to know.

That said, I'm a primitivist of the Feynman school. If I don't understand how
the algebra turns into lisp turns into C turns into binary turns into transistors
turns into silicon turns into electrons then I don't think I understand it. Most
programmers these days have no idea what a front porch on VGA means
but they are really up to speed on the latest React library, which I am not.

Ultimately this is where I part company with most CAS developers. If we
develop "library code" that works using the "trust me" model then the world
will simply discard it for a shiny new thing. It is why you throw out your cell
phone every year. You don't even know how to replace the battery anymore.
I don't want to create "this year's shiny new thing" only to have it die.

But if we explain it so it can be maintained, modified, and  extended without
spending years doing research, which is why highways survive and evolve,
then Axiom can live. If we can make it possible to teach computational
mathematics "from the ground up" we win. Students use what students learn.
Explain your code. Reference the literature. Make it possible to teach it.
Think long term.

(stepping off the soapbox)
Tim



On Sat, Dec 3, 2016 at 3:57 PM, Lawrence Bottorff <[hidden email]> wrote:
In my opinion, exactly what S&A are doing in SICP is what math should be about. A great example is Tree recusion 1.2.2 in this nicer version of SICP (scroll down to 1.2.2). It talks about the Fibonacci series and how to do it with a Scheme tree recursion -- but then how wasteful that is due to the duplication. Then they talk about the phi equation. Then they compare, talking (around) big-O. This is exactly how math -- starting somewhere in middle or high school should be taught! SICP obviously emphasized the programming, but that could be flipped. So yeah, pummeling kids with weak, hand-waving Stage 1 math is a real loser. It's not real theory, it's not real-world computational. And, as Sal Kahn says (after I said it for years), American K-12 math is not mastery-oriented, rather, just give them a letter grade (whatever that is supposed to mean/achieve) and herd them to the next level . . . deficiencies accumulating, math phobia building.

In the real world math is done with electronic digital machines, i.e., computers. Not even calculators anymore! So when I see second-rate versions of Stage 1 math being taught sans computer but those ubiquitous WAY-overpriced "graphing" (sic) calculators in hand, I see red.

By the way, what do you think of Sussman/Wisdom's Structure and Interpretation of Classical Mechanics (2nd ed). It's a true literate, tangled code tome. I can imagine NASA hiring a bright young physicist who mastered Goldstein's Classical Mechanics -- but then this kid has no idea how any of it is actually done in the real world, i.e., how to do it on a computer. So often the computational side is just an afterthought in schools. But then another question about SICM. It's using Scheme with a library Sussman created. It seems to beg the question, When do you write code versus when do you use CAS systems like Axiom?

LB

On Fri, Dec 2, 2016 at 6:09 PM, Tim Daly <[hidden email]> wrote:

https://terrytao.wordpress.com/career-advice/there%E2%80%99s-more-to-mathematics-than-rigour-and-proofs/

One can roughly divide mathematical education into three stages:

  1. The “pre-rigorous” stage, in which mathematics is taught in an informal, intuitive manner, based on examples, fuzzy notions, and hand-waving. (For instance, calculus is usually first introduced in terms of slopes, areas, rates of change, and so forth.) The emphasis is more on computation than on theory. This stage generally lasts until the early undergraduate years.
  2. The “rigorous” stage, in which one is now taught that in order to do maths “properly”, one needs to work and think in a much more precise and formal manner (e.g. re-doing calculus by using epsilons and deltas all over the place). The emphasis is now primarily on theory; and one is expected to be able to comfortably manipulate abstract mathematical objects without focusing too much on what such objects actually “mean”. This stage usually occupies the later undergraduate and early graduate years.
  3. The “post-rigorous” stage, in which one has grown comfortable with all the rigorous foundations of one’s chosen field, and is now ready to revisit and refine one’s pre-rigorous intuition on the subject, but this time with the intuition solidly buttressed by rigorous theory. (For instance, in this stage one would be able to quickly and accurately perform computations in vector calculus by using analogies with scalar calculus, or informal and semi-rigorous use of infinitesimals, big-O notation, and so forth, and be able to convert all such calculations into a rigorous argument whenever required.) The emphasis is now on applications, intuition, and the “big picture”. This stage usually occupies the late graduate years and beyond.


I'm of the opinion that computational mathematics is at the first stage. We write

code that "sort-of works" and lacks any attempt at formality, even failing to

provide literature references. Moving to stage 2 will be a long and tedious

task. Axiom has the connections to the proof machinery and is being

decorated to provide some early attempts at proofs using ACL2 and COQ.

This effort is an interesting combination of mathematical proof and

computational proof since both fields underlie the implementation.

Moving computational mathematics up Tao's tower is going to be a long, slow,

painul effort but, if memory serves me correctly, so was graduate school.

Tim





_______________________________________________
Axiom-developer mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/axiom-developer




_______________________________________________
Axiom-developer mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

Re: Computational Math and Terence Tao's three stages of mathematics

Tim Daly
In reply to this post by Tim Daly
See Feynman's Knowing versus Understanding:
https://www.youtube.com/watch?v=NM-zWTU7X-k
Calculation and "the right answer" are never enough.

See also: Wholeness and the Implicate Order by Bohm
for a discussion of the pilot wave vs quantum theories.

On Sat, Dec 3, 2016 at 3:57 PM, Lawrence Bottorff <[hidden email]> wrote:
In my opinion, exactly what S&A are doing in SICP is what math should be about. A great example is Tree recusion 1.2.2 in this nicer version of SICP (scroll down to 1.2.2). It talks about the Fibonacci series and how to do it with a Scheme tree recursion -- but then how wasteful that is due to the duplication. Then they talk about the phi equation. Then they compare, talking (around) big-O. This is exactly how math -- starting somewhere in middle or high school should be taught! SICP obviously emphasized the programming, but that could be flipped. So yeah, pummeling kids with weak, hand-waving Stage 1 math is a real loser. It's not real theory, it's not real-world computational. And, as Sal Kahn says (after I said it for years), American K-12 math is not mastery-oriented, rather, just give them a letter grade (whatever that is supposed to mean/achieve) and herd them to the next level . . . deficiencies accumulating, math phobia building.

In the real world math is done with electronic digital machines, i.e., computers. Not even calculators anymore! So when I see second-rate versions of Stage 1 math being taught sans computer but those ubiquitous WAY-overpriced "graphing" (sic) calculators in hand, I see red.

By the way, what do you think of Sussman/Wisdom's Structure and Interpretation of Classical Mechanics (2nd ed). It's a true literate, tangled code tome. I can imagine NASA hiring a bright young physicist who mastered Goldstein's Classical Mechanics -- but then this kid has no idea how any of it is actually done in the real world, i.e., how to do it on a computer. So often the computational side is just an afterthought in schools. But then another question about SICM. It's using Scheme with a library Sussman created. It seems to beg the question, When do you write code versus when do you use CAS systems like Axiom?

LB

On Fri, Dec 2, 2016 at 6:09 PM, Tim Daly <[hidden email]> wrote:

https://terrytao.wordpress.com/career-advice/there%E2%80%99s-more-to-mathematics-than-rigour-and-proofs/

One can roughly divide mathematical education into three stages:

  1. The “pre-rigorous” stage, in which mathematics is taught in an informal, intuitive manner, based on examples, fuzzy notions, and hand-waving. (For instance, calculus is usually first introduced in terms of slopes, areas, rates of change, and so forth.) The emphasis is more on computation than on theory. This stage generally lasts until the early undergraduate years.
  2. The “rigorous” stage, in which one is now taught that in order to do maths “properly”, one needs to work and think in a much more precise and formal manner (e.g. re-doing calculus by using epsilons and deltas all over the place). The emphasis is now primarily on theory; and one is expected to be able to comfortably manipulate abstract mathematical objects without focusing too much on what such objects actually “mean”. This stage usually occupies the later undergraduate and early graduate years.
  3. The “post-rigorous” stage, in which one has grown comfortable with all the rigorous foundations of one’s chosen field, and is now ready to revisit and refine one’s pre-rigorous intuition on the subject, but this time with the intuition solidly buttressed by rigorous theory. (For instance, in this stage one would be able to quickly and accurately perform computations in vector calculus by using analogies with scalar calculus, or informal and semi-rigorous use of infinitesimals, big-O notation, and so forth, and be able to convert all such calculations into a rigorous argument whenever required.) The emphasis is now on applications, intuition, and the “big picture”. This stage usually occupies the late graduate years and beyond.


I'm of the opinion that computational mathematics is at the first stage. We write

code that "sort-of works" and lacks any attempt at formality, even failing to

provide literature references. Moving to stage 2 will be a long and tedious

task. Axiom has the connections to the proof machinery and is being

decorated to provide some early attempts at proofs using ACL2 and COQ.

This effort is an interesting combination of mathematical proof and

computational proof since both fields underlie the implementation.

Moving computational mathematics up Tao's tower is going to be a long, slow,

painul effort but, if memory serves me correctly, so was graduate school.

Tim





_______________________________________________
Axiom-developer mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/axiom-developer




_______________________________________________
Axiom-developer mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

Clifford Algebra

Martin Baker-3
In reply to this post by Tim Daly
Tim,

You recently mentioned Clifford Algebra a couple of times so I thought I
would mention an idea that I had on the subject. The idea is still too
vague and hand-wavy to turn into code but I would be interested to know
if anyone thinks its viable?

The idea is to implement a 3-layer architecture in the CAS. The layers
being:

1 - Physics
2 - Geometry
3 - Algebra

Each of these layers would have the ability to slot in different
options, for instance:

Physics - classical, relativity or quantum.
Geometry - Euclidean, projective, conformal or Minkowski space.
Algebra - Clifford or matrix/tensor.

The general idea being that, when working at the higher level there is
some independence from the layers below. For instance, if you are
working on a physics problem and you have a issue like:
* It does not scale up.
* It has an awkward singularity.
* Need for different type of transform not supported by algebra.
Then you can slot on a different algebra or geometry to see if that
fixes the problem without changing the physics code.

Unfortunately I can see some difficulties with this idea:
1) How to refer to literal values? Even when working at the physics
level we may still need to refer to concrete values for fixed points,
planes, transforms and so on. Is there a way to specify these literal
values in a way that does not use actual Clifford or matrix values? Even
if the answer is no then I think the model could give some independence
between the layers.
2) The model may need 2 or more geometry layers. For instance, we may be
working in 3 dimensions but we want to combine translate and rotate into
a single transform, or we want to get rid of singularities, so we add
extra dimensions but we still want to translate back to original
coordinates so we need multiple coordinate systems.

As I say, this is just a vague idea but I just thought I would mention it.

Martin

_______________________________________________
Axiom-developer mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/axiom-developer