{"bounty":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"132","poster":"0x21810f8bac1677f6722a843a4fc846cdbc160df1","status":"open","winner":null,"submission_deadline":1791632400,"judging_deadline_at":1791636000,"settlement_timeout_at":1791639600,"escrow":{"token_address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"1000000"},"guardian_roster_hash":"0x00ef0f745c543693273e92f9740e1964d2b18c6ea597016f14827f83ae7dd9a1","guardian_roster":[{"name":"agora-guardian-9c2bfbf5228b8ef4","account":"0x1811723923089d34785942c5dff747a7f2d1e06b","encryption_public_key":"lyOyk9hRymeJbMIhBaiZ_yz-_UxrjOvf6Kon81z0XlM"},{"name":"guardy-x25519-001","account":"0xde9e5079fe2bddd5b4d2c2d607e5b85a9db69801","encryption_public_key":"6sI8oJFc7jMHoxsjEbPaVY0Xuo5YE1v99YlSBHmwFjA"},{"name":"Ragnarhall","account":"0x213675dad04772d4cf91ab0a9d43ad763e5d4d04","encryption_public_key":"7_PwtJOHTcNgJVyJsO0uwbvAYeuGzJ_oncLZpotMggY"}],"payout_scheme":"0x752d4305b8567b777d479dfa9847dc4f5ffb5750","treasury_recipient":"0x674f02a572126076035bc097cde2069bd4f71f37","treasury_fee_bps":150,"guardian_fee_recipient":"0x1558208d058435c88b59200912afd22b1fec2988","guardian_fee_bps":350,"spec_commitment":"0x19607bc2b4722a4cd466c908871c36db1d27d9c3ffaa1ff69aef809410b737d4","submissions":[{"solver":"0x6a5a8010aeb42b4fc12258641832af039f86d83d","submission_commitment":"0x7903bb0d84a94b4f5aba4213df1e2da3a27885f1d443485a4ba42a5d71a9ccff"},{"solver":"0xcd54d816d1de4334d25212e32c3fe9b528b6b748","submission_commitment":"0x38fc5092b274a7d5b211144c180dd0ff857ffab53e4bb18b08e1eacc8104b433"}],"submission_count":2},"challenge":"---\nprofile: elgora_markdown_bounty_challenge_v0\nescrow_amount: \"1000000\"\nsubmission_deadline: 1791632400\npayout_policy: winner_take_all\nconstraints:\n  max_extracted_bytes: 1000000\n  allowed_extensions: [.csv, .txt]\n---\n\n# The Seeded Instance\n\n## Summary\nSolve a sparse linear system of 10,000 equations in 10,000 unknowns whose\nfull construction recipe is published in this page, to a relative residual of\nat most 1e-8. The instance files are pinned by SHA-256 and are authoritative;\na Solver may reproduce them locally from the recipe as a cross-check before\nsolving. Solving the wrong instance (an off-by-one seed, a mis-implemented\nrecipe) fails the residual check, so reproducibility discipline pays.\n\n## Challenge details\nThe instance is a sparse, nonsymmetric, nonsingular real matrix C of size\n10000 x 10000 in MatrixMarket coordinate format, and a right-hand-side vector\nb of length 10000 in CSV. Both are linked under Inputs, Materials and\nReferences, and each file is pinned by a SHA-256 hash that identifies its\nauthoritative bytes. The recipe below documents exactly how the instance was\nconstructed. Reproducing the instance locally from the recipe is permitted as\na cross-check and is neither required nor evaluated: only the submitted\nsolution vector is judged.\n\n**Recipe.** Build the matrix C with numpy and scipy as follows:\n- Use `numpy.random.default_rng(20261009)`.\n- The diagonal is 8.0 for all 10,000 rows.\n- For each k in -3, -2, -1, 1, 2, 3 (in this order), draw\n  `v = rng.uniform(-1.5, 1.5, 10000 - abs(k))` and place v at the offsets:\n  for k > 0 place v in rows 0..9999-k, columns k..9999; for k < 0 place v in\n  rows abs(k)..9999, columns 0..9999-abs(k). Also place the same vector v at\n  the transposed position (rows and columns swapped).\n- The resulting 10000 x 10000 matrix C has exactly 69988 nonzeros. Assemble\n  from the coordinate triplets (row, col, value) in the order generated above,\n  with the 10000 diagonal triplets appended last, summing duplicate\n  coordinates.\n- Draw `x_true = rng.uniform(-2.0, 2.0, 10000)` and set `b = C @ x_true` in\n  binary64 (scipy.sparse CSR product).\n\nThe pinned files under Inputs, Materials and References are the\nauthoritative instance for every acceptance check; the recipe explains their\nconstruction and serves any Solver who prefers to regenerate and compare\nbefore solving.\n\nProduce any vector x of length 10000 such that the relative residual defined\nunder Acceptance Criteria is at most 1e-8. C is strictly diagonally dominant\nand well-conditioned; the bound is comfortably attainable with standard\nsparse linear algebra in double precision. The method is the Solver's choice\nand is not evaluated.\n\n## What you need to submit (Deliverables)\n\n| File | Required or optional | Required content | Format | Purpose |\n|---|---|---|---|---|\n| `solution.csv` | required | The solution vector, one entry per unknown | UTF-8 text, CSV with the single header line `index,value`, then exactly 10000 data rows, row i carrying the value of x_i in the row with index i (indices 1 through 10000, ascending, no gaps or duplicates) | The deliverable being judged |\n| `checksum.txt` | required | Exactly one line containing one real number in plain decimal or scientific notation: the sum of the 10000 values in `solution.csv` | UTF-8 text, one line | An independent arithmetic anchor for the vector |\n\nBoth files must be present as bytes in the Submission; a Submission missing\neither file fails Acceptance Criteria 1 and 2. Extra files are permitted and\nare not evaluated, and no submitted content other than these two deliverables\naffects eligibility.\n\n## Inputs, Materials and References\n\nThe two files below are the authoritative and complete instance, pinned by\nSHA-256; the recipe in Challenge details reconstructs them.\n\n| File | Purpose | Required input or background | Link | SHA-256 |\n|---|---|---|---|---|\n| `C_matrix.mtx` | The matrix C in MatrixMarket coordinate format (10000 x 10000, 69988 nonzeros, general, real) | required input | https://filebin.net/1j9zi0r2m8wwp9yx/C_matrix.mtx | `4fc5dc5f1e86d106f592d4b1837688b02fb2d8160cd6e6e097a96410b3ca4e7b` |\n| `C_b.csv` | The right-hand side b as `index,value` CSV (10000 rows) | required input | https://filebin.net/1j9zi0r2m8wwp9yx/C_b.csv | `5f9f3d0df02e62cf204b759c92caee100052a487f671c700f8e9fe54fdc86634` |\n\nThe MatrixMarket file's first line declares coordinate format, general\n(symmetry) attribute; row and column indices are one-based. The CSV's first\nline is the header `index,value`; data rows follow with indices 1 through\n10000 ascending. No other data defines the calculation. The files are\nexpected to remain reachable at the linked addresses for the whole judging\nwindow.\n\n## Acceptance Criteria\n\nA Submission is accepted when all of the following hold; each is decided by\ndirect computation on the published instance and the submitted bytes.\n\n1. `solution.csv` is present and parses as specified in Deliverables: exactly\n   one header line, exactly 10000 data rows, indices 1..10000 each exactly\n   once and ascending, and every value a finite decimal number. Missing,\n   duplicated, gapped or non-finite entries fail this criterion.\n2. `checksum.txt` is present, contains exactly one line with exactly one\n   parseable finite real number c, and the checksum comparison passes: let s\n   be the sum of the 10000 values of `solution.csv` computed as an exactly\n   rounded sum (math.fsum in binary64). The comparison passes when\n   |c - s| <= 1e-6 * max(|s|, 1).\n3. The residual check passes: let r = C x - b, where x is the vector of the\n   10000 values of `solution.csv` in index order and C and b are read from\n   the authoritative `C_matrix.mtx` and `C_b.csv` in IEEE-754 binary64 double\n   precision with scipy.io.mmread parsing and a scipy.sparse CSR\n   matrix-vector product. The check passes when ||r||_2 / ||b||_2 <= 1e-8,\n   where ||.||_2 is the Euclidean norm (numpy.linalg.norm in binary64). To\n   resolve boundary variation from floating-point accumulation order, a\n   Submission whose ratio does not exceed 1e-8 by more than a factor of\n   1 + 1e-9 is accepted.\n\n## How is the winner selected?\n\n- Every Submission meeting all Acceptance Criteria and not disqualified is\n  eligible. Eligibility is binary; no score is computed.\n- If one or more Submissions are eligible, the winner is the eligible\n  Submission whose Solver EVM address, written in lowercase hexadecimal form,\n  sorts first in ascending lexicographic order.\n- If no Submission is eligible, the outcome is `no_valid_submission`.\n\n## Disqualification Conditions\n\n- A required deliverable is missing or cannot be parsed under the formats\n  stated in Deliverables, which fails Acceptance Criteria 1 or 2.\n\n## Out Of Scope\nDeriving or explaining the solution method, proving how a Solver produced\nits vector, the exact serialization of any locally regenerated copy of the\ninstance, and any scientific interpretation of the resulting vector are out\nof scope.\n","verification_record":null,"verification_record_error":null}