{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2017:BUXRYS3757EWBS2UMRAAKFEBK5","short_pith_number":"pith:BUXRYS37","canonical_record":{"source":{"id":"1711.02712","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2017-11-07T20:15:24Z","cross_cats_sorted":["stat.ML"],"title_canon_sha256":"efae137c8c269f26fa6e058d8329f664e97a9a5e32a8d08a30ba9c7720acbdd7","abstract_canon_sha256":"251cb27d3132fd46120b074c00902566951cc2e96a0789d5c19ae80427d62483"},"schema_version":"1.0"},"canonical_sha256":"0d2f1c4b7fefc960cb5464400514815759fb009c4977ee2dbe5db7f2aae2b499","source":{"kind":"arxiv","id":"1711.02712","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1711.02712","created_at":"2026-05-18T00:31:02Z"},{"alias_kind":"arxiv_version","alias_value":"1711.02712v1","created_at":"2026-05-18T00:31:02Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1711.02712","created_at":"2026-05-18T00:31:02Z"},{"alias_kind":"pith_short_12","alias_value":"BUXRYS3757EW","created_at":"2026-05-18T12:31:08Z"},{"alias_kind":"pith_short_16","alias_value":"BUXRYS3757EWBS2U","created_at":"2026-05-18T12:31:08Z"},{"alias_kind":"pith_short_8","alias_value":"BUXRYS37","created_at":"2026-05-18T12:31:08Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2017:BUXRYS3757EWBS2UMRAAKFEBK5","target":"record","payload":{"canonical_record":{"source":{"id":"1711.02712","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2017-11-07T20:15:24Z","cross_cats_sorted":["stat.ML"],"title_canon_sha256":"efae137c8c269f26fa6e058d8329f664e97a9a5e32a8d08a30ba9c7720acbdd7","abstract_canon_sha256":"251cb27d3132fd46120b074c00902566951cc2e96a0789d5c19ae80427d62483"},"schema_version":"1.0"},"canonical_sha256":"0d2f1c4b7fefc960cb5464400514815759fb009c4977ee2dbe5db7f2aae2b499","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:31:02.006357Z","signature_b64":"KIfwchHNaQ4LuNHrFLXwfoI1TAdLUAdXTcuhSZCCXJSGUBCsX1Rd8aGE11PcWK3bg61tbebe7zPrPW0reISpBA==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"0d2f1c4b7fefc960cb5464400514815759fb009c4977ee2dbe5db7f2aae2b499","last_reissued_at":"2026-05-18T00:31:02.005719Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:31:02.005719Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1711.02712","source_version":1,"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-18T00:31:02Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"13IkYFtWFi41Z/pv8OSve/3U1X3We8tFQ9KstFL5ufFMlVNa3xxmWiJQc1qAN31pNLfYDg1OsK0kCbZuiRqxBA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-27T00:31:26.542003Z"},"content_sha256":"e6f8ff11709bff803588413c094fa6e626c6fe8a0e0b7d2209fd86d49f836d5d","schema_version":"1.0","event_id":"sha256:e6f8ff11709bff803588413c094fa6e626c6fe8a0e0b7d2209fd86d49f836d5d"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2017:BUXRYS3757EWBS2UMRAAKFEBK5","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Tangent: Automatic Differentiation Using Source Code Transformation in Python","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["stat.ML"],"primary_cat":"cs.MS","authors_text":"Alexander B. Wiltschko, Bart van Merri\\\"enboer, Dan Moldovan","submitted_at":"2017-11-07T20:15:24Z","abstract_excerpt":"Automatic differentiation (AD) is an essential primitive for machine learning programming systems. Tangent is a new library that performs AD using source code transformation (SCT) in Python. It takes numeric functions written in a syntactic subset of Python and NumPy as input, and generates new Python functions which calculate a derivative. This approach to automatic differentiation is different from existing packages popular in machine learning, such as TensorFlow and Autograd. Advantages are that Tangent generates gradient code in Python which is readable by the user, easy to understand and "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1711.02712","kind":"arxiv","version":1},"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-18T00:31:02Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"z+zUH7P3IAfTiwo52BsY/l77Lz2XGK80xodUVxfEIWNT+PqmjQvo80HzZC4yvP8U42M+T6lp70wmqOIe7vqtDA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-27T00:31:26.542691Z"},"content_sha256":"26545a0af1380d7f699caa07c31234a975e483ccac6e6684bd5175656d8fadad","schema_version":"1.0","event_id":"sha256:26545a0af1380d7f699caa07c31234a975e483ccac6e6684bd5175656d8fadad"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/BUXRYS3757EWBS2UMRAAKFEBK5/bundle.json","state_url":"https://pith.science/pith/BUXRYS3757EWBS2UMRAAKFEBK5/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/BUXRYS3757EWBS2UMRAAKFEBK5/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-27T00:31:26Z","links":{"resolver":"https://pith.science/pith/BUXRYS3757EWBS2UMRAAKFEBK5","bundle":"https://pith.science/pith/BUXRYS3757EWBS2UMRAAKFEBK5/bundle.json","state":"https://pith.science/pith/BUXRYS3757EWBS2UMRAAKFEBK5/state.json","well_known_bundle":"https://pith.science/.well-known/pith/BUXRYS3757EWBS2UMRAAKFEBK5/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2017:BUXRYS3757EWBS2UMRAAKFEBK5","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":"251cb27d3132fd46120b074c00902566951cc2e96a0789d5c19ae80427d62483","cross_cats_sorted":["stat.ML"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2017-11-07T20:15:24Z","title_canon_sha256":"efae137c8c269f26fa6e058d8329f664e97a9a5e32a8d08a30ba9c7720acbdd7"},"schema_version":"1.0","source":{"id":"1711.02712","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1711.02712","created_at":"2026-05-18T00:31:02Z"},{"alias_kind":"arxiv_version","alias_value":"1711.02712v1","created_at":"2026-05-18T00:31:02Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1711.02712","created_at":"2026-05-18T00:31:02Z"},{"alias_kind":"pith_short_12","alias_value":"BUXRYS3757EW","created_at":"2026-05-18T12:31:08Z"},{"alias_kind":"pith_short_16","alias_value":"BUXRYS3757EWBS2U","created_at":"2026-05-18T12:31:08Z"},{"alias_kind":"pith_short_8","alias_value":"BUXRYS37","created_at":"2026-05-18T12:31:08Z"}],"graph_snapshots":[{"event_id":"sha256:26545a0af1380d7f699caa07c31234a975e483ccac6e6684bd5175656d8fadad","target":"graph","created_at":"2026-05-18T00:31:02Z","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":"Automatic differentiation (AD) is an essential primitive for machine learning programming systems. Tangent is a new library that performs AD using source code transformation (SCT) in Python. It takes numeric functions written in a syntactic subset of Python and NumPy as input, and generates new Python functions which calculate a derivative. This approach to automatic differentiation is different from existing packages popular in machine learning, such as TensorFlow and Autograd. Advantages are that Tangent generates gradient code in Python which is readable by the user, easy to understand and ","authors_text":"Alexander B. Wiltschko, Bart van Merri\\\"enboer, Dan Moldovan","cross_cats":["stat.ML"],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2017-11-07T20:15:24Z","title":"Tangent: Automatic Differentiation Using Source Code Transformation in Python"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1711.02712","kind":"arxiv","version":1},"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:e6f8ff11709bff803588413c094fa6e626c6fe8a0e0b7d2209fd86d49f836d5d","target":"record","created_at":"2026-05-18T00:31:02Z","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":"251cb27d3132fd46120b074c00902566951cc2e96a0789d5c19ae80427d62483","cross_cats_sorted":["stat.ML"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.MS","submitted_at":"2017-11-07T20:15:24Z","title_canon_sha256":"efae137c8c269f26fa6e058d8329f664e97a9a5e32a8d08a30ba9c7720acbdd7"},"schema_version":"1.0","source":{"id":"1711.02712","kind":"arxiv","version":1}},"canonical_sha256":"0d2f1c4b7fefc960cb5464400514815759fb009c4977ee2dbe5db7f2aae2b499","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"0d2f1c4b7fefc960cb5464400514815759fb009c4977ee2dbe5db7f2aae2b499","first_computed_at":"2026-05-18T00:31:02.005719Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:31:02.005719Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"KIfwchHNaQ4LuNHrFLXwfoI1TAdLUAdXTcuhSZCCXJSGUBCsX1Rd8aGE11PcWK3bg61tbebe7zPrPW0reISpBA==","signature_status":"signed_v1","signed_at":"2026-05-18T00:31:02.006357Z","signed_message":"canonical_sha256_bytes"},"source_id":"1711.02712","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:e6f8ff11709bff803588413c094fa6e626c6fe8a0e0b7d2209fd86d49f836d5d","sha256:26545a0af1380d7f699caa07c31234a975e483ccac6e6684bd5175656d8fadad"],"state_sha256":"d66e5f0b34422895c14c87b6a1aa87244d917f69e397b4b6ac74186faec3d64e"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"7S+Dkkp6mB7VtppoAlMblsHAPJwNkaLztnaC1zHwY/0OFRM0G8MsN0uGjSkZ5PTNEzQ80Z7e8X5PpxmV8DOOCQ==","signed_message":"bundle_sha256_bytes","signed_at":"2026-05-27T00:31:26.546240Z","bundle_sha256":"7f3b2d1b543e62d748122f66dcda2789d943cd788492980f2cabd0041198a75a"}}