Structure Computer
Checking the compute server…

Frequently asked questions

How does it differ from numerical simulation?

A numerical simulation follows an orbit approximately in floating point and answers “what happens next?”. Structure Computer computes with numbers that are never rounded (finite fields and the rationals) and answers “which states are reached, and which never are?” and “what never changes?”, with certificates.

On the other hand, a finite field has no order and no distance, so questions of nearness, such as how close orbits come or how errors grow, are outside its scope. It complements numerical simulation rather than replacing it.

Can't a computer algebra system do the same?

A computer algebra system computes formulas exactly, but its answers come with no certificate that others can check independently. And for a question such as “how many steps from s to t?”, in general it can only follow the orbit one step at a time. Specialist mathematical transformations built by hand for one system at a time can sometimes answer it, but no general-purpose tool does that automatically.

For the known families, Structure Computer answers from theorems proved in Lean, without following the orbit, and attaches a certificate. It also answers questions that following the orbit can never settle, such as “never” over ℚ (the advanced examples).

Why compute over finite fields? Can it answer questions over ℚ?

Over a finite field every value is a whole number from 0 to q − 1, nothing is rounded, and there are finitely many states. Questions over ℚ (fractions) are answered too; the Try page lets you choose the field.

How should I choose q?

Any prime will do.

  • For a known family, q can be large. The Lyness map is answered within a second even for q ≈ 2⁶¹. The Euler top takes under a second at q ≈ 2⁴⁰ and is practical up to about 2⁴⁵.
  • A system that is not a known family is answered by following its orbit one step at a time, so choose a q small enough for the orbit to fit within the walk limit (one million steps by default).
  • Q2 (period structure) gives a certain answer by counting every state only when there are few states.

How do I enter a state?

As many numbers as there are variables, separated by commas (e.g. 2, 5). Fractions are allowed. Over 𝔽_q, fractions and negative numbers are taken modulo q (for q = 1009, 1/2 is 505 and −1 is 1008).

I got “no result”

The card shows the reason. Common reasons:

  • For a system that is not a known family, the orbit is longer than the walk limit. Choose a smaller q, or raise “Walk limit” among the advanced options.
  • A system that is not a known family was asked about with a large q. Then an answer from theorems is impossible in principle.
  • The check failed twice in a row. This keeps a wrong answer from being returned.
  • The computation of the question went over its time limit (10 minutes per question).

Q6 says “Not applicable”

Q6 (holonomy) is answered only for a system whose system file declares a symmetry. How to declare one is in “Writing system files”.

Q7 and Q11 disagree with Id(s, t)

Q7 and Q11 always answer about step counts over ℚ, whatever field is chosen. A pair of states that is joined over 𝔽_q may not be joined over ℚ, so the answers can look different.

Some questions take a long time

Q2 (period structure) at a large q, and Q3 (integrability) for a system with large formulas, can take several minutes (nearly 10 at worst). Each question is limited to 10 minutes, and “Cancel” on its card stops it. For a known family, Id(s, t) is usually answered within a second.

It says a limit has been reached

The compute server is shared by many people, so there are limits on how many computations one person may have running at once and how many they may send in a short time. One “Compute everything” fits within them. When a limit is reached, wait about the number of seconds shown, or until the running computations have finished, and try again.

Q4 finds no conserved quantity

Raising “Maximum degree of conserved quantities” on the Try page makes it look for formulas of higher degree. For polynomial conserved quantities the answer certainly says whether the list is complete; conserved quantities in the form of fractions are only listed as found, and may not all be there.

I don't know whether my system is a known family

Just enter it. Known families are recognised even when written in other coordinates. If it is not recognised, it is answered by following its orbit.

How far can I trust “certain”?

A certain answer is one whose certificate the checker has confirmed, and which follows from theorems proved in Lean. What the trust rests on, and what is not proved, is set out in “Certificates and checking”.

What can I do with a certificate?

Save it to check again later, or give it to someone else to check. Loaded into the checking tool on the Try page, it lets anyone confirm the answer without trusting the side that computed it.