{"id":"https://openalex.org/W4379518721","doi":"https://doi.org/10.1145/3589246.3595373","title":"Towards Structured Algebraic Programming","display_name":"Towards Structured Algebraic Programming","publication_year":2023,"publication_date":"2023-06-06","ids":{"openalex":"https://openalex.org/W4379518721","doi":"https://doi.org/10.1145/3589246.3595373"},"language":"en","primary_location":{"id":"doi:10.1145/3589246.3595373","is_oa":false,"landing_page_url":"http://dx.doi.org/10.1145/3589246.3595373","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5003670221","display_name":"Daniele G. Spampinato","orcid":"https://orcid.org/0000-0003-1411-7069"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Daniele G. Spampinato","raw_affiliation_strings":["Huawei Zurich Research Center, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Huawei Zurich Research Center, Switzerland","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083042136","display_name":"Denis Jelovina","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Denis Jelovina","raw_affiliation_strings":["Huawei Zurich Research Center, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Huawei Zurich Research Center, Switzerland","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103220307","display_name":"Jiawei Zhuang","orcid":"https://orcid.org/0000-0003-1463-2925"},"institutions":[{"id":"https://openalex.org/I2250955327","display_name":"Huawei Technologies (China)","ror":"https://ror.org/00cmhce21","country_code":"CN","type":"company","lineage":["https://openalex.org/I2250955327"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Jiawei Zhuang","raw_affiliation_strings":["Huawei Technologies, China"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Huawei Technologies, China","institution_ids":["https://openalex.org/I2250955327"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5012014394","display_name":"Albert-Jan N. Yzelman","orcid":"https://orcid.org/0000-0001-8842-3689"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Albert-Jan N. Yzelman","raw_affiliation_strings":["Huawei Zurich Research Center, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Huawei Zurich Research Center, Switzerland","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.06342205,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"2","issue":null,"first_page":"50","last_page":"61"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T11321","display_name":"Error Correcting Code Techniques","score":0.9939000010490417,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T11269","display_name":"Algorithms and Data Compression","score":0.9904999732971191,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7620089054107666},{"id":"https://openalex.org/keywords/linear-algebra","display_name":"Linear algebra","score":0.7262798547744751},{"id":"https://openalex.org/keywords/algebraic-operation","display_name":"Algebraic operation","score":0.6390675902366638},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.6168244481086731},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.5880107879638672},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5509490370750427},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5342786312103271},{"id":"https://openalex.org/keywords/algebraic-number","display_name":"Algebraic number","score":0.5329310297966003},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.4299231767654419},{"id":"https://openalex.org/keywords/sparse-matrix","display_name":"Sparse matrix","score":0.42820537090301514},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4156167209148407},{"id":"https://openalex.org/keywords/numerical-linear-algebra","display_name":"Numerical linear algebra","score":0.41362589597702026},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3725455403327942},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.296054482460022},{"id":"https://openalex.org/keywords/linear-system","display_name":"Linear system","score":0.23633632063865662},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16522029042243958}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7620089054107666},{"id":"https://openalex.org/C139352143","wikidata":"https://www.wikidata.org/wiki/Q82571","display_name":"Linear algebra","level":2,"score":0.7262798547744751},{"id":"https://openalex.org/C136003732","wikidata":"https://www.wikidata.org/wiki/Q3854337","display_name":"Algebraic operation","level":3,"score":0.6390675902366638},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.6168244481086731},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.5880107879638672},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5509490370750427},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5342786312103271},{"id":"https://openalex.org/C9376300","wikidata":"https://www.wikidata.org/wiki/Q168817","display_name":"Algebraic number","level":2,"score":0.5329310297966003},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.4299231767654419},{"id":"https://openalex.org/C56372850","wikidata":"https://www.wikidata.org/wiki/Q1050404","display_name":"Sparse matrix","level":3,"score":0.42820537090301514},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4156167209148407},{"id":"https://openalex.org/C163834973","wikidata":"https://www.wikidata.org/wiki/Q2004891","display_name":"Numerical linear algebra","level":3,"score":0.41362589597702026},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3725455403327942},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.296054482460022},{"id":"https://openalex.org/C6802819","wikidata":"https://www.wikidata.org/wiki/Q1072174","display_name":"Linear system","level":2,"score":0.23633632063865662},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16522029042243958},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C163716315","wikidata":"https://www.wikidata.org/wiki/Q901177","display_name":"Gaussian","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3589246.3595373","is_oa":false,"landing_page_url":"http://dx.doi.org/10.1145/3589246.3595373","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W26556108","https://openalex.org/W136363066","https://openalex.org/W201315547","https://openalex.org/W1440609229","https://openalex.org/W1558370006","https://openalex.org/W1979172031","https://openalex.org/W1988425770","https://openalex.org/W2002257715","https://openalex.org/W2024165284","https://openalex.org/W2038469228","https://openalex.org/W2145005214","https://openalex.org/W2252007067","https://openalex.org/W2412589610","https://openalex.org/W2516525699","https://openalex.org/W2565236682","https://openalex.org/W2588061952","https://openalex.org/W2592969254","https://openalex.org/W2891477368","https://openalex.org/W2898195456","https://openalex.org/W2949953997","https://openalex.org/W2966814340","https://openalex.org/W2995872593","https://openalex.org/W3003257820","https://openalex.org/W3035965352","https://openalex.org/W3099506637","https://openalex.org/W3099878876","https://openalex.org/W3102774506","https://openalex.org/W3114531509","https://openalex.org/W3122286897","https://openalex.org/W3173293533","https://openalex.org/W3177880845","https://openalex.org/W3183647566","https://openalex.org/W3197252934","https://openalex.org/W3210601829","https://openalex.org/W4240054498","https://openalex.org/W4246166885","https://openalex.org/W4287542618","https://openalex.org/W4300461182"],"related_works":["https://openalex.org/W2479014312","https://openalex.org/W2112690207","https://openalex.org/W1583465708","https://openalex.org/W1541585229","https://openalex.org/W1601646354","https://openalex.org/W4235959758","https://openalex.org/W2115035385","https://openalex.org/W2886009174","https://openalex.org/W2765751893","https://openalex.org/W4379518721"],"abstract_inverted_index":{"Structured":[0],"matrices":[1],"and":[2,9,18,27,39,81,87,181],"tensors":[3],"exhibiting":[4],"properties":[5],"such":[6],"as":[7,161,163],"symmetry":[8],"fixed":[10],"non-zero":[11,138],"patterns":[12],"are":[13,45],"known":[14],"for":[15,84,133],"making":[16,55],"algorithms":[17,50,180],"data":[19,88],"storage":[20],"more":[21,73,150],"efficient.":[22],"Due":[23],"to":[24,90,143,174,185],"emerging":[25],"power":[26],"efficiency":[28],"constraints":[29],"required":[30],"by":[31],"the":[32,52,106,146,155,165],"scale":[33],"of":[34,54,94,108,127,148,158,167],"modern":[35],"scientific,":[36],"machine":[37],"learning,":[38],"edge":[40],"computing":[41],"applications,":[42],"algorithm":[43],"experts":[44],"revisiting":[46],"traditional":[47,95],"linear":[48,75],"algebra":[49,76],"with":[51,136],"goal":[53],"new":[56,64,129],"structures":[57,60],"appear.":[58],"Such":[59],"often":[61],"result":[62],"from":[63,71],"numerical":[65],"approximations":[66],"that":[67],"would":[68],"greatly":[69],"benefit":[70],"a":[72,124,128],"flexible":[74],"interface":[77,132,141],"than":[78],"standard":[79],"BLAS":[80],"LAPACK,":[82],"allowing":[83],"mixed":[85],"precision":[86],"types":[89],"appear":[91],"in":[92,154,164],"place":[93],"floating-point":[96],"operations.":[97],"Algebraic":[98],"programming":[99,131],"interfaces,":[100],"like":[101],"GraphBLAS,":[102],"while":[103],"naturally":[104],"abstracting":[105],"algebras":[107],"their":[109],"operations,":[110],"do":[111],"not":[112],"explicitly":[113],"capture":[114],"structured,":[115],"densely":[116],"stored":[117],"arrays.":[118],"In":[119],"this":[120],"paper,":[121],"we":[122],"present":[123],"preliminary":[125],"design":[126],"algebraic":[130],"structured":[134],"containers":[135],"template-generic,":[137],"patterns.":[139],"This":[140],"offers":[142],"backend":[144],"implementations":[145],"possibility":[147],"integrating":[149],"compile-time":[151],"pattern":[152],"information":[153],"loop-based":[156],"implementation":[157],"primitive":[159],"operations":[160],"well":[162],"formulation":[166],"array":[168],"accesses.":[169],"We":[170],"demonstrate":[171],"its":[172,183],"ability":[173,184],"specify":[175],"important":[176],"dense":[177],"matrix":[178],"decomposition":[179],"argue":[182],"expose":[186],"high-performance":[187],"backends.":[188]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
