{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2018:LYH2JIAXADUEOVTDXLR4TAAYLO","short_pith_number":"pith:LYH2JIAX","canonical_record":{"source":{"id":"1811.08768","kind":"arxiv","version":3},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2018-11-20T06:47:37Z","cross_cats_sorted":[],"title_canon_sha256":"86eb29eea75f28615c6e6b2e61ed2fc132b3209c2c320f0e84598751196ee7c6","abstract_canon_sha256":"c931eeff3bf470b88b20b046f67421f51e32ed0ede3d51f77cbe2194c250b298"},"schema_version":"1.0"},"canonical_sha256":"5e0fa4a01700e8475663bae3c980185b9db7086acc146bcb351254c66535e2bc","source":{"kind":"arxiv","id":"1811.08768","version":3},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1811.08768","created_at":"2026-05-17T23:40:04Z"},{"alias_kind":"arxiv_version","alias_value":"1811.08768v3","created_at":"2026-05-17T23:40:04Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1811.08768","created_at":"2026-05-17T23:40:04Z"},{"alias_kind":"pith_short_12","alias_value":"LYH2JIAXADUE","created_at":"2026-05-18T12:32:37Z"},{"alias_kind":"pith_short_16","alias_value":"LYH2JIAXADUEOVTD","created_at":"2026-05-18T12:32:37Z"},{"alias_kind":"pith_short_8","alias_value":"LYH2JIAX","created_at":"2026-05-18T12:32:37Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2018:LYH2JIAXADUEOVTDXLR4TAAYLO","target":"record","payload":{"canonical_record":{"source":{"id":"1811.08768","kind":"arxiv","version":3},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2018-11-20T06:47:37Z","cross_cats_sorted":[],"title_canon_sha256":"86eb29eea75f28615c6e6b2e61ed2fc132b3209c2c320f0e84598751196ee7c6","abstract_canon_sha256":"c931eeff3bf470b88b20b046f67421f51e32ed0ede3d51f77cbe2194c250b298"},"schema_version":"1.0"},"canonical_sha256":"5e0fa4a01700e8475663bae3c980185b9db7086acc146bcb351254c66535e2bc","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-17T23:40:04.062894Z","signature_b64":"h0vSwoPMPk0ryf5vojeFHs9ZwJgXPdnDkD5IcPu0sob5gsOuUaO93EEhLEm3Br0NMOnhnIFCqDf5J8a0AnCSBg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"5e0fa4a01700e8475663bae3c980185b9db7086acc146bcb351254c66535e2bc","last_reissued_at":"2026-05-17T23:40:04.062228Z","signature_status":"signed_v1","first_computed_at":"2026-05-17T23:40:04.062228Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1811.08768","source_version":3,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:40:04Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"qSqopT5LPbxcfRQC/A4bpnpswwuJVO/O6seOTLOYTHazeOBRHqqHNFo1QFP4zQgrWafhDYPvunUXfwRf+b6vDw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-31T10:28:08.761943Z"},"content_sha256":"082b10837db4ced6ab477519482f2f9b8214f1a10563cdc1ccdbe319a1631f02","schema_version":"1.0","event_id":"sha256:082b10837db4ced6ab477519482f2f9b8214f1a10563cdc1ccdbe319a1631f02"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2018:LYH2JIAXADUEOVTDXLR4TAAYLO","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Practical Sparse Matrices in C++ with Hybrid Storage and Template-Based Expression Optimisation","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.MS","authors_text":"Conrad Sanderson, Ryan Curtin","submitted_at":"2018-11-20T06:47:37Z","abstract_excerpt":"Despite the importance of sparse matrices in numerous fields of science, software implementations remain difficult to use for non-expert users, generally requiring the understanding of underlying details of the chosen sparse matrix storage format. In addition, to achieve good performance, several formats may need to be used in one program, requiring explicit selection and conversion between the formats. This can be both tedious and error-prone, especially for non-expert users. Motivated by these issues, we present a user-friendly and open-source sparse matrix class for the C++ language, with a"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1811.08768","kind":"arxiv","version":3},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:40:04Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"cN3x+a16TkyzS7GntR+7iM1eGWjFrEXtARw6M0YM44VL8e+XzcU8ALZZ/99phcO0N9AgJsluMNRlbAl0ngK3DA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-31T10:28:08.762637Z"},"content_sha256":"33046f27784d2dd8a9a96451218475d8e53602d48b5b2c513c264774cfd0c163","schema_version":"1.0","event_id":"sha256:33046f27784d2dd8a9a96451218475d8e53602d48b5b2c513c264774cfd0c163"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/LYH2JIAXADUEOVTDXLR4TAAYLO/bundle.json","state_url":"https://pith.science/pith/LYH2JIAXADUEOVTDXLR4TAAYLO/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/LYH2JIAXADUEOVTDXLR4TAAYLO/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-05-31T10:28:08Z","links":{"resolver":"https://pith.science/pith/LYH2JIAXADUEOVTDXLR4TAAYLO","bundle":"https://pith.science/pith/LYH2JIAXADUEOVTDXLR4TAAYLO/bundle.json","state":"https://pith.science/pith/LYH2JIAXADUEOVTDXLR4TAAYLO/state.json","well_known_bundle":"https://pith.science/.well-known/pith/LYH2JIAXADUEOVTDXLR4TAAYLO/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2018:LYH2JIAXADUEOVTDXLR4TAAYLO","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"c931eeff3bf470b88b20b046f67421f51e32ed0ede3d51f77cbe2194c250b298","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2018-11-20T06:47:37Z","title_canon_sha256":"86eb29eea75f28615c6e6b2e61ed2fc132b3209c2c320f0e84598751196ee7c6"},"schema_version":"1.0","source":{"id":"1811.08768","kind":"arxiv","version":3}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1811.08768","created_at":"2026-05-17T23:40:04Z"},{"alias_kind":"arxiv_version","alias_value":"1811.08768v3","created_at":"2026-05-17T23:40:04Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1811.08768","created_at":"2026-05-17T23:40:04Z"},{"alias_kind":"pith_short_12","alias_value":"LYH2JIAXADUE","created_at":"2026-05-18T12:32:37Z"},{"alias_kind":"pith_short_16","alias_value":"LYH2JIAXADUEOVTD","created_at":"2026-05-18T12:32:37Z"},{"alias_kind":"pith_short_8","alias_value":"LYH2JIAX","created_at":"2026-05-18T12:32:37Z"}],"graph_snapshots":[{"event_id":"sha256:33046f27784d2dd8a9a96451218475d8e53602d48b5b2c513c264774cfd0c163","target":"graph","created_at":"2026-05-17T23:40:04Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"paper":{"abstract_excerpt":"Despite the importance of sparse matrices in numerous fields of science, software implementations remain difficult to use for non-expert users, generally requiring the understanding of underlying details of the chosen sparse matrix storage format. In addition, to achieve good performance, several formats may need to be used in one program, requiring explicit selection and conversion between the formats. This can be both tedious and error-prone, especially for non-expert users. Motivated by these issues, we present a user-friendly and open-source sparse matrix class for the C++ language, with a","authors_text":"Conrad Sanderson, Ryan Curtin","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2018-11-20T06:47:37Z","title":"Practical Sparse Matrices in C++ with Hybrid Storage and Template-Based Expression Optimisation"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1811.08768","kind":"arxiv","version":3},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:082b10837db4ced6ab477519482f2f9b8214f1a10563cdc1ccdbe319a1631f02","target":"record","created_at":"2026-05-17T23:40:04Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"c931eeff3bf470b88b20b046f67421f51e32ed0ede3d51f77cbe2194c250b298","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2018-11-20T06:47:37Z","title_canon_sha256":"86eb29eea75f28615c6e6b2e61ed2fc132b3209c2c320f0e84598751196ee7c6"},"schema_version":"1.0","source":{"id":"1811.08768","kind":"arxiv","version":3}},"canonical_sha256":"5e0fa4a01700e8475663bae3c980185b9db7086acc146bcb351254c66535e2bc","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"5e0fa4a01700e8475663bae3c980185b9db7086acc146bcb351254c66535e2bc","first_computed_at":"2026-05-17T23:40:04.062228Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-17T23:40:04.062228Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"h0vSwoPMPk0ryf5vojeFHs9ZwJgXPdnDkD5IcPu0sob5gsOuUaO93EEhLEm3Br0NMOnhnIFCqDf5J8a0AnCSBg==","signature_status":"signed_v1","signed_at":"2026-05-17T23:40:04.062894Z","signed_message":"canonical_sha256_bytes"},"source_id":"1811.08768","source_kind":"arxiv","source_version":3}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:082b10837db4ced6ab477519482f2f9b8214f1a10563cdc1ccdbe319a1631f02","sha256:33046f27784d2dd8a9a96451218475d8e53602d48b5b2c513c264774cfd0c163"],"state_sha256":"d6b15ec62d66009ac89a7712b2cab13e9c089fc70fee0cbd8d3808b579ab822b"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"s8p3eHwsLkSTqrOeJcvuG/Cokzrmzr/Xi67mZDvUMQgGsb1tGQvuYaBnvdSYmPA5PEnqyeiLtLxdlphjAhU3Bg==","signed_message":"bundle_sha256_bytes","signed_at":"2026-05-31T10:28:08.766303Z","bundle_sha256":"705d65fe22ee96e4fb6891357c65c4d51c9de34f066f41369bebfe61fea71184"}}