Skip to content

s(129) ≤ 11.870013850405, s(204) ≤ 14.808663234387, s(303) ≤ 17.909958291070: registration request #562

Closed

Description

@dostashev

Credit name. Daniil Ostashev (https://github.com/dostashev, write-up: https://ostashev.ai/square-packing/).

Claim. Three feasible upper bounds (no optimality is claimed):

n new bound (certified, rounded up) best public value we located (2026-10-12) improvement
129 s(129) ≤ 11.87001385040446434457885353928463864242 11.8720298490811800, Ryan Xu's packing in Evan Daniel's display regularization (T-146, the case's house) 2.016e-3
204 s(204) ≤ 14.80866323438695656647099008094596479529 14.82287565553229529525 = 27/2 + √7/2 (Ellsworth's table, extending Erich Friedman's s(86)) 1.421e-2
303 s(303) ≤ 17.90995829106990798159574108139873608005 17.9130654627385324, Nate Chaoweeraprasit's (SQUISH) packing in Evan Daniel's display regularization (the case's house) 3.107e-3

204 and 303 are new arrangements. 129 keeps the aligned-block layout of Ryan Xu's packing, but its tilted squares sit in a different band (see Lineage), so it is a different local optimum, not a refinement of Xu's.

Certificate. dostashev/square-packing at commit fe43a64ecf2581cdbd11830e8a5be0989746c5d3, directory records/:

  • nNNNN.sqpk: the packing, 60 significant digits. Its rows are cx cy theta_deg (centre, rotation in degrees), inside [0, s]².
  • nNNNN.sqcert: an exact rational certificate. Its rows are x y t with t = tan(θ/2), so cos θ = (1−t²)/(1+t²) and sin θ = 2t/(1+t²), and every square is exactly a unit square. Centres and side are scaled by 1 + δ with δ = 1e-60. The side is the s line.

SHA-256:

fd79773bd5168dbb72846510b76522dc0e177f38f5e030353116b73608a999c4  records/n0129.sqpk
6ee26567f49a700822840807ea97947647bcdbf110e656041c0e2fe970624e72  records/n0129.sqcert
64f804cd98f3cfcf113582b14dce0a00d162c527097c4ff89b8ca790f9a60b01  records/n0204.sqpk
9d6261e7bbd83ddb8aee29e6f713c403e07d07e3e436f51ec09037b3c241ffa0  records/n0204.sqcert
9df683c6a24db53b91fa4ecf9f5bab1bf529a9aba99278574bbaa370dfd8ef59  records/n0303.sqpk
f8c22f3c00cf40bab8e6edd33ccd58f99f4837d5ccad717bbb1ef964986c3f58  records/n0303.sqcert

Checking. ./verify_all.sh in that repository reruns all of the checks below on every file in records/. It needs CMake, a C++20 compiler, GMP, MPFR, and Python with mpmath. It takes a few seconds after the build.

  1. sqverify --precise --certify (C++, MPFR): containment and non-overlap by separating axes, then the exact certificate, built and checked in GMP rationals with no tolerance.
    • Accepted all three at δ = 1e-60.
    • Minimum pairwise separation in the packing files: 5e-21.
    • About 10–20 ms per file.
  2. sqverify --check-cert (GMP, exact, no dilation and no tolerance) on the shipped .sqcert files: all three certified.
  3. tools/crosscheck_mpmath.py (Python, mpmath at 80 digits, brute-force separating axes over the 8 vertex projections): valid, minimum separation 5.0e-21.

What the checkers share. All three were written by the same author, with AI assistance. Checks 1 and 2 share the C++ parser and the geometry code. Check 3 is a separate Python implementation, written independently, and shares only the file format.

Not done.

  • No global optimality claim and no formalization.
  • Each packing is the exact first-order optimum of its contact topology: nonnegative KKT multipliers at a 60-digit solution. The stored file is that optimum with the load-bearing squares scaled by 1 + 1e-20. No second-order or global check was made.

Lineage and credit. All three come from the library of best known packings of n unit squares in (h + d) × h rectangles described in #528.

  • 204 and 303 are compositions: two copies of a new rectangle packing in opposite corners, with aligned squares filling the rest. We found both rectangles with the same GPU soft-to-rigid search as in s(175) ≤ 13.764174317487, s(232) ≤ 15.764174317487, s(264) ≤ 16.774735132388: registration request #528 (after Yohei Nakajima's soft-to-rigid idea), this time started from corner staircases (aligned corner blocks plus a tilted lattice) instead of random positions.
    • 204: two copies of 44 unit squares in an (h + 3) × h rectangle, h = 5.80866323438695656632… (the best we had before was 5.8387), plus 116 aligned squares.
    • 303: two copies of 62 unit squares in an (h + 6) × h rectangle, h = 5.90995829106990798142… (the best cut-out we had was 5.9306), plus 179 aligned squares.
  • 129 is a cut-out. The library's 163-square (h + 3) × h entry was cut from the s(302) house (Nate Chaoweeraprasit's packing, Evan Daniel's regularization), then re-optimised as a rectangle, reaching h = 11.8700138504…. Dropping its three rightmost unit columns leaves 129 squares in an h × h square. Its aligned blocks are laid out like Ryan Xu's s(129), but its 29 tilted squares sit at 38.98–39.09° (17 of them, 9 at 39.09°), about 46.0° (2) and 50.7–51.8° (10). Xu's 27 sit at 39.41°, 43.99° and 50.59°.
    • Its side is 2.6e-12 below s(153) − 1 for PingYou's s(153) ≤ 12.870013850408: registration request #504 (12.870013850407044), whose band is at the same 39.09°. That packing holds at most 128 squares in any axis-aligned square of side s(153) − 1, so it does not imply this bound. No record or alternative file we collected (register, side packets, contributors' repositories) holds 129 squares in a corner square this small.

Each packing was then taken to the exact optimum of its contact topology. Please credit Daniil Ostashev, and acknowledge the pieces' sources as you see fit.

Not requested: 176. Our repository also has s(176) ≤ 13.808663234387: #528's 38-square block, the 44-square block above, and 94 aligned squares. Francisco Couzo has since improved it to 13.807637227056, starting from our packing (franciscouzo/square-packing e9eb44b), so we do not ask for 176.

AI assistance. Yes, the same setup as #528: an AI-assisted research loop that I drive with my own ideas. The rectangle library and composition was my idea. AI agents wrote and ran the search, composition and verification code, and an agent's check of the library against the register found 129.

Activity

  1. added
    intakeTracking intake (saving, validation, tabulation, credits) of new results
    on Oct 14, 2026
  2. jlevy commented on Oct 14, 2026

    @jlevy
    Owner

    @dostashev, thank you. We have the three certificates this issue names at dostashev/square-packing fe43a64 (records/n0129, n0204 and n0303), and all six SHA-256 values match the files there. Your head, b909e1b, rewrites these three files in canonical form; we measured the same exact sides there, and we keep the bytes this issue names. We retain the commit. Each certificate replayed and passed both of this project's maintained exact checkers, and both refused every control. At 129, 204 and 303, each side is the smallest we know of, below the current register entry at its count. Registration comes next.


    Generated by Claude Code

  3. jlevy commented on Oct 14, 2026

    @jlevy
    Owner

    @dostashev, thank you; this is the report-order evaluation of every open report at the counts #562 claims.

    At each count, a report is recorded when its side is decidably below every side reported before it (and below the record on main); a tie stays with the earlier report. Sides are rounded up at 12 places.

    n Side Verdict Best now
    129 11.870013850405 recorded: a new packing; 2.02e-03 below the record on main (Ryan Xu, improved by Evan Daniel) PR #574 (PingYou Ltd) 11.870013850405
    176 13.808663234387 not recorded: 1.03e-03 above #561 (Francisco Couzo) PR #574 (PingYou Ltd) 13.795872318437
    204 14.808663234387 recorded: a new packing; at least 1.42e-02 below the record on main (the Kingbird catalogue) PR #574 (PingYou Ltd) 14.808663234387
    303 17.909958291070 recorded: a new packing; 3.11e-03 below the record on main (Nate Chaoweeraprasit, improved by Evan Daniel) PR #574 (PingYou Ltd) 17.909958291070

    The issue lists 176 as not requested; it is in the table because the issue states a side there.

    The registrations are in the records pull request #602, and a follow-up with the result ids and rungs will come once it is on main.


    Generated by Claude Code

  4. added a commit that references this issue on Oct 14, 2026
  5. jlevy commented on Oct 14, 2026

    @jlevy
    Owner

    @dostashev, thank you. With #602 merged, your three packings are registered on main:

    • T-162, V0/C0, significance S3, recorded: the cut-out at 129 and the compositions at 204 and 303, credited Ostashev after Nakajima, Chaoweeraprasit, Daniel, Xu, Levy. Both of our exact routes replayed them; an independent review of that replay comes next, then adoption on the case pages, which are unchanged until then.

    A correction to our reply of 14 October, which said each side is the smallest we know of: PR #574 (T-174) is smaller at all three counts, by about 1e-19.

    Evidence: E-ostashev-562-certificate-report (your report, recorded). On main: RESULTS.md, the packet.


    Generated by Claude Code

  6. added a commit that references this issue on Oct 14, 2026
  7. jlevy commented on Oct 15, 2026

    @jlevy
    Owner

    @dostashev, thank you. Where this request stands in the record on main.

    Corrections to earlier replies.

    • The follow-up reply of 2026-10-14 gave T-162 as V0/C0, recorded; it now reads V3/C3, confirmed.
    • The follow-up reply of 2026-10-14 gave E-ostashev-562-certificate-report as recorded; it now reads reviewed.

    What is registered.

    • s(129) <= 11.870013850405, s(204) <= 14.808663234387 and s(303) <= 17.909958291070, by exact rational certificates:
      • T-162, confirmed at V3/C3: re-verified here by an independent implementation (sqpack.verify, run by each case's verify_exact module and the packing-witness command, devtools.check_rational_witness_independent, devtools.evand_arrangement_reports, devtools.upper_bound_reports, devtools.check_half_angle_area, devtools.evand_exact_certificates).

    On the case pages. Our reply of 14 October said adoption would follow the review. On 15 October 2026 T-162 became the house at 129, 204 and 303; the packings it replaces stay retained as history. PR #574 (T-174) and Mykhailo Polkovskyi's certificates of 14 October (T-186) are each 1e-19 to 2e-19 smaller at all three counts, and neither is adopted.

    On main. packing/frontier/RESULTS.md, docs/project/reviews/review-2026-10-14-upper-bound-imports-561-593.md, packing/frontier/n-129.md, packing/frontier/n-204.md, packing/frontier/n-303.md.

    Nothing you asked for is queued, so this issue is closed with this comment.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    intakeTracking intake (saving, validation, tabulation, credits) of new results

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions