{"id":"https://openalex.org/W2063765018","doi":"https://doi.org/10.1145/1823931.1823955","title":"Effcient programming techniques for the SACLIB computer algebra library","display_name":"Effcient programming techniques for the SACLIB computer algebra library","publication_year":2010,"publication_date":"2010-06-24","ids":{"openalex":"https://openalex.org/W2063765018","doi":"https://doi.org/10.1145/1823931.1823955","mag":"2063765018"},"language":"en","primary_location":{"id":"doi:10.1145/1823931.1823955","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1823931.1823955","pdf_url":null,"source":{"id":"https://openalex.org/S176185422","display_name":"ACM communications in computer algebra","issn_l":"1932-2232","issn":["1932-2232","1932-2240"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320725","host_organization_name":"SIGSAM","host_organization_lineage":["https://openalex.org/P4310320725"],"host_organization_lineage_names":["SIGSAM"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Communications in Computer Algebra","raw_type":"journal-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/A5048860818","display_name":"David G. Richardson","orcid":null},"institutions":[{"id":"https://openalex.org/I72816309","display_name":"Drexel University","ror":"https://ror.org/04bdffz58","country_code":"US","type":"education","lineage":["https://openalex.org/I72816309"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David Richardson","raw_affiliation_strings":["Drexel University, Philadelphia, PA, USA","Drexel University, Philadelphia, PA, USA;"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Drexel University, Philadelphia, PA, USA","institution_ids":["https://openalex.org/I72816309"]},{"raw_affiliation_string":"Drexel University, Philadelphia, PA, USA;","institution_ids":["https://openalex.org/I72816309"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5048860818"],"corresponding_institution_ids":["https://openalex.org/I72816309"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.13371983,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"43","issue":"3/4","first_page":"120","last_page":"120"},"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.9990000128746033,"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.9990000128746033,"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.995199978351593,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9943000078201294,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9101764559745789},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.750368595123291},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5759450793266296},{"id":"https://openalex.org/keywords/metaprogramming","display_name":"Metaprogramming","score":0.5510252118110657},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5491535663604736},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5437144637107849},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.516737163066864},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.43746626377105713},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.4127245545387268},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.412596732378006},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.35752415657043457},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.328055202960968},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.12850716710090637}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9101764559745789},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.750368595123291},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5759450793266296},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.5510252118110657},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5491535663604736},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5437144637107849},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.516737163066864},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.43746626377105713},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.4127245545387268},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.412596732378006},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.35752415657043457},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.328055202960968},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.12850716710090637}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1823931.1823955","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1823931.1823955","pdf_url":null,"source":{"id":"https://openalex.org/S176185422","display_name":"ACM communications in computer algebra","issn_l":"1932-2232","issn":["1932-2232","1932-2240"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320725","host_organization_name":"SIGSAM","host_organization_lineage":["https://openalex.org/P4310320725"],"host_organization_lineage_names":["SIGSAM"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Communications in Computer Algebra","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W878150521","https://openalex.org/W2058965144","https://openalex.org/W2008941207","https://openalex.org/W2164382479","https://openalex.org/W98480971","https://openalex.org/W2373662841","https://openalex.org/W2778498407","https://openalex.org/W1966837078","https://openalex.org/W2496610134","https://openalex.org/W2128151625"],"abstract_inverted_index":{"This":[0,79,90,139],"dissertation":[1],"describes":[2],"three":[3],"contributions":[4],"to":[5,70,85,132,148,157,175,191,259,262],"the":[6,16,21,93,101,118,125,161,169,173,198,203,226,243,248,253,270,273,283],"SACLIB":[7,77,86,105],"computer":[8],"algebra":[9],"library.":[10],"Using":[11,60,107],"generic":[12],"programming":[13,256],"we":[14,42,64,112],"specify":[15],"Recursively":[17,199],"Fixed":[18,200],"Iterator":[19,24,201,206],"and":[20,55,67,88,110,124,202,282],"Structure":[22,204],"Protecting":[23,205],"concepts.":[25],"We":[26,240],"prove":[27],"that":[28,48,167,184,215,242],"models":[29,44],"of":[30,45,96,103,117,143,163,172,182,197,220,237,247,255,272,275,287],"these":[31,46],"concepts":[32,47],"cannot":[33],"leak":[34],"or":[35],"double":[36],"delete":[37],"resources.":[38],"Through":[39],"template":[40,213],"metaprogramming,":[41],"implement":[43],"provide":[49,207],"this":[50,158],"memory":[51,208],"safety":[52,209,229],"at":[53],"compile-time":[54],"without":[56],"any":[57],"run-time":[58],"overhead.":[59],"aspect":[61],"oriented":[62],"programming,":[63],"allow":[65,113,260],"unit":[66],"regression":[68,97],"tests":[69],"be":[71,133,149,176,232],"automatically":[72,134],"obtained":[73,150],"from":[74],"an":[75],"executing":[76],"program.":[78],"program":[80],"instrumentation":[81],"is":[82,160,252],"transparent":[83],"both":[84],"maintainers":[87],"clients.":[89],"mechanism":[91],"allows":[92,140,168],"automated":[94],"creation":[95,162],"test":[98],"suites":[99],"during":[100],"execution":[102],"normal":[104],"programs.":[106],"code":[108,189,193,266],"generation":[109],"auto-tuning,":[111],"high":[114],"performance":[115],"implementations":[116],"Taylor":[119],"shift,":[120],"de":[121],"Casteljau's":[122],"algorithm,":[123],"Descartes":[126],"Method":[127],"for":[128,136,187],"polynomial":[129],"root":[130],"isolation":[131],"tuned":[135],"different":[137],"architectures.":[138,154],"a":[141,164,179,188],"speedup":[142,159],"10-20":[144],"over":[145],"existing":[146],"methods":[147],"on":[151],"modern":[152],"CPU":[153],"The":[155,195],"key":[156],"tiling":[165],"scheme":[166],"irregular":[170],"structure":[171],"computation":[174],"tiled":[177],"using":[178,211,225,234],"small":[180],"number":[181],"tiles":[183],"are":[185],"easy":[186],"generator":[190],"produce":[192],"for.":[194],"implementation":[196],"by":[210],"C++":[212],"metaprograms":[214],"selectively":[216],"disable":[217],"certain":[218],"classes":[219],"side":[221,238,276,285],"effects":[222,277,286],"in":[223,278],"programs":[224],"iterators.":[227],"Other":[228],"properties":[230],"can":[231],"achieved":[233],"similar":[235],"disabling":[236],"effects.":[239],"believe":[241],"most":[244],"important":[245],"continuation":[246],"work":[249],"presented":[250],"here":[251],"development":[254],"language":[257],"techniques":[258],"programmers":[261],"control":[263],"where":[264],"their":[265],"should":[267],"sit":[268],"along":[269],"spectrum":[271],"absence":[274],"pure":[279],"functional":[280],"languages":[281],"unrestricted":[284],"imperative":[288],"language.":[289]},"counts_by_year":[],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
