\start
Date: Fri, 2 Dec 2016 12:53:57 +0000
From: Martin Gainty <mgainty@hotmail.com>
To: "tsaloranta@gmail.com" <tsaloranta@gmail.com>,
	"axiom-developer@nongnu.org" <axiom-developer@nongnu.org>,
	"dev@axis.apache.org" <dev@axis.apache.org>, "user@axis.apache.org"
	<user@axis.apache.org>
Subject: [Axiom-developer] org.codehaus.stax2.StAXException missing in
 axiom-api:1.0 in org.apache.axiom.om.impl.stream.stax.StAXExceptionUtil

\begin{verbatim}https://github.com/FasterXML/woodstox

[https://avatars3.githubusercontent.com/u/382692?v=3D3&s=3D400]<https://git=
hub.com/FasterXML/woodstox>

GitHub - FasterXML/woodstox: The gold standard Stax XML ...<https://github.=
com/FasterXML/woodstox>
github.com
woodstox - The gold standard Stax XML API implementation. Now at Github.


org.apache.axiom.om.impl.stream.stax.StAXExceptionutil (axiom-api:1.3.0) re=
ferences


import org.codehaus.stax2.StAXException;


but i cannot locate StAXException anywhere?

please advise

Martin

Martin Gainty

\start
Date: Fri, 2 Dec 2016 18:19:02 +0100 (CET)
From: Waldek Hebisch <hebisch@math.uni.wroc.pl>
To: mgainty@hotmail.com (Martin Gainty)
Subject: Re: [Axiom-developer] org.codehaus.stax2.StAXException missing in

> 
> org.apache.axiom.om.impl.stream.stax.StAXExceptionutil (axiom-api:1.3.0) re=
> ferences
> 
> 
> import org.codehaus.stax2.StAXException;
> 
> 
> but i cannot locate StAXException anywhere?
> 

Use different mailing list.  This one is about Axiom computer
algebra system -- quite a different thing that you have in
mind.

-- 
                              Waldek Hebisch
\start
Date: Fri, 2 Dec 2016 10:58:06 -0800
From: Tatu Saloranta <tsaloranta@gmail.com>
To: Martin Gainty <mgainty@hotmail.com>
Cc: "axiom-developer@nongnu.org" <axiom-developer@nongnu.org>,
	"dev@axis.apache.org" <dev@axis.apache.org>, 
	"user@axis.apache.org" <user@axis.apache.org>
Subject: Re: [Axiom-developer] org.codehaus.stax2.StAXException missing in
 axiom-api:1.0 in org.apache.axiom.om.impl.stream.stax.StAXExceptionUtil

This class would come from `stax2-api`, which is dependency of Woodstox;
for Woodstox 5.0.3 it's:

        <dependency>
          <groupId>org.codehaus.woodstox</groupId>
          <artifactId>stax2-api</artifactId>
          <version>3.1.4</version>
        </dependency>

but earlier versions similarly depend on one of 3.x versions.

-+ Tatu +-



On Fri, Dec 2, 2016 at 4:53 AM, Martin Gainty <mgainty@hotmail.com> wrote:

> https://github.com/FasterXML/woodstox
> <https://github.com/FasterXML/woodstox>
> GitHub - FasterXML/woodstox: The gold standard Stax XML ...
> <https://github.com/FasterXML/woodstox>
> github.com
> woodstox - The gold standard Stax XML API implementation. Now at Github.
>
> org.apache.axiom.om.impl.stream.stax.StAXExceptionutil
> (axiom-api:1.3.0) references
>
> import org.codehaus.stax2.StAXException;
>
>
> but i cannot locate StAXException anywhere?
>
> please advise
>
> Martin
>
>
>
> Martin Gainty

\start
Date: Fri, 2 Dec 2016 18:09:15 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-dev <axiom-developer@nongnu.org>, Tim Daly <daly@axiom-developer.org>
Subject: [Axiom-developer] Computational Math and Terence Tao's three stages
 of mathematics

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

One can roughly divide mathematical education into three stages:

   1. The =E2=80=9Cpre-rigorous=E2=80=9D stage, in which mathematics is tau=
ght in an
   informal, intuitive manner, based on examples, fuzzy notions, and
   hand-waving. (For instance, calculus is usually first introduced in term=
s
   of slopes, areas, rates of change, and so forth.) The emphasis is more o=
n
   computation than on theory. This stage generally lasts until the early
   undergraduate years.
   2. The =E2=80=9Crigorous=E2=80=9D stage, in which one is now taught that=
 in order to do
   maths =E2=80=9Cproperly=E2=80=9D, 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 o=
ver
   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 =E2=80=9Cmean=E2=80=9D. =
This stage usually
   occupies the later undergraduate and early graduate years.
   3. The =E2=80=9Cpost-rigorous=E2=80=9D stage, in which one has grown com=
fortable with
   all the rigorous foundations of one=E2=80=99s chosen field, and is now r=
eady to
   revisit and refine one=E2=80=99s 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 perf=
orm
   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 =E2=80=9Cbig picture=E2=80=9D. This stage usually occ=
upies 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

\start
Date: Thu, 8 Dec 2016 04:44:41 -0500
From: Tim Daly <axiomcas@gmail.com>
To: Lawrence Bottorff <borgauf@gmail.com>,
	axiom-dev <axiom-developer@nongnu.org>, 
	Tim Daly <daly@axiom-developer.org>
Subject: Re: [Axiom-developer] Computational Math and Terence Tao's three
 stages of mathematics

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 <borgauf@gmail.com> 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
> <https://xuanji.appspot.com/isicp/1-2-procedures.html> in this nicer
> version of SICP (scroll down to 1.2.2). It talks about the Fibonacci seri=
es
> and how to do it with a Scheme tree recursion -- but then how wasteful th=
at
> is due to the duplication. Then they talk about the phi equation. Then th=
ey
> 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 versio=
ns
> 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 <axiomcas@gmail.com> 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 =E2=80=9Cpre-rigorous=E2=80=9D 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 t=
erms
>>    of slopes, areas, rates of change, and so forth.) The emphasis is mor=
e on
>>    computation than on theory. This stage generally lasts until the earl=
y
>>    undergraduate years.
>>    2. The =E2=80=9Crigorous=E2=80=9D stage, in which one is now taught t=
hat in order to
>>    do maths =E2=80=9Cproperly=E2=80=9D, one needs to work and think in a=
 much more precise and
>>    formal manner (e.g. re-doing calculus by using epsilons and deltas al=
l over
>>    the place). The emphasis is now primarily on theory; and one is expec=
ted to
>>    be able to comfortably manipulate abstract mathematical objects witho=
ut
>>    focusing too much on what such objects actually =E2=80=9Cmean=E2=80=
=9D. This stage usually
>>    occupies the later undergraduate and early graduate years.
>>    3. The =E2=80=9Cpost-rigorous=E2=80=9D stage, in which one has grown =
comfortable with
>>    all the rigorous foundations of one=E2=80=99s chosen field, and is no=
w ready to
>>    revisit and refine one=E2=80=99s pre-rigorous intuition on the subjec=
t, but this
>>    time with the intuition solidly buttressed by rigorous theory. (For
>>    instance, in this stage one would be able to quickly and accurately p=
erform
>>    computations in vector calculus by using analogies with scalar calcul=
us, 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 =E2=80=9Cbig picture=E2=80=9D. 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

\start
Date: Thu, 8 Dec 2016 04:56:40 -0500
From: Tim Daly <axiomcas@gmail.com>
To: Lawrence Bottorff <borgauf@gmail.com>,
	axiom-dev <axiom-developer@nongnu.org>, 
	Tim Daly <daly@axiom-developer.org>
Subject: Re: [Axiom-developer] Computational Math and Terence Tao's three
 stages of mathematics

See Feynman's Knowing versus Understanding:
https://www.youtube.com/watch?v=3DNM-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 <borgauf@gmail.com> 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
> <https://xuanji.appspot.com/isicp/1-2-procedures.html> in this nicer
> version of SICP (scroll down to 1.2.2). It talks about the Fibonacci seri=
es
> and how to do it with a Scheme tree recursion -- but then how wasteful th=
at
> is due to the duplication. Then they talk about the phi equation. Then th=
ey
> 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 versio=
ns
> 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 <axiomcas@gmail.com> 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 =E2=80=9Cpre-rigorous=E2=80=9D 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 t=
erms
>>    of slopes, areas, rates of change, and so forth.) The emphasis is mor=
e on
>>    computation than on theory. This stage generally lasts until the earl=
y
>>    undergraduate years.
>>    2. The =E2=80=9Crigorous=E2=80=9D stage, in which one is now taught t=
hat in order to
>>    do maths =E2=80=9Cproperly=E2=80=9D, one needs to work and think in a=
 much more precise and
>>    formal manner (e.g. re-doing calculus by using epsilons and deltas al=
l over
>>    the place). The emphasis is now primarily on theory; and one is expec=
ted to
>>    be able to comfortably manipulate abstract mathematical objects witho=
ut
>>    focusing too much on what such objects actually =E2=80=9Cmean=E2=80=
=9D. This stage usually
>>    occupies the later undergraduate and early graduate years.
>>    3. The =E2=80=9Cpost-rigorous=E2=80=9D stage, in which one has grown =
comfortable with
>>    all the rigorous foundations of one=E2=80=99s chosen field, and is no=
w ready to
>>    revisit and refine one=E2=80=99s pre-rigorous intuition on the subjec=
t, but this
>>    time with the intuition solidly buttressed by rigorous theory. (For
>>    instance, in this stage one would be able to quickly and accurately p=
erform
>>    computations in vector calculus by using analogies with scalar calcul=
us, 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 =E2=80=9Cbig picture=E2=80=9D. 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

\start
Date: Thu, 8 Dec 2016 10:55:26 +0000
From: Martin Baker <ax87438@martinb.com>
To: axiom-developer@nongnu.org
Subject: [Axiom-developer] Clifford Algebra

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

\start
Date: Thu, 8 Dec 2016 13:03:40 -0500
From: Tim Daly <axiomcas@gmail.com>
To: ax87438@martinb.com, Tim Daly <daly@axiom-developer.org>, 
	axiom-dev <axiom-developer@nongnu.org>
Subject: Re: [Axiom-developer] Clifford Algebra (Physics, Geometry, Algebra)

I've given no thought to unifying these three areas or
layering them in any obvious way. I'd be interested in any
thoughts you have on the subject.

For quantum physics I'm working my way through
Nielsen "Quantum Computation and Quantum Information" and
Mermin "Quantum Computer Science"
I want to be able to use the bra-ket notation. The underlying
unitary matrix computations don't seem all that intimidating.
I think this could be a separate package with operators
like a Hadamard gate, etc. I've written a couple programs for
IBM's online quantum computer so I think I understand some
of the issues. I'm looking at quantum simulator code on github
with the thought that the simulator could be embedded in the
underlying lisp so quantum programs could be "run" in Axiom.

I've looked at Kaku's book on Quantum Field Theory but
I'm afraid that relativistic physics is a much longer climb.
Renormalization leaves me with an uncomfortable feeling
and I don't understand a lot of it.

For classical physics I think a reasonable approach might be
the "cookbook" files introduced this summer. The idea is to
create "application notes" (cookbooks) that focus on working
out a particular example, ala "worked out homework problems
using Axiom". The cookbooks are literate programs constructed
at build time.

For Clifford Algebra I'm working my way through 2 books,
Dorst "Geometric Algebra for Computer Science"
Sommer "Geometric Computing with Clifford Algebras"
I have worked in both computer vision and robotics so the
chapters on vision and kinematics are things I'd like to
implement. The scalar/vector/bivector/trivector representation
seems to fit naturally into a record. The calculations amount to
a lot of book-keeping which Axiom could easily automate. I'd
also like to be able to implement the higher tensor products.

I do plan to look at what you've already implemented but first
I want to understand the area enough to be able to implement
the code (see previous emails). Once I think I understand
I'll see what you've already done.

For geometry it falls under "Geometric Algebra". Sommer
Chapter 4 is on "A Universal Model for Conformal Geometries of
Euclidean, Spherical, and Double-Hyperbolic Spaces". I don't think
geometry is a separate subject in this formulation.

So the real question might be "Can I formulate my physics in
matrix and tensors and shift between them". Which leads to the
question "Can I easily convert between matrices and tensors?"
>From what I've seen so far this should be possible, provided it is
implemented properly. The CA wedge product is just the basis
vectors times the determinant so you might have to specify the
map between the matrix basis and the tensor basis.

All of which implies I understand (and can implement) the extended tensor
algebra. For that I'm working my way through the course:
https://www.youtube.com/watch?v=_pKxbNyjNe8&list=PLRlVmXqzHjUQARA37r4Qw3SHPqVXgqO6c

Tim

\start
Date: Fri, 9 Dec 2016 09:15:23 +0000
From: Martin Baker <ax87438@martinb.com>
To: axiom-developer@nongnu.org
Subject: Re: [Axiom-developer] Clifford Algebra (Physics, Geometry, Algebra)

On 08/12/16 18:03, Tim Daly wrote:
> So the real question might be "Can I formulate my physics in
> matrix and tensors and shift between them". Which leads to the
> question "Can I easily convert between matrices and tensors?"
> From what I've seen so far this should be possible, provided it is
> implemented properly. The CA wedge product is just the basis
> vectors times the determinant so you might have to specify the
> map between the matrix basis and the tensor basis.

Although matrix and Clifford algebras are apples and oranges I think 
that, in the context of a given geometry and physics it may be 
theoretically possible to have an equivalence between them but in 
practice I suspect this may be too messy?

As an example lets look at 3D rotations as either 3x3 Matrix or 
quaternions (taken to be Clifford algebra with 3D bivector + scalar) in 
the context of Euclidean space and classical physics (rotation by 360 
degrees taken to be identity).

I think the matrix to Clifford conversion would be something like this 
untested code:

matrix2Quat(m:SquareMatrix(3,DoubleFloat)) == Quaternion(DoubleFloat)
   tr:DoubleFloat = elt(m,0,0) + elt(m,1,1) + elt(m,2,2)
   if (tr > 0) then
     S:DoubleFloat = sqrt(tr+1.0) * 2
     qw = 0.25 * S
     qx = (elt(m,2,1) - elt(m,1,2)) / S
     qy = (elt(m,0,2) - elt(m,2,0)) / S
     qz = (elt(m,1,0) - elt(m,0,1)) / S
   else if ((elt(m,0,0) > elt(m,1,1)) and (elt(m,0,0) > elt(m,2,2))) then
     S:DoubleFloat = sqrt(1.0 + elt(m,0,0) - elt(m,1,1) - elt(m,2,2)) * 2
     qw = (elt(m,2,1) - elt(m,1,2)) / S
     qx = 0.25 * S;
     qy = (elt(m,0,1) + elt(m,1,0)) / S
     qz = (elt(m,0,2) + elt(m,2,0)) / S
   else if (elt(m,1,1) > elt(m,2,2)) then
     S:DoubleFloat = sqrt(1.0 + elt(m,1,1) - elt(m,0,0) - elt(m,2,2)) * 2
     qw = (elt(m,0,2) - elt(m,2,0)) / S
     qx = (elt(m,0,1) + elt(m,1,0)) / S
     qy = 0.25 * S
     qz = (elt(m,1,2) + elt(m,2,1)) / S
   else
     S:DoubleFloat = sqrt(1.0 + elt(m,2,2) - elt(m,0,0) - elt(m,1,1)) * 2
     qw = (elt(m,1,0) - elt(m,0,1)) / S
     qx = (elt(m,0,2) + elt(m,2,0)) / S
     qy = (elt(m,1,2) + elt(m,2,1)) / S
     qz = 0.25 * S
   quatern(qx,qy,qz,qw)

The 'if' statements are required to do the translation in a part of the 
geometry away from singularities and to avoid root of negative numbers.

This seems quite complicated to me and I suspect (but I don't know) that 
any attempt to generalise it may make it more complicated?

Therefore I was thinking more of being able to plug in either matrix or 
Clifford but not both.

So I have a physics problem that needs to work with 3D rotations, I 
could either plug in the matrix code to do the problem or the Clifford 
code. They should give the same answer but the will differ in rounding 
errors, ability to scale etc.

Martin

\start
Date: Wed, 28 Dec 2016 04:09:10 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-dev <axiom-developer@nongnu.org>, Tim Daly <daly@axiom-developer.org>
Subject: [Axiom-developer] Proving Axiom Correct: Mathematical Components
 book

The COQ team at INRIA has released an online book called "Mathematical
Components" which covers a library that simplifies proofs. This looks like
an
excellent match to Axiom and Latex. See, for example, slide 19 of this
presentation.

ssr.msr-inria.inria.fr/doc/tutorial-itp13/slides.pdf

The free book is available at
https://math-comp.github.io/mcb/book.pdf
for those who want to follow along on the effort to prove Axiom correct.

Tim

\start
Date: Fri, 30 Dec 2016 12:29:27 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-dev <axiom-developer@nongnu.org>, Tim Daly <daly@axiom-developer.org>
Subject: [Axiom-developer] Towards a Semantic Language of Mathematics

http://blog.wolfram.com/2016/12/22/the-semantic-representation-of-pure-mathematics/

This was a workshop I just discovered. There is a video on that site that I
highly recommend. The page that links to the talks does not (yet?) exist
unfortunately.

Apparently Axiom is "on the path" by trying to combine symbolic math with proof
technology.

Tim

\start
Date: Fri, 30 Dec 2016 17:31:34 -0500
From: Raymond Rogers <raymond.rogers72@gmail.com>
To: axiom-developer@nongnu.org
Subject: Re: [Axiom-developer] Towards a Semantic Language of Mathematics

This reminds me of my Real Analysis class: where I took too drawing Venn 
diagrams on butcher paper to keep track of the subordinations and 
properties.   A case where you wished the number of Theorems outnumbered 
the number of Definitions:)  It did help me to keep the structures in 
mind and I see no reason it couldn't be mathematically useful.
Ray

On 12/30/2016 12:29 PM, Tim Daly wrote:
> http://blog.wolfram.com/2016/12/22/the-semantic-representation-of-pure-mathematics/
>
> This was a workshop I just discovered. There is a video on that site that I
> highly recommend. The page that links to the talks does not (yet?) exist
> unfortunately.
>
> Apparently Axiom is "on the path" by trying to combine symbolic math with proof
> technology.
>
> Tim

-- 
Quote from the "Lessons of History" by Will and Ariel Durant--1968

 In England and the United States, in Denmark, Norway, and Sweden,
in Switzerland and Canada, democracy is today sounder than ever before.
   If race or class war divides us into hostile camps,
changing political argument into blind hate, one side or the other
may overturn the hustings with the rule of the sword.
If our economy of freedom fails to distribute wealth
as ably as it has created it, the road to dictatorship will be
open to any man who can persuasively promise security to all;
and a martial government, under whatever charming phrases,
will engulf the democratic world.

\start
Date: Fri, 30 Dec 2016 18:04:31 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-dev <axiom-developer@nongnu.org>, Tim Daly <daly@axiom-developer.org>
Subject: [Axiom-developer] The QED Manifesto

This was mentioned in the video.
https://www.cs.ru.nl/~freek/qed/qed.html

One of Axiom primary goals seems to fit the QED third goal:

The third motivation for the QED project is education. Nothing is more
important than mathematics education to the creation of infrastructure
for technology-based economic growth. The development of mathematical
ability is notoriously dependent upon "doing" rather than upon "being
told" or "remembering". The QED system will provide, via such
techniques as interactive proof checking algorithms and an endless
variety of mathematical results at all levels, an opportunity for the
one-on-one presenting, checking, and debugging of mathematical
technique, which it is so expensive to provide by the method of one
trained mathematician in dialogue with one student.

Also, the development of Axiom as free and open source addresses this objection:

Objection 2. Intellectual property problems. Such an enterprise as QED
is doomed because as soon as it is even slightly successful, it will
be so swamped by lawyers with issues of ownership, copyright, trade
secrecy, and patent law that the necessary wide cooperation of
hundreds of mathematicians, computer scientists, research agencies,
and institutions will become impossible.

Reply to Objection 2. In full cognizance of the dangers of this
objection, we put forward as a fundamental and initial principle that
the entirety of the QED system is to be in the international public
domain, so that all can freely benefit from it, and thus be inspired
to contribute to its further development.

Axiom certainly does not address the whole of QED. At most Axiom will likely be
viewed as an primitive first step on a long path.

\start
Date: Fri, 30 Dec 2016 18:09:39 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-dev <axiom-developer@nongnu.org>, Tim Daly <daly@axiom-developer.org>
Subject: [Axiom-developer] Proving Axiom Correct. COQ/Axiom type matching
\documentclass{book}
%\newcommand{\VolumeName}{Volume 2: Axiom Users Guide}
%\input{bookheader.tex}
\pagenumbering{arabic}
\mainmatter
\setcounter{chapter}{0} % Chapter 1

\usepackage{makeidx}
\makeindex
\begin{document}


COQ defines some primitive types. For example, it defines 'nat' which
is the type
of 'natural numbers'.

The corresponding type in Axiom seems to be NonNegativeInteger. At the moment
it seems interesting to try to unify these two types, allowing
primitive Axiom operations
to be expressed in COQ directly.

Unifying base types will allow easier translation of Axiom's algorithms.


\end{verbatim}
\eject
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{axiom}
\bibliography{axiom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
