Intentionally Corrupt Matrix Market — Declared Count Exceeds the Entries (.mtx)
An intentionally corrupt Matrix Market file whose banner and size line are perfectly valid and whose entry block stops seven lines short of the declared count. A reader that preallocates from the declared count and never checks ends up with seven silent zeros.
%%MatrixMarket matrix coordinate real general
% Intentionally corrupt: the size line declares 12 entries and only 5 follow.
8 8 12
1 1 4.0
1 4 -1.5
2 2 3.25
2 5 0.75
3 1 -2.0
Specifications
- Intentionally Corrupt
- true
- Declared Non Zeros
- 12
- Actual Entry Lines
- 5
- Banner Valid
- true
- Size Line Valid
- true
- Damage
- the entry block stops seven lines early
Testing contract
Expected to fail- Scenario
- Load the file and compare the number of entry lines actually read against the count declared on the size line.
- Expected result
- Five entries are read against a declared twelve, and the loader reports the mismatch explicitly rather than returning a matrix padded with seven zero entries.
What is a .mtx file?
Matrix Market (.mtx) is a plain-text exchange format for sparse and dense matrices from NIST. A banner line declares the object, format, field, and symmetry — for example `%%MatrixMarket matrix coordinate real general` — comment lines follow, and then a size line gives rows, columns, and the number of stored entries. Coordinate entries list a 1-based row, a 1-based column, and a value, with symmetric matrices storing only the lower triangle.
How to use this file
Use an example .mtx file to test sparse-matrix loaders and numerical pipelines, verifying 1-based to 0-based index conversion, correct expansion of symmetric and pattern matrices, and that the declared entry count matches the data.
How to use this file for testing
“Intentionally Corrupt Matrix Market — Declared Count Exceeds the Entries (.mtx)” is a deterministic Novus Examples fixture for Scientific data, Error handling, Editor testing. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS) — for testing reference managers, molecule viewers, and scientific-data loaders.
Documented properties for this file: damage: the entry block stops seven lines early · intentionally corrupt. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Scientific fixtures are small, valid, and fully synthetic — no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.
Related files
- mtxMatrix Market — Zero Stored Entries, Still Valid (.mtx)A valid Matrix Market file describing a 6x6 matrix with no stored entries, which is an all-zero matrix rather than an error. It separates readers that model an empty result from readers that treat a missing entry block as truncation.

- csvCensored Values and Detection Limits — Non-Numeric Results (.csv)Nine laboratory results where only four are plain numbers: two are below the detection limit, one is above range, two are missing in different spellings, and one is a legitimate small negative near the blank. Coercing the censored strings to numbers or to NaN both bias the summary, and the file distinguishes every case explicitly.

- cifCIF Parser Edge Cases — Quotes, Text Fields and Wrapped Loops (.cif)A CIF built entirely out of the constructs that break naive parsers: quoted values containing apostrophes and hashes, a semicolon-delimited multi-line text field, the distinct '?' and '.' markers, a standard uncertainty written as 1.2345(7), and a loop whose rows wrap across lines. Every one of them is legal CIF.

- jsonIEEE-754 float64 Boundary Values — JSON With No NaN Literal (.json)The same boundary values as strict RFC 8259 JSON, where non-finite numbers are null in the numeric field and text in the string field because the standard has no NaN or Infinity literal. It is the fixture for the encoder that emits bare NaN and produces JSON nothing else will parse.

- jsonIntegers Beyond 2^53 in JSON — Silent Identifier Corruption (.json)Six large integers written both as JSON numbers and as strings, including the 2^53 boundary where consecutive integers stop being distinguishable in a double. A parser backed by doubles turns 9007199254740993 into 9007199254740992 and reports no error at all.

- fastaProtein FASTA — Ambiguity Codes X, B and Z (.fasta)Three synthetic protein sequences that begin with methionine and include the X, B and Z ambiguity codes, which are legal IUPAC residues rather than errors. A validator restricted to the twenty standard amino acids rejects all three files.

Generated by generation/scientific.py. Free for any use, no attribution required — license.