Generator

Every boxed entry is a 2 × 2 minor of the matrix beside it

One function in the integer library, called 26 times across 5 essays. Below: what it draws at its defaults, what it draws at every value an essay asks for, the 7 claims it put to the test while drawing them, and where it stands against the rule this site is named for.

At its defaults it draws every boxed entry is a 2 × 2 minor of the matrix beside it. A 5 × 5 random matrix and its state after 1 step of fraction-free elimination. Each of the 16 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 16 divisions came out exact. The reason is that the entry at (i, j) is exactly the 2 × 2 minor of the ORIGINAL matrix on rows 0…0 and i, columns 0…0 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 6 bits.

bareiss-minors is one function in lib/figures/integer.js — exact arithmetic — no residual to print, and a cost measured in the length of the numbers. Everything below came out of it during this build, at arguments taken from the essays rather than invented for this page. A figure here is the figure a reader meets in an essay, and if the generator changes, this page changes with it.

At its defaults

Drawn even though every essay passes arguments — which on this site is every essay, at 100% of placements since the standard pass. A default nothing exercises is a trap for the next essay to call this with none, and this is the page where a default that has drifted from the figures around it becomes visible.

Every boxed entry is a 2 × 2 minor of the matrix beside itA 5 × 5 random matrix and its state after 1 step of fraction-free elimination. Each of the 16 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 16 divisions came out exact. The reason is that the entry at (i, j) is exactly the 2 × 2 minor of the ORIGINAL matrix on rows 0…0 and i, columns 0…0 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 6 bits.1-2-6-7-474-26-12-5-8-524-394151435A, the matrix as given1-2-6-7-40184055270-1491005333217011343825after 1 fraction-free step2 × 2 minors16 divisions, all exactthe intermediates are minorswhich is why the divisions come out whole

A 5 × 5 random matrix and its state after 1 step of fraction-free elimination. Each of the 16 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 16 divisions came out exact. The reason is that the entry at (i, j) is exactly the 2 × 2 minor of the ORIGINAL matrix on rows 0…0 and i, columns 0…0 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 6 bits.

family: "random", n: 5, step: 2

The arguments are the ones An answer with no error in it passes. A value drawn at the generator's defaults instead would be a picture no essay asked for and no assertion has been run against.

Every boxed entry is a 3 × 3 minor of the matrix beside itA 5 × 5 random matrix and its state after 2 steps of fraction-free elimination. Each of the 9 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 25 divisions came out exact. The reason is that the entry at (i, j) is exactly the 3 × 3 minor of the ORIGINAL matrix on rows 0…1 and i, columns 0…1 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 9 bits.1-2-6-7-474-26-12-5-8-524-394151435A, the matrix as given1-2-6-7-401840552700112217207003943011710017279153after 2 fraction-free steps3 × 3 minors25 divisions, all exactthe intermediates are minorswhich is why the divisions come out whole

A 5 × 5 random matrix and its state after 2 steps of fraction-free elimination. Each of the 9 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 25 divisions came out exact. The reason is that the entry at (i, j) is exactly the 3 × 3 minor of the ORIGINAL matrix on rows 0…1 and i, columns 0…1 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 9 bits.

family: "random", n: 4, step: 1

The arguments are the ones An answer with no error in it passes. A value drawn at the generator's defaults instead would be a picture no essay asked for and no assertion has been run against.

Every boxed entry is a 2 × 2 minor of the matrix beside itA 4 × 4 random matrix and its state after 1 step of fraction-free elimination. Each of the 9 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 9 divisions came out exact. The reason is that the entry at (i, j) is exactly the 2 × 2 minor of the ORIGINAL matrix on rows 0…0 and i, columns 0…0 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 6 bits.1-2-6-7-474-26-12-5-8-524A, the matrix as given1-2-6-70-1-20-3001138370-21-46-52after 1 fraction-free step2 × 2 minors9 divisions, all exactthe intermediates are minorswhich is why the divisions come out whole

A 4 × 4 random matrix and its state after 1 step of fraction-free elimination. Each of the 9 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 9 divisions came out exact. The reason is that the entry at (i, j) is exactly the 2 × 2 minor of the ORIGINAL matrix on rows 0…0 and i, columns 0…0 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 6 bits.

family: "pascal", n: 5, step: 3

The arguments are the ones An answer with no error in it passes. A value drawn at the generator's defaults instead would be a picture no essay asked for and no assertion has been run against.

Every boxed entry is a 4 × 4 minor of the matrix beside itA 5 × 5 pascal matrix and its state after 3 steps of fraction-free elimination. Each of the 4 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 29 divisions came out exact. The reason is that the entry at (i, j) is exactly the 4 × 4 minor of the ORIGINAL matrix on rows 0…2 and i, columns 0…2 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 5 bits.111111234513610151410203515153570A, the matrix as given11111012340013600014000417after 3 fraction-free steps4 × 4 minors29 divisions, all exactthe intermediates are minorswhich is why the divisions come out whole

A 5 × 5 pascal matrix and its state after 3 steps of fraction-free elimination. Each of the 4 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 29 divisions came out exact. The reason is that the entry at (i, j) is exactly the 4 × 4 minor of the ORIGINAL matrix on rows 0…2 and i, columns 0…2 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 5 bits.

family: "random", n: 6, step: 2

The arguments are the ones An answer with no error in it passes. A value drawn at the generator's defaults instead would be a picture no essay asked for and no assertion has been run against.

Every boxed entry is a 3 × 3 minor of the matrix beside itA 6 × 6 random matrix and its state after 2 steps of fraction-free elimination. Each of the 16 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 41 divisions came out exact. The reason is that the entry at (i, j) is exactly the 3 × 3 minor of the ORIGINAL matrix on rows 0…1 and i, columns 0…1 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 9 bits.1-2-6-7-474-26-12-5-8-524-394151435-6-5-33-29-46184A, the matrix as given1-2-6-7-4706302718-3300354255168-30300-96-69-4214700308466-9000-60612108after 2 fraction-free steps3 × 3 minors41 divisions, all exactthe intermediates are minorswhich is why the divisions come out whole

A 6 × 6 random matrix and its state after 2 steps of fraction-free elimination. Each of the 16 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 41 divisions came out exact. The reason is that the entry at (i, j) is exactly the 3 × 3 minor of the ORIGINAL matrix on rows 0…1 and i, columns 0…1 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 9 bits.

family: "wide", n: 6, step: 3

The arguments are the ones An answer with no error in it passes. A value drawn at the generator's defaults instead would be a picture no essay asked for and no assertion has been run against.

Every boxed entry is a 4 × 4 minor of the matrix beside itA 6 × 6 wide matrix and its state after 3 steps of fraction-free elimination. Each of the 9 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 50 divisions came out exact. The reason is that the entry at (i, j) is exactly the 4 × 4 minor of the ORIGINAL matrix on rows 0…2 and i, columns 0…2 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 39 bits.-257325-86896-994-523-996278116-612-894131-704-870-29973890972-390570-7246836-574625-308989514123257-105-573652726-105A, the matrix as given-257325-86896-994-523016241-28664953925887817798100-1.756·10⁸-1.159·10⁶3.545·10⁷1.062·10⁸0009.927·10¹⁰-8.591·10¹⁰-2.483·10¹⁰000-1.421·10¹¹-5.391·10¹¹-4.05·10¹¹000-1.157·10¹¹1.006·10¹¹2.743·10¹¹after 3 fraction-free steps4 × 4 minors50 divisions, all exactthe intermediates are minorswhich is why the divisions come out whole

A 6 × 6 wide matrix and its state after 3 steps of fraction-free elimination. Each of the 9 boxed entries was formed as (pivot × entry − column × row) divided by the previous pivot, and every one of those 50 divisions came out exact. The reason is that the entry at (i, j) is exactly the 4 × 4 minor of the ORIGINAL matrix on rows 0…2 and i, columns 0…2 and j — checked here against a cofactor expansion of A rather than against a second elimination. The widest number anywhere in the picture is 39 bits.

What it checked while drawing

Every figure above asserted its own claims on the way to being drawn, and a claim that failed would have failed the build rather than drawn a wrong picture. Those assertions used to leave no trace at all: a passing one returned true and the only evidence the figure had checked anything was that nothing crashed. The list below is what they actually said, collected by running this generator with an observer installed — not a description of what it is believed to check.

7 distinct claims across 6 sets of arguments, grouped below by shape — because most of them are one sentence with a different number in it, and how many separate times that sentence was put to the test is the informative part.

a family the library builds

a matrix small enough to print every minor of

an elimination step to display

every division in the step is exact

no pivot is zero at this step on this family

the family builds at this size

the intermediate is the minor Sylvester's identity names

Against the rule

The rule does not apply to it. It factorises nothing, so there is no residual it could be withholding. That is worth stating rather than leaving blank: a site that reported the rule as satisfied by every generator would be counting mostly generators the rule never reached.

Across the library: the rule bites on 214 of 397 generators — 194 print a residual and 20 are exempt with a published reason; 183 factorise nothing. Read from lib/residual-rule.js, which is the same body the gate enforces from, and the gate's last check fails the build if this page and it disagree about any generator.

Where it is called

Changing this generator changes every figure on this list. That is what makes the list worth publishing rather than keeping in a check script.

Exact arithmetic, and what it costs instead

An answer with no error in it

An integer matrix eliminated over the rationals rounds nothing, so the forward error is zero, the residual is the zero vector, and the identity this site is built on has no terms left. The cost does not vanish with the error. It moves into the length of the numbers, where three correct routes differ by four orders of magnitude.

Exact arithmetic, and what it costs instead

Every intermediate is a minor

Fraction-free elimination divides by the previous pivot at every step and the division is always exact. Not usually, not for these entries — always, because the number being divided is a determinant with that pivot as a factor, which is a theorem and is checked here against the minors themselves.

Exact arithmetic, and what it costs instead

How many primes the answer needs

Work modulo a word-sized prime and no intermediate can exceed twenty-six bits, whatever the matrix does. The catch is that the answer must be reassembled from several such computations, and the number of them has to be fixed before the first one runs — by a theorem about how large a determinant can be, not by trying more until it settles.

Exact arithmetic, and what it costs instead

The answer is longer than the question

An exact solution of an integer system is a vector of fractions, each of them a ratio of two determinants. So the output carries 2n long integers where the input carried n² short ones, and no algorithm can write it down more cheaply — the length of the answer is a floor under every exact solver rather than a property of one.

Exact arithmetic, and what it costs instead

The rank depends on the ring

A floating-point rank is a decision about a threshold. Remove the arithmetic error entirely and the threshold goes away — and the answer still is not a property of the array of numbers, because one integer matrix has rank six over the rationals, five modulo three and four modulo two, with nothing rounded and nothing decided.

The whole library · All essays · What must fail