Processing Math: Done
jsMath

Basic Arithmetic

[:days4/projects/: Other SAGE Days 4 Project]

Test cases Read these as "an element of S and an element of R"

  1. Z[x]/ZQ[x] (not Frac(Z[x]))

  2. Q+Z[x]Q[x] and Z/5Z+Z[x]Z/5Z[x]

  3. Q*Z[x]Q[x]

  4. Q*Z/5Z error due to no morphism from all of Q into Z/5Z.

  5. Z[x]+Z[y] error due to unknown relation between x and y and ambiguous order

  6. Q[ζm]+Q[ζn]Q[ζlcm(m,n)] as cyclotomic fields are created with an embedding into Qˉ

  7. Fpn+Fpm works using Conway polynomials

  8. Z[x]+Q[y] same as 5 (minus the symmetry concerns)

  9. Z/16Z+Z/12ZZ/4Z

Finding known morphisms

Every parent will hava a list of other objects that it knows how to coerce from (as in the current coerce_try) and known embeddings (which it may append to the lists of existing rings), both created at ring creation time. When trying to find a map from (distinct) R to S we

Creating new morphisms

One can view most desired natural coersions as functorial operations from some simpler base object. E.g.

Given two objects S and R, first see if there is a natural morphism SR or RS. If there is one, use it. If there are two, by definition they are cannonically isomorphic and so we can use either.

Considering functors above, decompose each object R as a tower of simpler rings R^0 \rightarrow ···RRR. Now try to complete the pushout diagram RYR for maximal Y as low as possible in the tower of R and S. If the pushout exists, do arithmatic in this ring.

Other