---
profile: elgora_markdown_bounty_challenge_v0
escrow_amount: "1000000"
submission_deadline: 1791632400
payout_policy: winner_take_all
---

# Ten Thousand Unknowns

## Summary
Solve a published sparse linear system of 10,000 equations in 10,000 unknowns
to a relative residual of at most 1e-8, and submit the solution vector in the
exact output format defined below. The task is a numerical computation test:
the correct answer is unique, and acceptance is decided by arithmetic on the
published instance.

## Challenge details
The instance is a sparse, nonsymmetric, nonsingular real matrix A of size
10000 x 10000 in MatrixMarket coordinate format, and a right-hand-side vector
b of length 10000 in CSV. Both are linked under Inputs, Materials and
References, and each file is pinned by a SHA-256 hash that identifies its
authoritative bytes.

Produce any vector x of length 10000 such that the relative residual defined
under Acceptance Criteria is at most 1e-8. A is strictly diagonally dominant,
so the system is well-conditioned: the bound is comfortably attainable with
standard sparse linear algebra software in double precision.

The method is entirely the Solver's choice. Any submission whose vector meets
the residual bound is accepted; how the Solver obtains the vector is not part
of the task.

## What you need to submit (Deliverables)

| File | Required or optional | Required content | Format | Purpose |
|---|---|---|---|---|
| `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 |
| `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 |

Both files must be present as bytes in the Submission; a Submission missing
either file fails Acceptance Criteria 1 and 2. Extra files are permitted and
are not evaluated, and no submitted content other than these two deliverables
affects eligibility.

## Inputs, Materials and References

The instance files are the only required inputs. Each is served from a stable
public host and pinned by SHA-256; the pinned hash defines the authoritative
bytes of that input.

| File | Purpose | Required input or background | Link | SHA-256 |
|---|---|---|---|---|
| `A_matrix.mtx` | The matrix A in MatrixMarket coordinate format (10000 x 10000, 69988 nonzeros, general, real) | required input | https://filebin.net/1j9zi0r2m8wwp9yx/A_matrix.mtx | `a03c4c180a36140ac4a2f300bc6082c84052163ddba005cbd09eb1890af52494` |
| `A_b.csv` | The right-hand side b as `index,value` CSV (10000 rows) | required input | https://filebin.net/1j9zi0r2m8wwp9yx/A_b.csv | `c81daf3a9448479bb0f25adfd573fe6871c5ea3a477c750313787bdc07cdbb3b` |

The MatrixMarket file's first line declares coordinate format, general
(symmetry) attribute; row and column indices are one-based. The CSV's first
line is the header `index,value`; data rows follow with indices 1 through
10000 ascending. These two files are the authoritative and complete instance:
no other data defines the calculation. The files are expected to remain
reachable at the linked addresses for the whole judging window.

## Acceptance Criteria

A Submission is accepted when all of the following hold; each is decided by
direct computation on the published instance and the submitted bytes.

1. `solution.csv` is present and parses as specified in Deliverables: exactly
   one header line, exactly 10000 data rows, indices 1..10000 each exactly
   once and ascending, and every value a finite decimal number. Missing,
   duplicated, gapped or non-finite entries fail this criterion.
2. `checksum.txt` is present, contains exactly one line with exactly one
   parseable finite real number c, and the checksum comparison passes: let s
   be the sum of the 10000 values of `solution.csv` computed as an exactly
   rounded sum (math.fsum in binary64). The comparison passes when
   |c - s| <= 1e-6 * max(|s|, 1).
3. The residual check passes: let r = A x - b, where x is the vector of the
   10000 values of `solution.csv` in index order and the matrix-vector
   product is computed from the authoritative `A_matrix.mtx` in IEEE-754
   binary64 double precision with scipy.io.mmread parsing and a scipy.sparse
   CSR matrix-vector product. The check passes when ||r||_2 / ||b||_2 <= 1e-8,
   where ||.||_2 is the Euclidean norm (numpy.linalg.norm in binary64). To
   resolve boundary variation from floating-point accumulation order, a
   Submission whose ratio does not exceed 1e-8 by more than a factor of
   1 + 1e-9 is accepted.

## How is the winner selected?

- Every Submission meeting all Acceptance Criteria and not disqualified is
  eligible. Eligibility is binary; no score is computed.
- If one or more Submissions are eligible, the winner is the eligible
  Submission whose Solver EVM address, written in lowercase hexadecimal form,
  sorts first in ascending lexicographic order.
- If no Submission is eligible, the outcome is `no_valid_submission`.

## Disqualification Conditions

- A required deliverable is missing or cannot be parsed under the formats
  stated in Deliverables, which fails Acceptance Criteria 1 or 2.

## Out Of Scope
Deriving or explaining the solution method, benchmarking solver performance,
and any scientific interpretation of the resulting vector are out of scope.
