<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-05000159v1</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-24T10:50:45+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Fast in-place accumulation</title>
            <author role="aut">
              <persName>
                <forename type="first">Jean-Guillaume</forename>
                <surname>Dumas</surname>
              </persName>
              <email type="md5">96a59f080ca317ead9e1f40ce51dda1e</email>
              <email type="domain">univ-grenoble-alpes.fr</email>
              <idno type="idhal" notation="string">jean-guillaume-dumas</idno>
              <idno type="idhal" notation="numeric">405</idno>
              <idno type="halauthorid" notation="string">46872-405</idno>
              <idno type="ARXIV">https://arxiv.org/a/dumas_j_1</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-2591-172X</idno>
              <idno type="GOOGLE SCHOLAR">https://scholar.google.com/citations?hl=en&amp;user=MwdZ-KwAAAAJ</idno>
              <idno type="IDREF">https://www.idref.fr/11175786X</idno>
              <affiliation ref="#struct-1043082"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Bruno</forename>
                <surname>Grenet</surname>
              </persName>
              <email type="md5">a3e9bcef5cbd56368a66efe941de125c</email>
              <email type="domain">univ-grenoble-alpes.fr</email>
              <idno type="idhal" notation="string">brunogrenet</idno>
              <idno type="idhal" notation="numeric">189</idno>
              <idno type="halauthorid" notation="string">23868-189</idno>
              <idno type="ARXIV">https://arxiv.org/a/grenet_b_1</idno>
              <idno type="IDREF">https://www.idref.fr/166151467</idno>
              <idno type="ORCID">https://orcid.org/0000-0003-2057-5429</idno>
              <affiliation ref="#struct-1043082"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Bruno</forename>
                <surname>Grenet</surname>
              </persName>
              <email type="md5">a3e9bcef5cbd56368a66efe941de125c</email>
              <email type="domain">univ-grenoble-alpes.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2025-03-21 10:40:23</date>
              <date type="whenModified">2025-11-24 13:56:50</date>
              <date type="whenReleased">2025-03-24 10:01:03</date>
              <date type="whenProduced">2025-10-22</date>
              <date type="whenEndEmbargoed">2025-03-21</date>
              <ref type="file" target="https://hal.science/hal-05000159v1/document">
                <date notBefore="2025-03-21"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/hal-05000159v1/file/fastbilinpl.pdf" id="file-5000159-4334694">
                <date notBefore="2025-03-21"/>
              </ref>
            </edition>
            <edition n="v2">
              <date type="whenSubmitted">2025-10-22 15:16:01</date>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="145297">
                <persName>
                  <forename>Bruno</forename>
                  <surname>Grenet</surname>
                </persName>
                <email type="md5">a3e9bcef5cbd56368a66efe941de125c</email>
                <email type="domain">univ-grenoble-alpes.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-05000159</idno>
            <idno type="halUri">https://hal.science/hal-05000159</idno>
            <idno type="halBibtex">dumas:hal-05000159</idno>
            <idno type="halRefHtml">&lt;i&gt;Journal of Symbolic Computation&lt;/i&gt;, 2025, 134 (102523), &lt;a target="_blank" href="https://dx.doi.org/10.1016/j.jsc.2025.102523"&gt;&amp;#x27E8;10.1016/j.jsc.2025.102523&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">Journal of Symbolic Computation, 2025, 134 (102523), &amp;#x27E8;10.1016/j.jsc.2025.102523&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-5000159-4334694"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="CYBERALPS">Grenoble Alpes Cybersecurity Institute</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="2">International</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Fast in-place accumulation</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Jean-Guillaume</forename>
                    <surname>Dumas</surname>
                  </persName>
                  <email type="md5">96a59f080ca317ead9e1f40ce51dda1e</email>
                  <email type="domain">univ-grenoble-alpes.fr</email>
                  <idno type="idhal" notation="string">jean-guillaume-dumas</idno>
                  <idno type="idhal" notation="numeric">405</idno>
                  <idno type="halauthorid" notation="string">46872-405</idno>
                  <idno type="ARXIV">https://arxiv.org/a/dumas_j_1</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-2591-172X</idno>
                  <idno type="GOOGLE SCHOLAR">https://scholar.google.com/citations?hl=en&amp;user=MwdZ-KwAAAAJ</idno>
                  <idno type="IDREF">https://www.idref.fr/11175786X</idno>
                  <affiliation ref="#struct-1043082"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Bruno</forename>
                    <surname>Grenet</surname>
                  </persName>
                  <email type="md5">a3e9bcef5cbd56368a66efe941de125c</email>
                  <email type="domain">univ-grenoble-alpes.fr</email>
                  <idno type="idhal" notation="string">brunogrenet</idno>
                  <idno type="idhal" notation="numeric">189</idno>
                  <idno type="halauthorid" notation="string">23868-189</idno>
                  <idno type="ARXIV">https://arxiv.org/a/grenet_b_1</idno>
                  <idno type="IDREF">https://www.idref.fr/166151467</idno>
                  <idno type="ORCID">https://orcid.org/0000-0003-2057-5429</idno>
                  <affiliation ref="#struct-1043082"/>
                </author>
              </analytic>
              <monogr>
                <idno type="halJournalId" status="VALID">16278</idno>
                <idno type="issn">0747-7171</idno>
                <idno type="eissn">1095-855X</idno>
                <title level="j">Journal of Symbolic Computation</title>
                <imprint>
                  <publisher>Elsevier</publisher>
                  <biblScope unit="volume">134</biblScope>
                  <biblScope unit="issue">102523</biblScope>
                  <date type="datePub">2025-10-22</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1016/j.jsc.2025.102523</idno>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <classCode scheme="halDomain" n="info.info-sc">Computer Science [cs]/Symbolic Computation [cs.SC]</classCode>
              <classCode scheme="halTypology" n="ART">Journal articles</classCode>
              <classCode scheme="halOldTypology" n="ART">Journal articles</classCode>
              <classCode scheme="halTreeTypology" n="ART">Journal articles</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>This paper deals with simultaneously fast and in-place algorithms for formulae where the result has to be linearly accumulated: some output variables are also input variables, linked by a linear dependency. Fundamental examples include the in-place accumulated multiplication of polynomials or matrices, C += AB (that is with only O(1) extra space). The difficulty is to combine in-place computations with fast algorithms: those usually come at the expense of (potentially large) extra temporary space, but with accumulation the output variables are not even available to store intermediate values. We first propose a novel automatic design of fast and in-place accumulating algorithms for any bilinear formulae (and thus for polynomial and matrix multiplication) and then extend it to any linear accumulation of a collection of functions. For this, we relax the in-place model to any algorithm allowed to modify its inputs, provided that those are restored to their initial state afterwards. This allows us, in fine, to derive unprecedented in-place accumulating algorithms for fast polynomial multiplications and for Strassen-like matrix multiplications.We then consider the simultaneously fast and in-place computation of the Euclidean polynomial modular remainder R(X) ≡ A(X) mod B(X). Fast algorithms for this usually also come at the expense of a linear amount of extra temporary space. In particular, they require to first compute and store the whole quotient Q(X) such that A = BQ+R. We here propose an *in-place* algorithm to compute the sole remainder. If M(k) denotes the complexity of a (not-in-place) algorithm to multiply two degree-k polynomials, our algorithm uses at most O((n/m) M(m) log(m)) arithmetic operations, or O((n/m) M(m)) if M(n) = Θ(n^{1+ε}) for some ε&amp;gt;0. We also propose variants that compute – still in-place and with the same kind of complexity bounds – the over-place remainder A(X) ≡ A(X) mod B(X), the accumulated remainder R(X) += A(X) mod B(X) and the accumulated modular multiplication R(X) += A(X)C(X) mod B(X), that is multiplication in a polynomial extension of a finite field.To achieve this, we develop techniques for Toeplitz matrix operations, for generalized convolutions, short product and power series division and remainder whose output is also part of the input.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-1043082" status="VALID">
          <orgName>Calcul Algébrique et Symbolique, Sécurité, Systèmes Complexes, Codes et Cryptologie</orgName>
          <orgName type="acronym">CASC</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">http://ljk.imag.fr/CASC/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-1043077" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation name="UMR5224" active="#struct-441569" type="indirect"/>
            <relation active="#struct-1042703" type="indirect"/>
            <relation active="#struct-1043329" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-1043077" status="VALID">
          <idno type="IdRef">184945011</idno>
          <idno type="ISNI">0000 0004 0383 676X</idno>
          <idno type="RNSR">200711891Z</idno>
          <idno type="ROR">https://ror.org/04ett5b41</idno>
          <orgName>Laboratoire Jean Kuntzmann</orgName>
          <orgName type="acronym">LJK</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>Bâtiment IMAG, CS 40700, F-38058 Grenoble Cedex 9</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://ljk.imag.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
            <relation name="UMR5224" active="#struct-441569" type="direct"/>
            <relation active="#struct-1042703" type="direct"/>
            <relation active="#struct-1043329" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-1042703" status="VALID">
          <idno type="IdRef">240648315</idno>
          <idno type="ROR">https://ror.org/02rx3b187</idno>
          <orgName>Université Grenoble Alpes</orgName>
          <orgName type="acronym">UGA</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>Adresse CS 40700 - 38058 Grenoble cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.univ-grenoble-alpes.fr</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-1043329" status="VALID">
          <idno type="IdRef">026388804</idno>
          <idno type="ROR">https://ror.org/05sbt2524</idno>
          <orgName>Institut polytechnique de Grenoble - Grenoble Institute of Technology</orgName>
          <orgName type="acronym">Grenoble INP</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>46 avenue Félix Viallet 38031 Grenoble Cedex 1</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.grenoble-inp.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-1042703" type="direct"/>
          </listRelation>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>