{"id":"https://openalex.org/W2806441765","doi":"https://doi.org/10.1145/3341701","title":"Efficient differentiable programming in a functional array-processing language","display_name":"Efficient differentiable programming in a functional array-processing language","publication_year":2019,"publication_date":"2019-07-26","ids":{"openalex":"https://openalex.org/W2806441765","doi":"https://doi.org/10.1145/3341701","mag":"2806441765"},"language":"en","primary_location":{"id":"doi:10.1145/3341701","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341701","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341701","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3341701","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025737201","display_name":"Amir Shaikhha","orcid":"https://orcid.org/0000-0002-9062-759X"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Amir Shaikhha","raw_affiliation_strings":["University of Oxford, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Oxford, UK","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5018851970","display_name":"Andrew Fitzgibbon","orcid":"https://orcid.org/0000-0002-9839-660X"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Andrew Fitzgibbon","raw_affiliation_strings":["Microsoft Research, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, UK","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029108294","display_name":"Dimitrios Vytiniotis","orcid":null},"institutions":[{"id":"https://openalex.org/I4210090411","display_name":"Google DeepMind (United Kingdom)","ror":"https://ror.org/00971b260","country_code":"GB","type":"company","lineage":["https://openalex.org/I4210090411","https://openalex.org/I4210128969"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Dimitrios Vytiniotis","raw_affiliation_strings":["DeepMind, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"DeepMind, UK","institution_ids":["https://openalex.org/I4210090411"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027817074","display_name":"Simon Peyton Jones","orcid":"https://orcid.org/0000-0002-6085-1435"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Simon Peyton Jones","raw_affiliation_strings":["Microsoft Research, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, UK","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.4787,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.72702268,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"3","issue":"ICFP","first_page":"1","last_page":"30"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11975","display_name":"Evolutionary Algorithms and Applications","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11975","display_name":"Evolutionary Algorithms and Applications","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9937999844551086,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/automatic-differentiation","display_name":"Automatic differentiation","score":0.8908716440200806},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.777717113494873},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6486189365386963},{"id":"https://openalex.org/keywords/differentiable-function","display_name":"Differentiable function","score":0.6422712206840515},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.5334159731864929},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5314074158668518},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.5302944779396057},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4400065243244171},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.3729473352432251},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.0893373191356659}],"concepts":[{"id":"https://openalex.org/C133512626","wikidata":"https://www.wikidata.org/wiki/Q787371","display_name":"Automatic differentiation","level":3,"score":0.8908716440200806},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.777717113494873},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6486189365386963},{"id":"https://openalex.org/C202615002","wikidata":"https://www.wikidata.org/wiki/Q783507","display_name":"Differentiable function","level":2,"score":0.6422712206840515},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.5334159731864929},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5314074158668518},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.5302944779396057},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4400065243244171},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.3729473352432251},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0893373191356659},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3341701","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341701","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341701","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1806.02136","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1806.02136","pdf_url":"https://arxiv.org/pdf/1806.02136","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"mag:2806441765","is_oa":true,"landing_page_url":"https://arxiv.org/pdf/1806.02136","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"arXiv (Cornell University)","raw_type":null},{"id":"doi:10.48550/arxiv.1806.02136","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.1806.02136","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.1145/3341701","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341701","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341701","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320320915","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2806441765.pdf","grobid_xml":"https://content.openalex.org/works/W2806441765.grobid-xml"},"referenced_works_count":52,"referenced_works":["https://openalex.org/W1914234","https://openalex.org/W145691285","https://openalex.org/W1564094940","https://openalex.org/W1732358472","https://openalex.org/W1783840476","https://openalex.org/W1964298340","https://openalex.org/W1965256357","https://openalex.org/W1966981171","https://openalex.org/W1979811002","https://openalex.org/W1997978901","https://openalex.org/W2002871272","https://openalex.org/W2008070495","https://openalex.org/W2026049208","https://openalex.org/W2031070741","https://openalex.org/W2041179002","https://openalex.org/W2044211710","https://openalex.org/W2055312318","https://openalex.org/W2071746250","https://openalex.org/W2081124914","https://openalex.org/W2084689793","https://openalex.org/W2087070363","https://openalex.org/W2088217310","https://openalex.org/W2094455839","https://openalex.org/W2101565274","https://openalex.org/W2108464053","https://openalex.org/W2112615547","https://openalex.org/W2125771191","https://openalex.org/W2136952590","https://openalex.org/W2146534684","https://openalex.org/W2151575553","https://openalex.org/W2153622543","https://openalex.org/W2154697693","https://openalex.org/W2159227002","https://openalex.org/W2162569557","https://openalex.org/W2291372353","https://openalex.org/W2293168108","https://openalex.org/W2562640456","https://openalex.org/W2644985445","https://openalex.org/W2751583584","https://openalex.org/W2751836142","https://openalex.org/W2769962266","https://openalex.org/W2914196042","https://openalex.org/W2962773216","https://openalex.org/W2996811965","https://openalex.org/W2999031440","https://openalex.org/W3137394766","https://openalex.org/W4233720472","https://openalex.org/W4242080388","https://openalex.org/W4252345548","https://openalex.org/W4252567017","https://openalex.org/W4293529051","https://openalex.org/W6713134421"],"related_works":["https://openalex.org/W3195241200","https://openalex.org/W2111848585","https://openalex.org/W2915832966","https://openalex.org/W2100232637","https://openalex.org/W1971723071","https://openalex.org/W2028790644","https://openalex.org/W2644985445","https://openalex.org/W2582983959","https://openalex.org/W1505492495","https://openalex.org/W148450146","https://openalex.org/W1562116418","https://openalex.org/W2233498942","https://openalex.org/W2220627096","https://openalex.org/W3093179495","https://openalex.org/W2291177998","https://openalex.org/W2472217442","https://openalex.org/W2207795035","https://openalex.org/W2465978700","https://openalex.org/W122851984","https://openalex.org/W2765242511"],"abstract_inverted_index":{"We":[0],"present":[1],"a":[2,10],"system":[3,21],"for":[4,55],"the":[5,51],"automatic":[6],"differentiation":[7],"(AD)":[8],"of":[9],"higher-order":[11],"functional":[12,17],"array-processing":[13],"language.":[14],"The":[15],"core":[16],"language":[18],"underlying":[19],"this":[20],"simultaneously":[22],"supports":[23],"both":[24],"source-to-source":[25],"forward-mode":[26,40],"AD":[27,41],"and":[28,49,61],"global":[29],"optimisations":[30],"such":[31,58],"as":[32,44,46,59],"loop":[33],"transformations.":[34],"In":[35],"combination,":[36],"gradient":[37],"computation":[38],"with":[39],"can":[42,63],"be":[43,64],"efficient":[45],"reverse":[47],"mode,":[48],"that":[50],"Jacobian":[52],"matrices":[53],"required":[54],"numerical":[56],"algorithms":[57],"Gauss-Newton":[60],"Levenberg-Marquardt":[62],"efficiently":[65],"computed.":[66]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":2}],"updated_date":"2026-07-15T18:14:33.161393","created_date":"2025-10-10T00:00:00"}
