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

# Ill-Conditioned and Alive

## Summary
Solve a published sparse linear system of 10,000 equations in 10,000 unknowns
whose rows are deliberately badly scaled (row scales spanning about nine
orders of magnitude, condition number around 1e11) to a relative residual of
at most 1e-8. The naive first approaches stall; standard careful numerical
practice reaches the bound. Acceptance is decided by arithmetic on the
published instance, not by the Solver's method.

## Challenge details
The instance is a sparse nonsymmetric nonsingular real matrix B of size
10000 x 10000 in MatrixMarket coordinate format, and a right-hand-side vector
b of length 10000 in CSV. Each row of B has been multiplied by a power of ten
between 1e-4.5 and 1e4.5, so row scales differ by up to ten orders of
magnitude and the system's condition number is about 1e11. B is strictly
diagonally dominant after scaling, so the system remains nonsingular.

Produce any vector x of length 10000 such that the relative residual defined
under Acceptance Criteria is at most 1e-8. Reaching this bound generally
requires equilibration or a robust direct method; naive unpreconditioned
stationary iterations do not converge tightly enough. Any method that
achieves the bound is accepted; the method itself is the Solver's choice and
is not evaluated.

## 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 |
|---|---|---|---|---|
| `B_matrix.mtx` | The matrix B in MatrixMarket coordinate format (10000 x 10000, 49994 nonzeros, general, real) | required input | https://filebin.net/1j9zi0r2m8wwp9yx/B_matrix.mtx | `00187abbbe4034a67da41b7e6189d13fb4b5e9b61b8f8acc908c2300a80c574c` |
| `B_b.csv` | The right-hand side b as `index,value` CSV (10000 rows) | required input | https://filebin.net/1j9zi0r2m8wwp9yx/B_b.csv | `47da597c3b1f96a50f8464b4ccaced784af9e92f154fd05523c7e5a4f3ec02f8` |

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 = B 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 `B_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, comparing solver performance, and
any scientific interpretation of the resulting vector are out of scope.
