There is a newer version of this record available.

Software Open Access

A Verified Implementation of the Berlekamp–Zassenhaus Factorization Algorithm, supporting material

Divasón, Jose; Joosten, Sebastiaan J. C.; Thiemann, René; Yamada, Akihisa


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.2539422</identifier>
  <creators>
    <creator>
      <creatorName>Divasón, Jose</creatorName>
      <givenName>Jose</givenName>
      <familyName>Divasón</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-5173-128X</nameIdentifier>
      <affiliation>University of La Rioja, Spain</affiliation>
    </creator>
    <creator>
      <creatorName>Joosten, Sebastiaan J. C.</creatorName>
      <givenName>Sebastiaan J. C.</givenName>
      <familyName>Joosten</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-6590-6220</nameIdentifier>
      <affiliation>University of Innsbruck, Austria</affiliation>
    </creator>
    <creator>
      <creatorName>Thiemann, René</creatorName>
      <givenName>René</givenName>
      <familyName>Thiemann</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-0323-8829</nameIdentifier>
      <affiliation>University of Innsbruck, Austria</affiliation>
    </creator>
    <creator>
      <creatorName>Yamada, Akihisa</creatorName>
      <givenName>Akihisa</givenName>
      <familyName>Yamada</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0001-8872-2240</nameIdentifier>
      <affiliation>University of Innsbruck, Austria</affiliation>
    </creator>
  </creators>
  <titles>
    <title>A Verified Implementation of the Berlekamp–Zassenhaus Factorization Algorithm, supporting material</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2018</publicationYear>
  <subjects>
    <subject>Factor Bounds</subject>
    <subject>Hensel Lifting</subject>
    <subject>Isabelle/HOL</subject>
    <subject>Local Type Definitions</subject>
    <subject>Polynomial Factorization</subject>
    <subject>Theorem Proving</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2018-12-23</date>
  </dates>
  <resourceType resourceTypeGeneral="Software"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/2539422</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.2525350</relatedIdentifier>
  </relatedIdentifiers>
  <rightsList>
    <rights rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;This is the supporting material for the paper &lt;em&gt;A Verified Implementation of the Berlekamp&amp;ndash;Zassenhaus Factorization Algorithm&lt;/em&gt; by Jose Divas&amp;oacute;n, Sebastiaan Joosten, Ren&amp;eacute; Thiemann and Akihisa Yamada.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We formalize the Berlekamp--Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun&amp;#39;s square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials.&lt;/p&gt;

&lt;p&gt;The algorithm first performs factorization in the prime field GF(&lt;em&gt;p&lt;/em&gt;) and then performs computations in the ring of integers modulo &lt;em&gt;p&lt;sup&gt;k&lt;/sup&gt;&lt;/em&gt;, where both &lt;em&gt;p&lt;/em&gt; and &lt;em&gt;k&lt;/em&gt; are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using locales and local type definitions.&lt;/p&gt;

&lt;p&gt;Through experiments we verify that our algorithm factors polynomials of degree up to 500 within seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formalization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The formalization is part of the &lt;a href="https://www.isa-afp.org/"&gt;Archive of Formal Proofs&lt;/a&gt; for &lt;a href="https://isabelle.in.tum.de/"&gt;Isabelle&lt;/a&gt; 2018 within the entry &lt;a href="https://www.isa-afp.org/entries/Berlekamp_Zassenhaus.html"&gt;The Factorization Algorithm of Berlekamp and Zassenhaus&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The following list documents the relationship between the paper and the formalization:&lt;/p&gt;

&lt;p&gt;Section 1 Introduction&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Theorem 1 (page 2): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Factorize_Int_Poly.thy#Factorize_Int_Poly.thy-546"&gt;factorize_int_poly&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 3 Formalizing Prime Fields&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Lemma 1 (page 6): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Polynomial_Factorization/Square_Free_Factorization.thy#Square_Free_Factorization.thy-76"&gt;coprime_pderiv_imp_square_free&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 2 (page 8): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Suitable_Prime.thy#Suitable_Prime.thy-120"&gt;square_free_mod_imp_square_free&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 3 (page 8): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Poly_Mod_Finite_Field.thy#Poly_Mod_Finite_Field.thy-172"&gt;times_MP_Rel&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 4 (page 8): &lt;a href="https://isabelle.in.tum.de/repos/isabelle/file/Isabelle2018/src/HOL/Computational_Algebra/Polynomial.thy#l1388"&gt;degree_mult_eq&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 5 (page 8): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Poly_Mod_Finite_Field.thy#Poly_Mod_Finite_Field.thy-559"&gt;poly_mod_prime_type.degree_m_mult_eq&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 6 (page 8): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Poly_Mod_Finite_Field.thy#Poly_Mod_Finite_Field.thy-561"&gt;poly_mod_prime.degree_m_mult_eq&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 7 (page 10): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Arithmetic_Record_Based.thy#Arithmetic_Record_Based.thy-131"&gt;gcd_eucl_i&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 8 (page 10): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Finite_Field_Record_Based.thy#Finite_Field_Record_Based.thy-1583"&gt;finite_field_ops_integer&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 9 (page 11): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Finite_Field_Record_Based.thy#Finite_Field_Record_Based.thy-763"&gt;finite_field_ops32&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 10 (page 11): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Finite_Field_Record_Based.thy#Finite_Field_Record_Based.thy-1175"&gt;finite_field_ops64&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 11 (page 11): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Polynomial_Record_Based.thy#Polynomial_Record_Based.thy-829"&gt;euclidean_ring_ops_poly&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 12 (page 11): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Polynomial_Record_Based.thy#Polynomial_Record_Based.thy-842"&gt;poly_rel_gcd&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 13 (page 12): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Suitable_Prime.thy#Suitable_Prime.thy-54"&gt;prime_field_gen.square_free_impl(1)&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 14 (page 12): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Suitable_Prime.thy#Suitable_Prime.thy-153"&gt;poly_mod_prime.square_free_impl(1)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 4 Square-Free Factorization of Integer Polynomials&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Theorem 2 (page 13): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Square_Free_Factorization_Int.thy#Square_Free_Factorization_Int.thy-595"&gt;square_free_factorization_int&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 5 Square-Free Polynomials in GF(&lt;em&gt;p&lt;/em&gt;)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Lemma 15 (page 14): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Suitable_Prime.thy#Suitable_Prime.thy-314"&gt;suitable_prime_bz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 6 Berlekamp&amp;#39;s Algorithm&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Theorem 3 (page 18): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Berlekamp_Type_Based.thy#Berlekamp_Type_Based.thy-3121"&gt;berlekamp_monic_factorization&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 17 (page 19): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Distinct_Degree_Factorization.thy#Distinct_Degree_Factorization.thy-680"&gt;degree_divisor1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 17 (page 19): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Distinct_Degree_Factorization.thy#Distinct_Degree_Factorization.thy-728"&gt;degree_divisor2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Theorem 4 (page 20): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Finite_Field_Factorization.thy#Finite_Field_Factorization.thy-120"&gt;finite_field_factorization&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Theorem 5 (page 22): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Finite_Field_Factorization_Record_Based.thy#Finite_Field_Factorization_Record_Based.thy-592"&gt;finite_field_factorization_int&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 7 Mignotte&amp;#39;s Factor Bound&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Lemma 18 (page 22): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Factor_Bound.thy#Factor_Bound.thy-272"&gt;factor_bound&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 19 (page 24): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Sqrt_Babylonian/Log_Impl.thy#Log_Impl.thy-164"&gt;log_ceiling&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 8 Hensel Lifting&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Lemma 21 (page 27): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Hensel_Lifting_Type_Based.thy#Hensel_Lifting_Type_Based.thy-652"&gt;hensel_1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 22 (page 27): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Hensel_Lifting.thy#Hensel_Lifting.thy-729"&gt;unique_hensel_binary&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Lemma 23 (page 29): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Berlekamp_Hensel.thy#Berlekamp_Hensel.thy-570"&gt;hensel_lifting_unique&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 9 Reconstructing True Factors&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Theorem 6 (page 31): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Reconstruction.thy#Reconstruction.thy-879"&gt;zassenhaus_reconstruction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Section 10 Assembled Factorization Algorithm&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Theorem 7 (page 32): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Berlekamp_Zassenhaus.thy#Berlekamp_Zassenhaus.thy-110"&gt;berlekamp_zassenhaus_factorization_irreducible&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Theorem 8 (page 32): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Factorize_Int_Poly.thy#Factorize_Int_Poly.thy-265"&gt;internal_int_poly_factorization_mem&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Theorem 8 (page 32): &lt;a href="https://bitbucket.org/isa-afp/afp-2018/src/Isabelle2018/thys/Berlekamp_Zassenhaus/Factorize_Int_Poly.thy#Factorize_Int_Poly.thy-289"&gt;internal_int_poly_factorization&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Experiments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One can rerun the experiments as follows:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;&lt;a href="https://zenodo.org/record/2539422/files/Experiments.zip"&gt;Download and extract the attached file&lt;/a&gt;&lt;a href="https://zenodo.org/api/files/a48bcf23-3369-48bd-b60e-a02eb88ed926/formalization_and_experiments.zip"&gt;.&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Inspect the path of the constant binary within the file experiments/Code_Old/Mathematica.hs whether it matches your Mathematica installation. Otherwise you can deactivate the Mathematica experiments by disabling the external factorization in experiments/Experiments/run_experiment.sh.&lt;/li&gt;
	&lt;li&gt;Compile experiments/Code_Old/Main and experiments/Code_New/Main with -O2&lt;/li&gt;
	&lt;li&gt;Invoke ./experiments/Experiments/run_experiments.sh&lt;/li&gt;
	&lt;li&gt;To turn the raw data into .csv-files and generated the Mathematica-graph, change to the experiments/Experiments directory and invoke ./time_tables_to_mathematica.sh&lt;/li&gt;
	&lt;li&gt;To get the pdf-file, paste the output of the previous command into the first line of the Mathematica-file journal_plot.nb&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One can also run the experiments disabling some of the optimizations by means of the files Code_New_No_{...}/Main.hs&lt;/p&gt;

&lt;p&gt;In addition, the Isabelle file Generate_Code.thy generates the Haskell sources.&lt;/p&gt;

&lt;p&gt;The following table contains all the experiments of Figure 1 in the article.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Polynomial &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mathematica&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Old&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;New&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_100.poly.txt"&gt;poly_100.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.478s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.194s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.085s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_101.poly.txt"&gt;poly_101.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.449s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.209s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.095s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_102.poly.txt"&gt;poly_102.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.475s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.247s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.145s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_103.poly.txt"&gt;poly_103.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.491s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.171s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.109s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_104.poly.txt"&gt;poly_104.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.479s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.131s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.096s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_105.poly.txt"&gt;poly_105.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.492s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.276s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.140s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_106.poly.txt"&gt;poly_106.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.458s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.148s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.097s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_107.poly.txt"&gt;poly_107.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.463s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.180s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.107s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_108.poly.txt"&gt;poly_108.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.472s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.216s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.122s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_109.poly.txt"&gt;poly_109.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.477s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.154s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.103s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_110.poly.txt"&gt;poly_110.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.457s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.180s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.119s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_111.poly.txt"&gt;poly_111.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.465s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.218s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.122s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_112.poly.txt"&gt;poly_112.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.487s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.217s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.132s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_113.poly.txt"&gt;poly_113.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.471s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.130s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.084s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_114.poly.txt"&gt;poly_114.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.465s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.269s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.120s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_115.poly.txt"&gt;poly_115.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.464s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.243s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.105s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_116.poly.txt"&gt;poly_116.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.457s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.269s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.122s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_117.poly.txt"&gt;poly_117.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.476s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.333s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.135s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_118.poly.txt"&gt;poly_118.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.498s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.220s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.082s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_119.poly.txt"&gt;poly_119.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.462s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.228s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.134s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_120.poly.txt"&gt;poly_120.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.449s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.318s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.109s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_121.poly.txt"&gt;poly_121.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.485s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.271s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.181s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_122.poly.txt"&gt;poly_122.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.483s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.229s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.108s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_123.poly.txt"&gt;poly_123.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.465s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.254s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.147s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_124.poly.txt"&gt;poly_124.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.495s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.278s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.158s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_125.poly.txt"&gt;poly_125.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.460s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.378s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.157s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_126.poly.txt"&gt;poly_126.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.480s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.306s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.168s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_127.poly.txt"&gt;poly_127.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.476s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.328s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.198s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_128.poly.txt"&gt;poly_128.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.492s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.272s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.144s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_129.poly.txt"&gt;poly_129.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.464s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.421s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.226s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_130.poly.txt"&gt;poly_130.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.483s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.267s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.132s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_131.poly.txt"&gt;poly_131.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.497s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.329s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.158s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_132.poly.txt"&gt;poly_132.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.471s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.482s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.241s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_133.poly.txt"&gt;poly_133.poly&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.493s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.448s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.294s&lt;br&gt;
&lt;a href="http://cl-informatik.uibk.ac.at/software/ceta/experiments/factorization/experiments/poly_134.poly.txt"&gt;poly_134.poly&lt;/a&gt;&amp;nbsp</description>
  </descriptions>
</resource>
474
78
views
downloads
All versions This version
Views 474199
Downloads 7830
Data volume 380.9 MB17.0 MB
Unique views 357166
Unique downloads 7129

Share

Cite as