Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-cvec for openSUSE:Factory checked in at 2024-08-28 21:29:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-cvec (Old) and /work/SRC/openSUSE:Factory/.gap-cvec.new.2698 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-cvec" Wed Aug 28 21:29:28 2024 rev:2 rq:1196330 version:2.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-cvec/gap-cvec.changes 2023-12-28 22:57:08.860974258 +0100 +++ /work/SRC/openSUSE:Factory/.gap-cvec.new.2698/gap-cvec.changes 2024-08-28 21:29:34.333966446 +0200 @@ -1,0 +2,6 @@ +Tue Aug 27 16:05:59 UTC 2024 - Jan Engelhardt <[email protected]> + +- Update to release 2.8.2 + * Do not attempt to read non-existing files + +------------------------------------------------------------------- Old: ---- cvec-2.8.1.tar.bz2 New: ---- _scmsync.obsinfo build.specials.obscpio cvec-2.8.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-cvec.spec ++++++ --- /var/tmp/diff_new_pack.CIzjee/_old 2024-08-28 21:29:36.190043742 +0200 +++ /var/tmp/diff_new_pack.CIzjee/_new 2024-08-28 21:29:36.202044242 +0200 @@ -1,7 +1,7 @@ # # spec file for package gap-cvec # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: gap-cvec -Version: 2.8.1 +Version: 2.8.2 Release: 0 Summary: GAP: Compact vectors over finite fields License: GPL-2.0-or-later @@ -27,12 +27,12 @@ Source: https://github.com/gap-packages/cvec/releases/download/v%version/cvec-%version.tar.bz2 BuildRequires: autoconf BuildRequires: automake -BuildRequires: gap-devel >= 4.10 +BuildRequires: gap-devel >= 4.12 BuildRequires: gap-rpm-devel BuildRequires: gmp-devel BuildRequires: libtool BuildRequires: xz -Requires: gap-core >= 4.10 +Requires: gap-core >= 4.12 Requires: gap-gapdoc >= 1.2 Requires: gap-io >= 4.1 Requires: gap-orb >= 4.2 ++++++ _scmsync.obsinfo ++++++ mtime: 1724774853 commit: cce14533a4141c70fe3ad8d81a1ae0c19cb057e8556dde1ee62b95aee69fb0e2 url: https://src.opensuse.org/jengelh/gap-cvec revision: master ++++++ cvec-2.8.1.tar.bz2 -> cvec-2.8.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/CHANGES new/cvec-2.8.2/CHANGES --- old/cvec-2.8.1/CHANGES 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/CHANGES 2024-08-27 01:03:21.000000000 +0200 @@ -1,5 +1,10 @@ This file describes changes in the cvec package. +2.8.2 (2024-08-27) + - Require GAP >= 4.12 + - Don't attempt to read non-existing files + - Various janitorial changes + 2.8.1 (2023-03-28) - Adjust `CompanionMatrix`, `NewCompanionMatrix` output to match the GAP documentation (i.e., transpose it compared diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/Makefile.gappkg new/cvec-2.8.2/Makefile.gappkg --- old/cvec-2.8.1/Makefile.gappkg 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/Makefile.gappkg 2024-08-27 01:03:21.000000000 +0200 @@ -36,7 +36,7 @@ KEXT_CXXFLAGS += -I$(GAP_LIB_DIR)/src endif -# honor used supplied flags +# honor user supplied flags ALL_CFLAGS := $(KEXT_CFLAGS) $(KEXT_CXXFLAGS) $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) ALL_LDFLAGS := $(KEXT_LDFLAGS) $(LDFLAGS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/PackageInfo.g new/cvec-2.8.2/PackageInfo.g --- old/cvec-2.8.1/PackageInfo.g 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/PackageInfo.g 2024-08-27 01:03:21.000000000 +0200 @@ -7,8 +7,8 @@ PackageName := "cvec", Subtitle := "Compact vectors over finite fields", -Version := "2.8.1", -Date := "28/03/2023", # dd/mm/yyyy format +Version := "2.8.2", +Date := "27/08/2024", # dd/mm/yyyy format License := "GPL-2.0-or-later", ## Information about authors and maintainers. @@ -100,7 +100,7 @@ ), Dependencies := rec( - GAP := ">=4.10", + GAP := ">=4.12", NeededOtherPackages := [ ["GAPDoc", ">= 1.2"], ["IO", ">= 4.1"], @@ -111,9 +111,10 @@ ), AvailabilityTest := function() - if not "cvec" in SHOW_STAT() and - Filename(DirectoriesPackagePrograms("cvec"), "cvec.so") = fail then - #Info(InfoWarning, 1, "cvec: kernel cvec functions not available."); + if not IsKernelExtensionAvailable("cvec") then + LogPackageLoadingMessage(PACKAGE_WARNING, + ["the kernel module is not compiled, ", + "the package cannot be loaded."]); return fail; fi; return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap0.html new/cvec-2.8.2/doc/chap0.html --- old/cvec-2.8.1/doc/chap0.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap0.html 2024-08-27 01:03:40.000000000 +0200 @@ -29,10 +29,10 @@ <h2>Compact vectors over finite fields</h2> <p> - 2.8.1</p> + 2.8.2</p> <p> - 28 March 2023 + 27 August 2024 </p> </div> @@ -332,6 +332,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap0.txt new/cvec-2.8.2/doc/chap0.txt --- old/cvec-2.8.1/doc/chap0.txt 2023-03-28 00:19:14.000000000 +0200 +++ new/cvec-2.8.2/doc/chap0.txt 2024-08-27 01:03:35.000000000 +0200 @@ -6,10 +6,10 @@ [1X Compact vectors over finite fields [101X - 2.8.1 + 2.8.2 - 28 March 2023 + 27 August 2024 Max Neunhöffer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap0_mj.html new/cvec-2.8.2/doc/chap0_mj.html --- old/cvec-2.8.1/doc/chap0_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap0_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Contents</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -32,10 +32,10 @@ <h2>Compact vectors over finite fields</h2> <p> - 2.8.1</p> + 2.8.2</p> <p> - 28 March 2023 + 27 August 2024 </p> </div> @@ -335,6 +335,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap1.html new/cvec-2.8.2/doc/chap1.html --- old/cvec-2.8.1/doc/chap1.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap1.html 2024-08-27 01:03:40.000000000 +0200 @@ -45,7 +45,7 @@ <p>The main purpose of this implementation is to use it in <strong class="pkg">MeatAxe</strong>-like applications, that is, working with matrices consisting of compressed vectors over finite fields, doing linear algebra calculations like nullspaces, spinning of vectors, multiplying and inverting matrices and the like. Another purpose could be matrix group calculations. Usually in such computations, the base field does not change too often and not many different lengths of vectors occur. This implementation is optimized with these applications in mind and might not be very efficient for other purposes like using compressed vectors as coefficient lists of polynomials.</p> -<p>Another important point is that compressed vectors in this package do not even try to behave exactly like <strong class="pkg">GAP</strong> lists. To the contrary, they disallow many operations that are possible for <strong class="pkg">GAP</strong> lists for example changing their length or assigning arbitrary <strong class="pkg">GAP</strong> objects to positions in the vector. The reason for this is that the chosen data structure does not allow to assign anything but elements of the one base field to positions in the vector and the option to change the representation "on the fly" is not desirable in most applications. On the other hand one can be relatively sure not to "lose compression" along the way.</p> +<p>Another important point is that compressed vectors in this package do not even try to behave exactly like <strong class="pkg">GAP</strong> lists. To the contrary, they disallow many operations that are possible for <strong class="pkg">GAP</strong> lists for example changing their length or assigning arbitrary <strong class="pkg">GAP</strong> objects to positions in the vector. The reason for this is that the chosen data structure does not allow to assign anything but elements of the one base field to positions in the vector and the option to change the representation <q>on the fly</q> is not desirable in most applications. On the other hand one can be relatively sure not to <q>lose compression</q> along the way.</p> <p><a id="X786BACDB82918A65" name="X786BACDB82918A65"></a></p> @@ -66,6 +66,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap1_mj.html new/cvec-2.8.2/doc/chap1_mj.html --- old/cvec-2.8.1/doc/chap1_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap1_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 1: Introduction</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -48,7 +48,7 @@ <p>The main purpose of this implementation is to use it in <strong class="pkg">MeatAxe</strong>-like applications, that is, working with matrices consisting of compressed vectors over finite fields, doing linear algebra calculations like nullspaces, spinning of vectors, multiplying and inverting matrices and the like. Another purpose could be matrix group calculations. Usually in such computations, the base field does not change too often and not many different lengths of vectors occur. This implementation is optimized with these applications in mind and might not be very efficient for other purposes like using compressed vectors as coefficient lists of polynomials.</p> -<p>Another important point is that compressed vectors in this package do not even try to behave exactly like <strong class="pkg">GAP</strong> lists. To the contrary, they disallow many operations that are possible for <strong class="pkg">GAP</strong> lists for example changing their length or assigning arbitrary <strong class="pkg">GAP</strong> objects to positions in the vector. The reason for this is that the chosen data structure does not allow to assign anything but elements of the one base field to positions in the vector and the option to change the representation "on the fly" is not desirable in most applications. On the other hand one can be relatively sure not to "lose compression" along the way.</p> +<p>Another important point is that compressed vectors in this package do not even try to behave exactly like <strong class="pkg">GAP</strong> lists. To the contrary, they disallow many operations that are possible for <strong class="pkg">GAP</strong> lists for example changing their length or assigning arbitrary <strong class="pkg">GAP</strong> objects to positions in the vector. The reason for this is that the chosen data structure does not allow to assign anything but elements of the one base field to positions in the vector and the option to change the representation <q>on the fly</q> is not desirable in most applications. On the other hand one can be relatively sure not to <q>lose compression</q> along the way.</p> <p><a id="X786BACDB82918A65" name="X786BACDB82918A65"></a></p> @@ -69,6 +69,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap2.html new/cvec-2.8.2/doc/chap2.html --- old/cvec-2.8.1/doc/chap2.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap2.html 2024-08-27 01:03:40.000000000 +0200 @@ -69,7 +69,7 @@ <p>respectively.</p> -<p>Do this in a directory called "<code class="file">pkg</code>", preferably (but not necessarily) in the "<code class="file">pkg</code>" subdirectory of your <strong class="pkg">GAP</strong> 4 installation. It creates a subdirectory called "<code class="file">cvec</code>".</p> +<p>Do this in a directory called <q><code class="file">pkg</code></q>, preferably (but not necessarily) in the <q><code class="file">pkg</code></q> subdirectory of your <strong class="pkg">GAP</strong> 4 installation. It creates a subdirectory called <q><code class="file">cvec</code></q>.</p> <p>The package will not work without the following compilation step.</p> @@ -84,9 +84,9 @@ </pre> -<p>If you installed the package in another "<code class="file">pkg</code>" directory than the standard "<code class="file">pkg</code>" directory in your <strong class="pkg">GAP</strong> 4 installation, then you have to do two things. Firstly during compilation you have to use the option <code class="code">--with-gaproot=PATH</code> of the <code class="file">configure</code> script where "PATH" is a path to the main <strong class="pkg">GAP</strong> root directory (if not given the default "<code class="file">../..</code>" is assumed).</p> +<p>If you installed the package in another <q><code class="file">pkg</code></q> directory than the standard <q><code class="file">pkg</code></q> directory in your <strong class="pkg">GAP</strong> 4 installation, then you have to do two things. Firstly during compilation you have to use the option <code class="code">--with-gaproot=PATH</code> of the <code class="file">configure</code> script where <q>PATH</q> is a path to the main <strong class="pkg">GAP</strong> root directory (if not given the default <q><code class="file">../..</code></q> is assumed).</p> -<p>Secondly you have to specify the path to the directory containing your "<code class="file">pkg</code>" directory to <strong class="pkg">GAP</strong>'s list of directories. This can be done by starting <strong class="pkg">GAP</strong> with the "<code class="file">-l</code>" command line option followed by the name of the directory and a semicolon. Then your directory is prepended to the list of directories searched. Otherwise the package is not found by <strong class="pkg">GAP</strong>. Of course, you can add this option to your <strong class="pkg">GAP</strong> startup script.</p> +<p>Secondly you have to specify the path to the directory containing your <q><code class="file">pkg</code></q> directory to <strong class="pkg">GAP</strong>'s list of directories. This can be done by starting <strong class="pkg">GAP</strong> with the <q><code class="file">-l</code></q> command line option followed by the name of the directory and a semicolon. Then your directory is prepended to the list of directories searched. Otherwise the package is not found by <strong class="pkg">GAP</strong>. Of course, you can add this option to your <strong class="pkg">GAP</strong> startup script.</p> <div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap1.html">[Previous Chapter]</a> <a href="chap3.html">[Next Chapter]</a> </div> @@ -95,6 +95,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap2_mj.html new/cvec-2.8.2/doc/chap2_mj.html --- old/cvec-2.8.1/doc/chap2_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap2_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 2: Installation of the cvec-Package</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -72,7 +72,7 @@ <p>respectively.</p> -<p>Do this in a directory called "<code class="file">pkg</code>", preferably (but not necessarily) in the "<code class="file">pkg</code>" subdirectory of your <strong class="pkg">GAP</strong> 4 installation. It creates a subdirectory called "<code class="file">cvec</code>".</p> +<p>Do this in a directory called <q><code class="file">pkg</code></q>, preferably (but not necessarily) in the <q><code class="file">pkg</code></q> subdirectory of your <strong class="pkg">GAP</strong> 4 installation. It creates a subdirectory called <q><code class="file">cvec</code></q>.</p> <p>The package will not work without the following compilation step.</p> @@ -87,9 +87,9 @@ </pre> -<p>If you installed the package in another "<code class="file">pkg</code>" directory than the standard "<code class="file">pkg</code>" directory in your <strong class="pkg">GAP</strong> 4 installation, then you have to do two things. Firstly during compilation you have to use the option <code class="code">--with-gaproot=PATH</code> of the <code class="file">configure</code> script where "PATH" is a path to the main <strong class="pkg">GAP</strong> root directory (if not given the default "<code class="file">../..</code>" is assumed).</p> +<p>If you installed the package in another <q><code class="file">pkg</code></q> directory than the standard <q><code class="file">pkg</code></q> directory in your <strong class="pkg">GAP</strong> 4 installation, then you have to do two things. Firstly during compilation you have to use the option <code class="code">--with-gaproot=PATH</code> of the <code class="file">configure</code> script where <q>PATH</q> is a path to the main <strong class="pkg">GAP</strong> root directory (if not given the default <q><code class="file">../..</code></q> is assumed).</p> -<p>Secondly you have to specify the path to the directory containing your "<code class="file">pkg</code>" directory to <strong class="pkg">GAP</strong>'s list of directories. This can be done by starting <strong class="pkg">GAP</strong> with the "<code class="file">-l</code>" command line option followed by the name of the directory and a semicolon. Then your directory is prepended to the list of directories searched. Otherwise the package is not found by <strong class="pkg">GAP</strong>. Of course, you can add this option to your <strong class="pkg">GAP</strong> startup script.</p> +<p>Secondly you have to specify the path to the directory containing your <q><code class="file">pkg</code></q> directory to <strong class="pkg">GAP</strong>'s list of directories. This can be done by starting <strong class="pkg">GAP</strong> with the <q><code class="file">-l</code></q> command line option followed by the name of the directory and a semicolon. Then your directory is prepended to the list of directories searched. Otherwise the package is not found by <strong class="pkg">GAP</strong>. Of course, you can add this option to your <strong class="pkg">GAP</strong> startup script.</p> <div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a> <a href="chap0_mj.html#contents">[Contents]</a> <a href="chap1_mj.html">[Previous Chapter]</a> <a href="chap3_mj.html">[Next Chapter]</a> </div> @@ -98,6 +98,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap3.html new/cvec-2.8.2/doc/chap3.html --- old/cvec-2.8.1/doc/chap3.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap3.html 2024-08-27 01:03:40.000000000 +0200 @@ -60,7 +60,7 @@ <p>Throughout the package, elements in the field <span class="SimpleMath">GF(p)</span> of <span class="SimpleMath">p</span> elements are represented by numbers <span class="SimpleMath">0,1,...,p-1</span> and arithmetic is just the standard arithmetic in the integers modulo <span class="SimpleMath">p</span>.</p> -<p>Bigger finite fields are done by calculating in the polynomial ring <span class="SimpleMath">GF(p)[x]</span> in one indeterminate <span class="SimpleMath">x</span> modulo a certain irreducible polynomial. By convention, we use the so-called "Conway polynomials" (see <span class="URL"><a href="http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html">http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html</a></span>) for this purpose, because they provide a standard way of embedding finite fields into their extension fields. Because Conway polynomials are monic, we can store coset representatives by storing polynomials of degree less than <span class="SimpleMath">d</span>, where <span class="SimpleMath">d</span> is the degree of the finite field over its prime field.</p> +<p>Bigger finite fields are done by calculating in the polynomial ring <span class="SimpleMath">GF(p)[x]</span> in one indeterminate <span class="SimpleMath">x</span> modulo a certain irreducible polynomial. By convention, we use the so-called <q>Conway polynomials</q> (see <span class="URL"><a href="http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html">http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html</a></span>) for this purpose, because they provide a standard way of embedding finite fields into their extension fields. Because Conway polynomials are monic, we can store coset representatives by storing polynomials of degree less than <span class="SimpleMath">d</span>, where <span class="SimpleMath">d</span> is the degree of the finite field over its prime field.</p> <p>As of this writing, <strong class="pkg">GAP</strong> has two implementation of finite field elements built into its kernel and library, the first of which stores finite field elements by storing the discrete logarithm with respect to a primitive root of the field. Although this is nice and efficient for small finite fields, it becomes unhandy for larger finite fields, because one needs a lookup table of length <span class="SimpleMath">p^d</span> for doing efficient addition. This implementation thus is limited to fields with less than or equal to <span class="SimpleMath">65536</span> elements. The other implementation using polynomial arithmetic modulo the Conway polynomial is used for fields with more than <span class="SimpleMath">65536</span> elements. For prime fields of characteristic <span class="SimpleMath">p</span> with more than that elements, there is an implementation using integers modulo <span class="SimpleMath">p</span>.</p> @@ -74,7 +74,7 @@ <p>For this section, we assume that the base field is <span class="SimpleMath">GF(p^d)</span>, the finite field with <span class="SimpleMath">p^d</span> elements, where <span class="SimpleMath">p</span> is a prime and <span class="SimpleMath">d</span> is a positive integer. This is realized as a field extension of degree <span class="SimpleMath">d</span> over the prime field <span class="SimpleMath">GF(p)</span> using the Conway polynomial <span class="SimpleMath">c â GF(p)[x]</span>. We always represent field elements of <span class="SimpleMath">GF(p^d)</span> by polynomials <span class="Math">a = \sum_{{i=0}}^{{d-1}} a_i x^i</span> where the coefficients <span class="SimpleMath">a_i</span> are in <span class="SimpleMath">GF(p)</span>. Because <span class="SimpleMath">c</span> is monic, this gives a one-to-one correspondence between polynomials and finite field elements.</p> -<p>The memory layout for compressed vectors is determined by two important constants, depending only on <span class="SimpleMath">p</span> and the word length of the machine. The word length is 4 bytes on 32bit machines (for example on the i386 architecture) and 8 bytes on 64bit machines (for example on the AMD64 architecture). More concretely, a "<code class="code">Word</code>" is an <code class="code">unsigned long int</code> in C and the length of a <code class="code">Word</code> is <code class="code">sizeof(unsigned long int)</code>.</p> +<p>The memory layout for compressed vectors is determined by two important constants, depending only on <span class="SimpleMath">p</span> and the word length of the machine. The word length is 4 bytes on 32bit machines (for example on the i386 architecture) and 8 bytes on 64bit machines (for example on the AMD64 architecture). More concretely, a <q><code class="code">Word</code></q> is an <code class="code">unsigned long int</code> in C and the length of a <code class="code">Word</code> is <code class="code">sizeof(unsigned long int)</code>.</p> <p>Those constants are <code class="code">bitsperel</code> (bits per prime field element) and <code class="code">elsperword</code> (prime field elements per <code class="code">Word</code>). <code class="code">bitsperel</code> is <span class="SimpleMath">1</span> for <span class="SimpleMath">p=2</span> and otherwise the smallest integer, such that <span class="SimpleMath">2^bitsperel > 2â p-1</span>. This means, that we can store the numbers from <span class="SimpleMath">0</span> to <span class="SimpleMath">2â p - 1</span> in <code class="code">bitsperel</code> bits. <code class="code">elsperword</code> is <span class="SimpleMath">32/bitsperel</span> rounded down to the next integer and multiplied by <span class="SimpleMath">2</span> if the length of a <code class="code">Word</code> is <span class="SimpleMath">8</span> bytes. Note that we thus store as many prime field elements as possible into one <code class="code">Word</code>, however, on 64bit machines we store only twice as much as would fit into 32bit, even if we could pack one more into a <code class="code">Word</code>. This has technical reasons to make conversion between different architectures more efficient.</p> @@ -98,7 +98,7 @@ <p>(The exclamation marks mark the right hand side of the prime field elements.)</p> -<p>Note that different architectures store their <code class="code">Word</code>s in a different byte order in memory ("endianess"). We do <em>not</em> specify how the data is distributed into bytes here! All access is via <code class="code">Word</code>s and their arithmetic (shifting, addition, multiplication, etc.). See Section <a href="chap3.html#X783395FC81A451F3"><span class="RefLink">3.4</span></a> for a discussion of this with respect to our external representation.</p> +<p>Note that different architectures store their <code class="code">Word</code>s in a different byte order in memory (<q>endianess</q>). We do <em>not</em> specify how the data is distributed into bytes here! All access is via <code class="code">Word</code>s and their arithmetic (shifting, addition, multiplication, etc.). See Section <a href="chap3.html#X783395FC81A451F3"><span class="RefLink">3.4</span></a> for a discussion of this with respect to our external representation.</p> <p><a id="X7C195F41802266B7" name="X7C195F41802266B7"></a></p> @@ -126,13 +126,13 @@ VVV higher memory addresses VVV </pre></div> -<p>A "<code class="code">cvec</code>" (one of our compressed vectors) is a <strong class="pkg">GAP</strong> "Data object" (that is with <code class="code">TNUM</code> equal to <code class="code">T_DATOBJ</code>). The first machine word in its bag is a pointer to its type, from the second machine word on the <code class="code">Word</code>s containing the above data are stored. The bag is exactly long enough to hold the type pointer and the data <code class="code">Word</code>s.</p> +<p>A <q><code class="code">cvec</code></q> (one of our compressed vectors) is a <strong class="pkg">GAP</strong> <q>Data object</q> (that is with <code class="code">TNUM</code> equal to <code class="code">T_DATOBJ</code>). The first machine word in its bag is a pointer to its type, from the second machine word on the <code class="code">Word</code>s containing the above data are stored. The bag is exactly long enough to hold the type pointer and the data <code class="code">Word</code>s.</p> <p><a id="X819040FD7BCBABB2" name="X819040FD7BCBABB2"></a></p> <h5>3.2-3 <span class="Heading">How is information about the base field stored?</span></h5> -<p>But how does the system know, over which field the vector is and how long it is? The type of a <strong class="pkg">GAP</strong> object consists of <span class="SimpleMath">3</span> pieces: A family, a bit list (for the filters), and one <strong class="pkg">GAP</strong> object for "defining data". The additional information about the vector is stored in the third piece, the defining data, and is called a "<code class="code">cvecclass</code>".</p> +<p>But how does the system know, over which field the vector is and how long it is? The type of a <strong class="pkg">GAP</strong> object consists of <span class="SimpleMath">3</span> pieces: A family, a bit list (for the filters), and one <strong class="pkg">GAP</strong> object for <q>defining data</q>. The additional information about the vector is stored in the third piece, the defining data, and is called a <q><code class="code">cvecclass</code></q>.</p> <p>A <code class="code">cvecclass</code> is a positional object with <span class="SimpleMath">5</span> components:</p> @@ -271,7 +271,7 @@ <h5>3.2-4 <span class="Heading">Limits that follow from the Data Format</span></h5> -<p>The following limits come from the above mentioned data format or other internal restrictions (an "immediate integer" in <strong class="pkg">GAP</strong> can take values between <span class="SimpleMath">2^{-28}</span> and <span class="SimpleMath">(2^{28})-1</span> inclusively on 32bit machines and between <span class="SimpleMath">2^{-60}</span> and <span class="SimpleMath">(2^{60})-1</span> on 64bit machines):</p> +<p>The following limits come from the above mentioned data format or other internal restrictions (an <q>immediate integer</q> in <strong class="pkg">GAP</strong> can take values between <span class="SimpleMath">2^{-28}</span> and <span class="SimpleMath">(2^{28})-1</span> inclusively on 32bit machines and between <span class="SimpleMath">2^{-60}</span> and <span class="SimpleMath">(2^{60})-1</span> on 64bit machines):</p> <ul> @@ -331,7 +331,7 @@ <p>The component <code class="code">greasehint</code> contains the greasing level for the next matrix multiplication, in which this matrix occurs as the factor on the right hand side (if greasing is worth the effort, see Section <a href="chap5.html#X7DA0D38A7D5DBDFF"><span class="RefLink">5.8</span></a>).</p> -<p>A <code class="code">cmat</code> can be "pre-greased", which just means, that a certain number of linear combinations of its rows is already precomputed (see Section <a href="chap5.html#X7DA0D38A7D5DBDFF"><span class="RefLink">5.8</span></a>). In that case, the object is in the additional filter <code class="code">HasGreaseTab</code> and the following components are bound additionally:</p> +<p>A <code class="code">cmat</code> can be <q>pre-greased</q>, which just means, that a certain number of linear combinations of its rows is already precomputed (see Section <a href="chap5.html#X7DA0D38A7D5DBDFF"><span class="RefLink">5.8</span></a>). In that case, the object is in the additional filter <code class="code">HasGreaseTab</code> and the following components are bound additionally:</p> <div class="pcenter"><table class="GAPDocTable"> <caption class="GAPDocTable"><b>Table: </b>Additional components of a <code class="code">cmat</code> object when pre-greased @@ -367,7 +367,7 @@ <h5>3.4-1 <span class="Heading">Byte ordering and word length</span></h5> -<p>This section describes the external representation of matrices. A special data format is needed here, because of differences between computer architectures with respect to word length (32bit/64bit) and endianess. The term "endianess" refers to the fact, that different architectures store their long words in a different way in memory, namely they order the bytes that together make up a long word in different orders.</p> +<p>This section describes the external representation of matrices. A special data format is needed here, because of differences between computer architectures with respect to word length (32bit/64bit) and endianess. The term <q>endianess</q> refers to the fact, that different architectures store their long words in a different way in memory, namely they order the bytes that together make up a long word in different orders.</p> <p>The external representation is the same as the internal format of a 32bit machine with little endianess, which means, that the lower significant bytes of a <code class="code">Word</code> are stored in lower addresses. The reasons for this decision are firstly that 64bit machines can do the bit shifting to convert between internal and external representation easier using their wide registers, and secondly, that the nowadays most popular architectures i386 and AMD64 use both little endianess, such that conversion is only necessary on a minority of machines.</p> @@ -380,7 +380,7 @@ <div class="pcenter"><table class="GAPDocTablenoborder"> <caption class="GAPDocTable"><b>Table: </b>Header of a <code class="code">cmat</code> file</caption> <tr> -<td class="tdleft">the magic value "<code class="code">GAPCMat1</code>" as ASCII letters (8 bytes) in this order</td> +<td class="tdleft">the magic value <q><code class="code">GAPCMat1</code></q> as ASCII letters (8 bytes) in this order</td> </tr> <tr> <td class="tdleft">the value of <span class="SimpleMath">p</span> to describe the base field</td> @@ -408,6 +408,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap3_mj.html new/cvec-2.8.2/doc/chap3_mj.html --- old/cvec-2.8.1/doc/chap3_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap3_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 3: The Data Structures</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -63,7 +63,7 @@ <p>Throughout the package, elements in the field <span class="SimpleMath">\(GF(p)\)</span> of <span class="SimpleMath">\(p\)</span> elements are represented by numbers <span class="SimpleMath">\(0,1,\ldots,p-1\)</span> and arithmetic is just the standard arithmetic in the integers modulo <span class="SimpleMath">\(p\)</span>.</p> -<p>Bigger finite fields are done by calculating in the polynomial ring <span class="SimpleMath">\(GF(p)[x]\)</span> in one indeterminate <span class="SimpleMath">\(x\)</span> modulo a certain irreducible polynomial. By convention, we use the so-called "Conway polynomials" (see <span class="URL"><a href="http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html">http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html</a></span>) for this purpose, because they provide a standard way of embedding finite fields into their extension fields. Because Conway polynomials are monic, we can store coset representatives by storing polynomials of degree less than <span class="SimpleMath">\(d\)</span>, where <span class="SimpleMath">\(d\)</span> is the degree of the finite field over its prime field.</p> +<p>Bigger finite fields are done by calculating in the polynomial ring <span class="SimpleMath">\(GF(p)[x]\)</span> in one indeterminate <span class="SimpleMath">\(x\)</span> modulo a certain irreducible polynomial. By convention, we use the so-called <q>Conway polynomials</q> (see <span class="URL"><a href="http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html">http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/ConwayPol/index.html</a></span>) for this purpose, because they provide a standard way of embedding finite fields into their extension fields. Because Conway polynomials are monic, we can store coset representatives by storing polynomials of degree less than <span class="SimpleMath">\(d\)</span>, where <span class="SimpleMath">\(d\)</span> is the degree of the finite field over its prime field.</p> <p>As of this writing, <strong class="pkg">GAP</strong> has two implementation of finite field elements built into its kernel and library, the first of which stores finite field elements by storing the discrete logarithm with respect to a primitive root of the field. Although this is nice and efficient for small finite fields, it becomes unhandy for larger finite fields, because one needs a lookup table of length <span class="SimpleMath">\(p^d\)</span> for doing efficient addition. This implementation thus is limited to fields with less than or equal to <span class="SimpleMath">\(65536\)</span> elements. The other implementation using polynomial arithmetic modulo the Conway polynomial is used for fields with more than <span class="SimpleMath">\(65536\)</span> elements. For prime fields of characteristic <span class="SimpleMath">\(p\)</span> with more than that elements, there is an implementation using integers modulo <span class="SimpleMath">\(p\)</span>.</p> @@ -77,7 +77,7 @@ <p>For this section, we assume that the base field is <span class="SimpleMath">\(GF(p^d)\)</span>, the finite field with <span class="SimpleMath">\(p^d\)</span> elements, where <span class="SimpleMath">\(p\)</span> is a prime and <span class="SimpleMath">\(d\)</span> is a positive integer. This is realized as a field extension of degree <span class="SimpleMath">\(d\)</span> over the prime field <span class="SimpleMath">\(GF(p)\)</span> using the Conway polynomial <span class="SimpleMath">\(c \in GF(p)[x]\)</span>. We always represent field elements of <span class="SimpleMath">\(GF(p^d)\)</span> by polynomials <span class="SimpleMath">\(a = \sum_{{i=0}}^{{d-1}} a_i x^i\)</span> where the coefficients <span class="SimpleMath">\(a_i\)</span> are in <span class="SimpleMath">\(GF(p)\)</span>. Because <span class="SimpleMath">\(c\)</span> is monic, this gives a one-to-one correspondence between polynomials and finite field elements.</p> -<p>The memory layout for compressed vectors is determined by two important constants, depending only on <span class="SimpleMath">\(p\)</span> and the word length of the machine. The word length is 4 bytes on 32bit machines (for example on the i386 architecture) and 8 bytes on 64bit machines (for example on the AMD64 architecture). More concretely, a "<code class="code">Word</code>" is an <code class="code">unsigned long int</code> in C and the length of a <code class="code">Word</code> is <code class="code">sizeof(unsigned long int)</code>.</p> +<p>The memory layout for compressed vectors is determined by two important constants, depending only on <span class="SimpleMath">\(p\)</span> and the word length of the machine. The word length is 4 bytes on 32bit machines (for example on the i386 architecture) and 8 bytes on 64bit machines (for example on the AMD64 architecture). More concretely, a <q><code class="code">Word</code></q> is an <code class="code">unsigned long int</code> in C and the length of a <code class="code">Word</code> is <code class="code">sizeof(unsigned long int)</code>.</p> <p>Those constants are <code class="code">bitsperel</code> (bits per prime field element) and <code class="code">elsperword</code> (prime field elements per <code class="code">Word</code>). <code class="code">bitsperel</code> is <span class="SimpleMath">\(1\)</span> for <span class="SimpleMath">\(p=2\)</span> and otherwise the smallest integer, such that <span class="SimpleMath">\(2^bitsperel > 2\cdot p-1\)</span>. This means, that we can store the numbers from <span class="SimpleMath">\(0\)</span> to <span class="SimpleMath">\(2\cdot p - 1\)</span> in <code class="code">bitsperel</code> bits. <code class="code">elsperword</code> is <span class="SimpleMath">\(32/bitsperel\)</span> rounded down to the next integer and multiplied by <span class="SimpleMath">\(2\)</span> if the length of a <code class="code">Word</code> is <span class="SimpleMath">\(8\)</span> bytes. Note that we thus store as many prime field elements as possible into one <code class="code">Word</code>, however, on 64bit machines we store only twice as much as would fit into 32bit, even if we could pack one more into a <code class="code">Word</code>. This has technical reasons to make conversion between different architectures more efficient.</p> @@ -101,7 +101,7 @@ <p>(The exclamation marks mark the right hand side of the prime field elements.)</p> -<p>Note that different architectures store their <code class="code">Word</code>s in a different byte order in memory ("endianess"). We do <em>not</em> specify how the data is distributed into bytes here! All access is via <code class="code">Word</code>s and their arithmetic (shifting, addition, multiplication, etc.). See Section <a href="chap3_mj.html#X783395FC81A451F3"><span class="RefLink">3.4</span></a> for a discussion of this with respect to our external representation.</p> +<p>Note that different architectures store their <code class="code">Word</code>s in a different byte order in memory (<q>endianess</q>). We do <em>not</em> specify how the data is distributed into bytes here! All access is via <code class="code">Word</code>s and their arithmetic (shifting, addition, multiplication, etc.). See Section <a href="chap3_mj.html#X783395FC81A451F3"><span class="RefLink">3.4</span></a> for a discussion of this with respect to our external representation.</p> <p><a id="X7C195F41802266B7" name="X7C195F41802266B7"></a></p> @@ -129,13 +129,13 @@ VVV higher memory addresses VVV </pre></div> -<p>A "<code class="code">cvec</code>" (one of our compressed vectors) is a <strong class="pkg">GAP</strong> "Data object" (that is with <code class="code">TNUM</code> equal to <code class="code">T_DATOBJ</code>). The first machine word in its bag is a pointer to its type, from the second machine word on the <code class="code">Word</code>s containing the above data are stored. The bag is exactly long enough to hold the type pointer and the data <code class="code">Word</code>s.</p> +<p>A <q><code class="code">cvec</code></q> (one of our compressed vectors) is a <strong class="pkg">GAP</strong> <q>Data object</q> (that is with <code class="code">TNUM</code> equal to <code class="code">T_DATOBJ</code>). The first machine word in its bag is a pointer to its type, from the second machine word on the <code class="code">Word</code>s containing the above data are stored. The bag is exactly long enough to hold the type pointer and the data <code class="code">Word</code>s.</p> <p><a id="X819040FD7BCBABB2" name="X819040FD7BCBABB2"></a></p> <h5>3.2-3 <span class="Heading">How is information about the base field stored?</span></h5> -<p>But how does the system know, over which field the vector is and how long it is? The type of a <strong class="pkg">GAP</strong> object consists of <span class="SimpleMath">\(3\)</span> pieces: A family, a bit list (for the filters), and one <strong class="pkg">GAP</strong> object for "defining data". The additional information about the vector is stored in the third piece, the defining data, and is called a "<code class="code">cvecclass</code>".</p> +<p>But how does the system know, over which field the vector is and how long it is? The type of a <strong class="pkg">GAP</strong> object consists of <span class="SimpleMath">\(3\)</span> pieces: A family, a bit list (for the filters), and one <strong class="pkg">GAP</strong> object for <q>defining data</q>. The additional information about the vector is stored in the third piece, the defining data, and is called a <q><code class="code">cvecclass</code></q>.</p> <p>A <code class="code">cvecclass</code> is a positional object with <span class="SimpleMath">\(5\)</span> components:</p> @@ -274,7 +274,7 @@ <h5>3.2-4 <span class="Heading">Limits that follow from the Data Format</span></h5> -<p>The following limits come from the above mentioned data format or other internal restrictions (an "immediate integer" in <strong class="pkg">GAP</strong> can take values between <span class="SimpleMath">\(2^{{-28}}\)</span> and <span class="SimpleMath">\((2^{{28}})-1\)</span> inclusively on 32bit machines and between <span class="SimpleMath">\(2^{{-60}}\)</span> and <span class="SimpleMath">\((2^{{60}})-1\)</span> on 64bit machines):</p> +<p>The following limits come from the above mentioned data format or other internal restrictions (an <q>immediate integer</q> in <strong class="pkg">GAP</strong> can take values between <span class="SimpleMath">\(2^{{-28}}\)</span> and <span class="SimpleMath">\((2^{{28}})-1\)</span> inclusively on 32bit machines and between <span class="SimpleMath">\(2^{{-60}}\)</span> and <span class="SimpleMath">\((2^{{60}})-1\)</span> on 64bit machines):</p> <ul> @@ -334,7 +334,7 @@ <p>The component <code class="code">greasehint</code> contains the greasing level for the next matrix multiplication, in which this matrix occurs as the factor on the right hand side (if greasing is worth the effort, see Section <a href="chap5_mj.html#X7DA0D38A7D5DBDFF"><span class="RefLink">5.8</span></a>).</p> -<p>A <code class="code">cmat</code> can be "pre-greased", which just means, that a certain number of linear combinations of its rows is already precomputed (see Section <a href="chap5_mj.html#X7DA0D38A7D5DBDFF"><span class="RefLink">5.8</span></a>). In that case, the object is in the additional filter <code class="code">HasGreaseTab</code> and the following components are bound additionally:</p> +<p>A <code class="code">cmat</code> can be <q>pre-greased</q>, which just means, that a certain number of linear combinations of its rows is already precomputed (see Section <a href="chap5_mj.html#X7DA0D38A7D5DBDFF"><span class="RefLink">5.8</span></a>). In that case, the object is in the additional filter <code class="code">HasGreaseTab</code> and the following components are bound additionally:</p> <div class="pcenter"><table class="GAPDocTable"> <caption class="GAPDocTable"><b>Table: </b>Additional components of a <code class="code">cmat</code> object when pre-greased @@ -370,7 +370,7 @@ <h5>3.4-1 <span class="Heading">Byte ordering and word length</span></h5> -<p>This section describes the external representation of matrices. A special data format is needed here, because of differences between computer architectures with respect to word length (32bit/64bit) and endianess. The term "endianess" refers to the fact, that different architectures store their long words in a different way in memory, namely they order the bytes that together make up a long word in different orders.</p> +<p>This section describes the external representation of matrices. A special data format is needed here, because of differences between computer architectures with respect to word length (32bit/64bit) and endianess. The term <q>endianess</q> refers to the fact, that different architectures store their long words in a different way in memory, namely they order the bytes that together make up a long word in different orders.</p> <p>The external representation is the same as the internal format of a 32bit machine with little endianess, which means, that the lower significant bytes of a <code class="code">Word</code> are stored in lower addresses. The reasons for this decision are firstly that 64bit machines can do the bit shifting to convert between internal and external representation easier using their wide registers, and secondly, that the nowadays most popular architectures i386 and AMD64 use both little endianess, such that conversion is only necessary on a minority of machines.</p> @@ -383,7 +383,7 @@ <div class="pcenter"><table class="GAPDocTablenoborder"> <caption class="GAPDocTable"><b>Table: </b>Header of a <code class="code">cmat</code> file</caption> <tr> -<td class="tdleft">the magic value "<code class="code">GAPCMat1</code>" as ASCII letters (8 bytes) in this order</td> +<td class="tdleft">the magic value <q><code class="code">GAPCMat1</code></q> as ASCII letters (8 bytes) in this order</td> </tr> <tr> <td class="tdleft">the value of <span class="SimpleMath">\(p\)</span> to describe the base field</td> @@ -411,6 +411,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap4.html new/cvec-2.8.2/doc/chap4.html --- old/cvec-2.8.1/doc/chap4.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap4.html 2024-08-27 01:03:40.000000000 +0200 @@ -384,7 +384,7 @@ <p>This is a method for (reading) element access of vectors. <var class="Arg">v</var> must be a <var class="Arg">cvec</var> and <var class="Arg">pos</var> must be a positive integer not greater than the length of <var class="Arg">v</var>. The finite field element at position <var class="Arg">pos</var> in <var class="Arg">v</var> is returned.</p> -<p>Note that the list access syntax "<var class="Arg">v</var>[<var class="Arg">pos</var>]" triggers a call to the <code class="func">ELM_LIST</code> operation.</p> +<p>Note that the list access syntax <q><var class="Arg">v</var>[<var class="Arg">pos</var>]</q> triggers a call to the <code class="func">ELM_LIST</code> operation.</p> <p><a id="X829C3BD17C7A6F4F" name="X829C3BD17C7A6F4F"></a></p> @@ -397,7 +397,7 @@ <p>The scalar <var class="Arg">s</var> is treated exactly as described in Subsection <a href="chap4.html#X788A3D6482290F7D"><span class="RefLink">4.2-1</span></a>.</p> -<p>Note that the list access syntax "<var class="Arg">v</var><code class="code">[</code><var class="Arg">pos</var><code class="code">] := </code><var class="Arg">s</var>" triggers a call to the <code class="func">ASS_LIST</code> operation.</p> +<p>Note that the list access syntax <q><var class="Arg">v</var><code class="code">[</code><var class="Arg">pos</var><code class="code">] := </code><var class="Arg">s</var></q> triggers a call to the <code class="func">ASS_LIST</code> operation.</p> <p><a id="X7E3A8E51853DEC58" name="X7E3A8E51853DEC58"></a></p> @@ -408,7 +408,7 @@ <p>This is a method for (reading) slice access of vectors. <var class="Arg">v</var> must be a <var class="Arg">cvec</var> and <var class="Arg">l</var> must be a range object or a list of positive integers not greater than the length of <var class="Arg">v</var>. In both cases the list of numbers must be contiguous list of valid positions in the vector. A new <code class="code">cvec</code> over the same field as <var class="Arg">v</var> and with the same length as <var class="Arg">l</var> is created and returned. The finite field element at i positions <var class="Arg">l</var> in <var class="Arg">v</var> are copied into the new vector.</p> -<p>Note that the list slice access syntax "<var class="Arg">v</var>{<var class="Arg">l</var>}" triggers a call to the <code class="func">ELMS_LIST</code> operation.</p> +<p>Note that the list slice access syntax <q><var class="Arg">v</var>{<var class="Arg">l</var>}</q> triggers a call to the <code class="func">ELMS_LIST</code> operation.</p> <p>Note that there intentionally is no write slice access to <code class="code">cvec</code>s, because in most cases this would lead to code that unnecessarily copies data around in an expensive way. Please use the following function instead:</p> @@ -609,6 +609,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap4_mj.html new/cvec-2.8.2/doc/chap4_mj.html --- old/cvec-2.8.1/doc/chap4_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap4_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 4: Vectors</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -387,7 +387,7 @@ <p>This is a method for (reading) element access of vectors. <var class="Arg">v</var> must be a <var class="Arg">cvec</var> and <var class="Arg">pos</var> must be a positive integer not greater than the length of <var class="Arg">v</var>. The finite field element at position <var class="Arg">pos</var> in <var class="Arg">v</var> is returned.</p> -<p>Note that the list access syntax "<var class="Arg">v</var>[<var class="Arg">pos</var>]" triggers a call to the <code class="func">ELM_LIST</code> operation.</p> +<p>Note that the list access syntax <q><var class="Arg">v</var>[<var class="Arg">pos</var>]</q> triggers a call to the <code class="func">ELM_LIST</code> operation.</p> <p><a id="X829C3BD17C7A6F4F" name="X829C3BD17C7A6F4F"></a></p> @@ -400,7 +400,7 @@ <p>The scalar <var class="Arg">s</var> is treated exactly as described in Subsection <a href="chap4_mj.html#X788A3D6482290F7D"><span class="RefLink">4.2-1</span></a>.</p> -<p>Note that the list access syntax "<var class="Arg">v</var><code class="code">[</code><var class="Arg">pos</var><code class="code">] := </code><var class="Arg">s</var>" triggers a call to the <code class="func">ASS_LIST</code> operation.</p> +<p>Note that the list access syntax <q><var class="Arg">v</var><code class="code">[</code><var class="Arg">pos</var><code class="code">] := </code><var class="Arg">s</var></q> triggers a call to the <code class="func">ASS_LIST</code> operation.</p> <p><a id="X7E3A8E51853DEC58" name="X7E3A8E51853DEC58"></a></p> @@ -411,7 +411,7 @@ <p>This is a method for (reading) slice access of vectors. <var class="Arg">v</var> must be a <var class="Arg">cvec</var> and <var class="Arg">l</var> must be a range object or a list of positive integers not greater than the length of <var class="Arg">v</var>. In both cases the list of numbers must be contiguous list of valid positions in the vector. A new <code class="code">cvec</code> over the same field as <var class="Arg">v</var> and with the same length as <var class="Arg">l</var> is created and returned. The finite field element at i positions <var class="Arg">l</var> in <var class="Arg">v</var> are copied into the new vector.</p> -<p>Note that the list slice access syntax "<var class="Arg">v</var>{<var class="Arg">l</var>}" triggers a call to the <code class="func">ELMS_LIST</code> operation.</p> +<p>Note that the list slice access syntax <q><var class="Arg">v</var>{<var class="Arg">l</var>}</q> triggers a call to the <code class="func">ELMS_LIST</code> operation.</p> <p>Note that there intentionally is no write slice access to <code class="code">cvec</code>s, because in most cases this would lead to code that unnecessarily copies data around in an expensive way. Please use the following function instead:</p> @@ -612,6 +612,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap5.html new/cvec-2.8.2/doc/chap5.html --- old/cvec-2.8.1/doc/chap5.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap5.html 2024-08-27 01:03:40.000000000 +0200 @@ -256,7 +256,7 @@ <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ELM_LIST</code>( <var class="Arg">m</var>, <var class="Arg">pos</var> )</td><td class="tdright">( method )</td></tr></table></div> <p>Returns: a <code class="code">cvec</code></p> -<p>Behaves exactly as expected. Note that this method is triggered when one uses the (reading) syntax "<code class="code">m[pos]</code>".</p> +<p>Behaves exactly as expected. Note that this method is triggered when one uses the (reading) syntax <q><code class="code">m[pos]</code></q>.</p> <p><a id="X829C3BD17C7A6F4F" name="X829C3BD17C7A6F4F"></a></p> @@ -265,7 +265,7 @@ <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ASS_LIST</code>( <var class="Arg">m</var>, <var class="Arg">pos</var>, <var class="Arg">v</var> )</td><td class="tdright">( method )</td></tr></table></div> <p>Returns: nothing</p> -<p>Behaves exactly as expected. Note that one can only assign to positions such that the resulting matrix has no holes. This method is triggered when one uses the (assignment) syntax "<code class="code">m[pos] := </code>".</p> +<p>Behaves exactly as expected. Note that one can only assign to positions such that the resulting matrix has no holes. This method is triggered when one uses the (assignment) syntax <q><code class="code">m[pos] := </code></q>.</p> <p><a id="X7E3A8E51853DEC58" name="X7E3A8E51853DEC58"></a></p> @@ -713,11 +713,11 @@ <h4>5.8 <span class="Heading">Grease</span></h4> -<p>The basic idea behind the "grease" technique is that over a finite field there are only finitely many linear combinations of a fixed list of vectors. Thus, many operations including matrix multiplication can be speeded up by precomputing all possible linear combinations and then just looking up the right one. For the case of matrix multiplication this can for example gain a factor of about <span class="SimpleMath">4</span> over the field with <span class="SimpleMath">2</span> elements using "grease level<span class="SimpleMath">8</span>", which means that for blocks of <span class="SimpleMath">8</span> rows all linear combinations are precomputed.</p> +<p>The basic idea behind the <q>grease</q> technique is that over a finite field there are only finitely many linear combinations of a fixed list of vectors. Thus, many operations including matrix multiplication can be speeded up by precomputing all possible linear combinations and then just looking up the right one. For the case of matrix multiplication this can for example gain a factor of about <span class="SimpleMath">4</span> over the field with <span class="SimpleMath">2</span> elements using <q>grease level<span class="SimpleMath">8</span></q>, which means that for blocks of <span class="SimpleMath">8</span> rows all linear combinations are precomputed.</p> <p>The <strong class="pkg">cvec</strong> uses grease whenever appropriate automatically for example for matrix multiplication. However, occasionally the user has to take a conscious decision, which matrices to grease, because this of course uses more memory.</p> -<p>A <code class="code">cmat</code> can be "pre-greased" with level <span class="SimpleMath">l</span>, which means that it is chopped into chunks of <span class="SimpleMath">l</span> rows and for each such chunk all possible linear combinations are precomputed and stored. This increases the memory used to store the matrix by a factor of <span class="SimpleMath">q^l</span> if the base field of the matrix has <span class="SimpleMath">q</span> elements. However, operations like vector matrix multiplication and matrix matrix multiplication (here the right hand side matrix must be greased!) are speeded up. As a rule of thumb the factor one can hope for is about <span class="SimpleMath">l â (q-1)/q</span>. Note that for big matrices matrix multiplication does greasing on the fly anyway and therefore one cannot hope for such a big factor by pre-greasing.</p> +<p>A <code class="code">cmat</code> can be <q>pre-greased</q> with level <span class="SimpleMath">l</span>, which means that it is chopped into chunks of <span class="SimpleMath">l</span> rows and for each such chunk all possible linear combinations are precomputed and stored. This increases the memory used to store the matrix by a factor of <span class="SimpleMath">q^l</span> if the base field of the matrix has <span class="SimpleMath">q</span> elements. However, operations like vector matrix multiplication and matrix matrix multiplication (here the right hand side matrix must be greased!) are speeded up. As a rule of thumb the factor one can hope for is about <span class="SimpleMath">l â (q-1)/q</span>. Note that for big matrices matrix multiplication does greasing on the fly anyway and therefore one cannot hope for such a big factor by pre-greasing.</p> <p><a id="X7DF5A56F8747DD45" name="X7DF5A56F8747DD45"></a></p> @@ -777,6 +777,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap5_mj.html new/cvec-2.8.2/doc/chap5_mj.html --- old/cvec-2.8.1/doc/chap5_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap5_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 5: Matrices</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -259,7 +259,7 @@ <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ELM_LIST</code>( <var class="Arg">m</var>, <var class="Arg">pos</var> )</td><td class="tdright">( method )</td></tr></table></div> <p>Returns: a <code class="code">cvec</code></p> -<p>Behaves exactly as expected. Note that this method is triggered when one uses the (reading) syntax "<code class="code">m[pos]</code>".</p> +<p>Behaves exactly as expected. Note that this method is triggered when one uses the (reading) syntax <q><code class="code">m[pos]</code></q>.</p> <p><a id="X829C3BD17C7A6F4F" name="X829C3BD17C7A6F4F"></a></p> @@ -268,7 +268,7 @@ <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ASS_LIST</code>( <var class="Arg">m</var>, <var class="Arg">pos</var>, <var class="Arg">v</var> )</td><td class="tdright">( method )</td></tr></table></div> <p>Returns: nothing</p> -<p>Behaves exactly as expected. Note that one can only assign to positions such that the resulting matrix has no holes. This method is triggered when one uses the (assignment) syntax "<code class="code">m[pos] := </code>".</p> +<p>Behaves exactly as expected. Note that one can only assign to positions such that the resulting matrix has no holes. This method is triggered when one uses the (assignment) syntax <q><code class="code">m[pos] := </code></q>.</p> <p><a id="X7E3A8E51853DEC58" name="X7E3A8E51853DEC58"></a></p> @@ -716,11 +716,11 @@ <h4>5.8 <span class="Heading">Grease</span></h4> -<p>The basic idea behind the "grease" technique is that over a finite field there are only finitely many linear combinations of a fixed list of vectors. Thus, many operations including matrix multiplication can be speeded up by precomputing all possible linear combinations and then just looking up the right one. For the case of matrix multiplication this can for example gain a factor of about <span class="SimpleMath">\(4\)</span> over the field with <span class="SimpleMath">\(2\)</span> elements using "grease level<span class="SimpleMath">\(8\)</span>", which means that for blocks of <span class="SimpleMath">\(8\)</span> rows all linear combinations are precomputed.</p> +<p>The basic idea behind the <q>grease</q> technique is that over a finite field there are only finitely many linear combinations of a fixed list of vectors. Thus, many operations including matrix multiplication can be speeded up by precomputing all possible linear combinations and then just looking up the right one. For the case of matrix multiplication this can for example gain a factor of about <span class="SimpleMath">\(4\)</span> over the field with <span class="SimpleMath">\(2\)</span> elements using <q>grease level<span class="SimpleMath">\(8\)</span></q>, which means that for blocks of <span class="SimpleMath">\(8\)</span> rows all linear combinations are precomputed.</p> <p>The <strong class="pkg">cvec</strong> uses grease whenever appropriate automatically for example for matrix multiplication. However, occasionally the user has to take a conscious decision, which matrices to grease, because this of course uses more memory.</p> -<p>A <code class="code">cmat</code> can be "pre-greased" with level <span class="SimpleMath">\(l\)</span>, which means that it is chopped into chunks of <span class="SimpleMath">\(l\)</span> rows and for each such chunk all possible linear combinations are precomputed and stored. This increases the memory used to store the matrix by a factor of <span class="SimpleMath">\(q^l\)</span> if the base field of the matrix has <span class="SimpleMath">\(q\)</span> elements. However, operations like vector matrix multiplication and matrix matrix multiplication (here the right hand side matrix must be greased!) are speeded up. As a rule of thumb the factor one can hope for is about <span class="SimpleMath">\(l \cdot (q-1)/q\)</span>. Note that for big matrices matrix multiplication does greasing on the fly anyway and therefore one cannot hope for such a big factor by pre-greasing.</p> +<p>A <code class="code">cmat</code> can be <q>pre-greased</q> with level <span class="SimpleMath">\(l\)</span>, which means that it is chopped into chunks of <span class="SimpleMath">\(l\)</span> rows and for each such chunk all possible linear combinations are precomputed and stored. This increases the memory used to store the matrix by a factor of <span class="SimpleMath">\(q^l\)</span> if the base field of the matrix has <span class="SimpleMath">\(q\)</span> elements. However, operations like vector matrix multiplication and matrix matrix multiplication (here the right hand side matrix must be greased!) are speeded up. As a rule of thumb the factor one can hope for is about <span class="SimpleMath">\(l \cdot (q-1)/q\)</span>. Note that for big matrices matrix multiplication does greasing on the fly anyway and therefore one cannot hope for such a big factor by pre-greasing.</p> <p><a id="X7DF5A56F8747DD45" name="X7DF5A56F8747DD45"></a></p> @@ -780,6 +780,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap6.html new/cvec-2.8.2/doc/chap6.html --- old/cvec-2.8.1/doc/chap6.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap6.html 2024-08-27 01:03:40.000000000 +0200 @@ -122,15 +122,15 @@ <p>The argument <var class="Arg">m</var> must be a <code class="code">cmat</code>. This method calculates a semi echelonised basis for the row space of <var class="Arg">m</var>.</p> -<p>There are a number of similar operations the names of which are derived from <code class="func">SemiEchelonBasisMutable</code> by appending single letters: The letters "P", "T" and "X" are modifiers and there are operations for most of the <span class="SimpleMath">8</span> combinations of those letters being present or not respectively. Always give the present letters in alphabetical order.</p> +<p>There are a number of similar operations the names of which are derived from <code class="func">SemiEchelonBasisMutable</code> by appending single letters: The letters <q>P</q>, <q>T</q> and <q>X</q> are modifiers and there are operations for most of the <span class="SimpleMath">8</span> combinations of those letters being present or not respectively. Always give the present letters in alphabetical order.</p> -<p>The "X" indicates, that the input matrix may be destroyed, that is, the rows of <var class="Arg">m</var> will be changed and the very same objects be used in the semi echelonised result basis.</p> +<p>The <q>X</q> indicates, that the input matrix may be destroyed, that is, the rows of <var class="Arg">m</var> will be changed and the very same objects be used in the semi echelonised result basis.</p> -<p>The "T" indicates, that the transformation is calculated, that is, the resulting record <code class="code">r</code> will have a component <code class="code">coeffs</code>, such that <code class="code">r.coeffs * <var class="Arg">m</var></code> is equal to <code class="code">r.vectors</code> component of the semi echelonised result. Further, with given letter "T" there will be a component <code class="code">relations</code> which is a basis for the (left) nullspace of <var class="Arg">m</var>.</p> +<p>The <q>T</q> indicates, that the transformation is calculated, that is, the resulting record <code class="code">r</code> will have a component <code class="code">coeffs</code>, such that <code class="code">r.coeffs * <var class="Arg">m</var></code> is equal to <code class="code">r.vectors</code> component of the semi echelonised result. Further, with given letter <q>T</q> there will be a component <code class="code">relations</code> which is a basis for the (left) nullspace of <var class="Arg">m</var>.</p> -<p>The "P" indicates, that a component <code class="code">r.p</code> is calculated such that <code class="code">r.p * r.vectors</code> is the original matrix <var class="Arg">m</var>.</p> +<p>The <q>P</q> indicates, that a component <code class="code">r.p</code> is calculated such that <code class="code">r.p * r.vectors</code> is the original matrix <var class="Arg">m</var>.</p> -<p>Currently the variants with "P" and "T" both present are not implement because they will probably not be very useful.</p> +<p>Currently the variants with <q>P</q> and <q>T</q> both present are not implement because they will probably not be very useful.</p> <p><a id="X839298477E3F7345" name="X839298477E3F7345"></a></p> @@ -277,6 +277,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap6_mj.html new/cvec-2.8.2/doc/chap6_mj.html --- old/cvec-2.8.1/doc/chap6_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap6_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 6: Linear Algebra routines</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -125,15 +125,15 @@ <p>The argument <var class="Arg">m</var> must be a <code class="code">cmat</code>. This method calculates a semi echelonised basis for the row space of <var class="Arg">m</var>.</p> -<p>There are a number of similar operations the names of which are derived from <code class="func">SemiEchelonBasisMutable</code> by appending single letters: The letters "P", "T" and "X" are modifiers and there are operations for most of the <span class="SimpleMath">\(8\)</span> combinations of those letters being present or not respectively. Always give the present letters in alphabetical order.</p> +<p>There are a number of similar operations the names of which are derived from <code class="func">SemiEchelonBasisMutable</code> by appending single letters: The letters <q>P</q>, <q>T</q> and <q>X</q> are modifiers and there are operations for most of the <span class="SimpleMath">\(8\)</span> combinations of those letters being present or not respectively. Always give the present letters in alphabetical order.</p> -<p>The "X" indicates, that the input matrix may be destroyed, that is, the rows of <var class="Arg">m</var> will be changed and the very same objects be used in the semi echelonised result basis.</p> +<p>The <q>X</q> indicates, that the input matrix may be destroyed, that is, the rows of <var class="Arg">m</var> will be changed and the very same objects be used in the semi echelonised result basis.</p> -<p>The "T" indicates, that the transformation is calculated, that is, the resulting record <code class="code">r</code> will have a component <code class="code">coeffs</code>, such that <code class="code">r.coeffs * <var class="Arg">m</var></code> is equal to <code class="code">r.vectors</code> component of the semi echelonised result. Further, with given letter "T" there will be a component <code class="code">relations</code> which is a basis for the (left) nullspace of <var class="Arg">m</var>.</p> +<p>The <q>T</q> indicates, that the transformation is calculated, that is, the resulting record <code class="code">r</code> will have a component <code class="code">coeffs</code>, such that <code class="code">r.coeffs * <var class="Arg">m</var></code> is equal to <code class="code">r.vectors</code> component of the semi echelonised result. Further, with given letter <q>T</q> there will be a component <code class="code">relations</code> which is a basis for the (left) nullspace of <var class="Arg">m</var>.</p> -<p>The "P" indicates, that a component <code class="code">r.p</code> is calculated such that <code class="code">r.p * r.vectors</code> is the original matrix <var class="Arg">m</var>.</p> +<p>The <q>P</q> indicates, that a component <code class="code">r.p</code> is calculated such that <code class="code">r.p * r.vectors</code> is the original matrix <var class="Arg">m</var>.</p> -<p>Currently the variants with "P" and "T" both present are not implement because they will probably not be very useful.</p> +<p>Currently the variants with <q>P</q> and <q>T</q> both present are not implement because they will probably not be very useful.</p> <p><a id="X839298477E3F7345" name="X839298477E3F7345"></a></p> @@ -280,6 +280,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap7.html new/cvec-2.8.2/doc/chap7.html --- old/cvec-2.8.1/doc/chap7.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap7.html 2024-08-27 01:03:40.000000000 +0200 @@ -35,6 +35,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap7_mj.html new/cvec-2.8.2/doc/chap7_mj.html --- old/cvec-2.8.1/doc/chap7_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap7_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 7: Performance</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -38,6 +38,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap8.html new/cvec-2.8.2/doc/chap8.html --- old/cvec-2.8.1/doc/chap8.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap8.html 2024-08-27 01:03:40.000000000 +0200 @@ -35,6 +35,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap8_mj.html new/cvec-2.8.2/doc/chap8_mj.html --- old/cvec-2.8.1/doc/chap8_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap8_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 8: Cooperation with the GAP library</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -38,6 +38,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap9.html new/cvec-2.8.2/doc/chap9.html --- old/cvec-2.8.1/doc/chap9.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap9.html 2024-08-27 01:03:40.000000000 +0200 @@ -35,6 +35,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chap9_mj.html new/cvec-2.8.2/doc/chap9_mj.html --- old/cvec-2.8.1/doc/chap9_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chap9_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Chapter 9: Examples</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -38,6 +38,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chapBib.html new/cvec-2.8.2/doc/chapBib.html --- old/cvec-2.8.1/doc/chapBib.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chapBib.html 2024-08-27 01:03:40.000000000 +0200 @@ -30,6 +30,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chapBib_mj.html new/cvec-2.8.2/doc/chapBib_mj.html --- old/cvec-2.8.1/doc/chapBib_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chapBib_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - References</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -33,6 +33,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chapInd.html new/cvec-2.8.2/doc/chapInd.html --- old/cvec-2.8.1/doc/chapInd.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chapInd.html 2024-08-27 01:03:40.000000000 +0200 @@ -158,6 +158,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chapInd.txt new/cvec-2.8.2/doc/chapInd.txt --- old/cvec-2.8.1/doc/chapInd.txt 2023-03-28 00:19:14.000000000 +0200 +++ new/cvec-2.8.2/doc/chapInd.txt 2024-08-27 01:03:35.000000000 +0200 @@ -39,7 +39,7 @@ [2XCollected[102X 5.2-9 [2XCopySubMatrix[102X 5.5-2 [2XCopySubVector[102X 4.3-5 - [5Xcvec[105X 2. + [5Xcvec[105X 2.0 [2XCVec[102X 4.1-1 coefflcvecclass 4.1-3 coefflff 4.1-6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/chapInd_mj.html new/cvec-2.8.2/doc/chapInd_mj.html --- old/cvec-2.8.1/doc/chapInd_mj.html 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/chapInd_mj.html 2024-08-27 01:03:40.000000000 +0200 @@ -6,7 +6,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <title>GAP (cvec) - Index</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> @@ -161,6 +161,6 @@ <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div> <hr /> -<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> +<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html> Binary files old/cvec-2.8.1/doc/manual.pdf and new/cvec-2.8.2/doc/manual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/manual.six new/cvec-2.8.2/doc/manual.six --- old/cvec-2.8.1/doc/manual.six 2023-03-28 00:19:19.000000000 +0200 +++ new/cvec-2.8.2/doc/manual.six 2024-08-27 01:03:40.000000000 +0200 @@ -3,9 +3,11 @@ encoding := "UTF-8", bookname := "cvec", entries := -[ [ "Title page", ".", [ 0, 0, 0 ], 1, 1, "title page", "X7D2C85EC87DD46E5" ], - [ "Copyright", ".-1", [ 0, 0, 1 ], 29, 2, "copyright", "X81488B807F2A1CF1" ] - , [ "Table of Contents", ".-2", [ 0, 0, 2 ], 47, 3, "table of contents", +[ [ "Title page", "0.0", [ 0, 0, 0 ], 1, 1, "title page", "X7D2C85EC87DD46E5" + ], + [ "Copyright", "0.0-1", [ 0, 0, 1 ], 29, 2, "copyright", + "X81488B807F2A1CF1" ], + [ "Table of Contents", "0.0-2", [ 0, 0, 2 ], 47, 3, "table of contents", "X8537FEB07AF2BEC8" ], [ "\033[1X\033[33X\033[0;-2YIntroduction\033[133X\033[101X", "1", [ 1, 0, 0 ], 1, 5, "introduction", "X7DFB63A97E67C0A1" ], @@ -132,7 +134,7 @@ [ "References", "bib", [ "Bib", 0, 0 ], 1, 44, "references", "X7A6F98FD85F02BFE" ], [ "Index", "ind", [ "Ind", 0, 0 ], 1, 45, "index", "X83A0356F839C696F" ], - [ "\033[5Xcvec\033[105X", "2.", [ 2, 0, 0 ], 1, 7, "cvec", + [ "\033[5Xcvec\033[105X", "2.0", [ 2, 0, 0 ], 1, 7, "cvec", "X81D63A85782CD477" ], [ "\033[2XCVec\033[102X", "4.1-1", [ 4, 1, 1 ], 14, 14, "cvec", "X83BF7BBC84478E77" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/doc/title.xml new/cvec-2.8.2/doc/title.xml --- old/cvec-2.8.1/doc/title.xml 2023-03-28 00:19:14.000000000 +0200 +++ new/cvec-2.8.2/doc/title.xml 2024-08-27 01:03:35.000000000 +0200 @@ -9,7 +9,7 @@ Compact vectors over finite fields </Subtitle> <Version> - 2.8.1 + 2.8.2 </Version> <Author> Max Neunhöffer<Alt Only="LaTeX"><Br/></Alt> @@ -23,7 +23,7 @@ </Author> <Date> - 28 March 2023 + 27 August 2024 </Date> <Copyright> ©right; 2005-2014 by Max Neunhöffer<P/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/gap/calibration.gi new/cvec-2.8.2/gap/calibration.gi --- old/cvec-2.8.1/gap/calibration.gi 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/gap/calibration.gi 2024-08-27 01:03:21.000000000 +0200 @@ -859,13 +859,13 @@ # Now read hostname-specific calibration data: if IsBoundGlobal("IO_gethostname") then CVEC_hostname := IO_gethostname(); - CVEC_calibrationfile := Concatenation("local/calibration.", - CVEC_hostname); - if CVEC_hostname <> "" then - if ReadPackage("cvec",CVEC_calibrationfile) = true then - Info(InfoCVec,1,"Have read host-specific calibration file ", - CVEC_calibrationfile); - fi; + CVEC_calibrationfile := Filename( + DirectoriesPackageLibrary("cvec", "local"), + Concatenation("calibration.", CVEC_hostname)); + if CVEC_hostname <> "" and CVEC_calibrationfile <> fail then + Read(CVEC_calibrationfile); + Info(InfoCVec,1,"Have read host-specific calibration file ", + CVEC_calibrationfile); fi; fi; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/gap/cmat.gd new/cvec-2.8.2/gap/cmat.gd --- old/cvec-2.8.1/gap/cmat.gd 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/gap/cmat.gd 2024-08-27 01:03:21.000000000 +0200 @@ -77,7 +77,6 @@ # Greasing: ############################################################################# -DeclareGlobalVariable( "CVEC_SpreadTabCache" ); DeclareGlobalFunction( "CVEC_MakeSpreadTab" ); DeclareGlobalFunction( "CVEC_OptimizeGreaseHint" ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/gap/cmat.gi new/cvec-2.8.2/gap/cmat.gi --- old/cvec-2.8.1/gap/cmat.gi 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/gap/cmat.gi 2024-08-27 01:03:21.000000000 +0200 @@ -1326,7 +1326,7 @@ # Greasing: ############################################################################# -InstallValue( CVEC_SpreadTabCache, [] ); +BindGlobal( "CVEC_SpreadTabCache", [] ); InstallGlobalFunction( CVEC_MakeSpreadTab, function(p,d,l,bitsperel) # Make up the spreadtab (EXTRACT values are 2^bitsperel-adic diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/gap/cvec.gd new/cvec-2.8.2/gap/cvec.gd --- old/cvec-2.8.1/gap/cvec.gd 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/gap/cvec.gd 2024-08-27 01:03:21.000000000 +0200 @@ -35,12 +35,6 @@ ## Information about the base fields: ############################################################################# -DeclareGlobalVariable( "CVEC_q" ); -DeclareGlobalVariable( "CVEC_F" ); -DeclareGlobalVariable( "CVEC_lens" ); -DeclareGlobalVariable( "CVEC_classes" ); -DeclareGlobalVariable( "CVEC_BestGreaseTab" ); - DeclareGlobalFunction( "CVEC_NewCVecClass" ); DeclareGlobalFunction( "CVEC_NewCVecClassSameField" ); @@ -110,8 +104,6 @@ DeclareGlobalFunction( "CVEC_New" ); -DeclareGlobalVariable( "CVEC_CharactersForDisplay" ); - DeclareGlobalFunction( "CVEC_HandleScalar" ); DeclareOperation( "Memory", [IsCVecRep] ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/gap/cvec.gi new/cvec-2.8.2/gap/cvec.gi --- old/cvec-2.8.1/gap/cvec.gi 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/gap/cvec.gi 2024-08-27 01:03:21.000000000 +0200 @@ -21,20 +21,20 @@ ############################################################################# # A set holding all q's for which we have cvec classes: -InstallValue( CVEC_q, [] ); +BindGlobal( "CVEC_q", [] ); # A list holding field infos: -InstallValue( CVEC_F, [] ); +BindGlobal( "CVEC_F", [] ); # A list holding lengths of vectors existing for each q: -InstallValue( CVEC_lens, [] ); +BindGlobal( "CVEC_lens", [] ); # A list holding cvec classes (which are pairs [fieldinfo,len]) -InstallValue( CVEC_classes, [] ); +BindGlobal( "CVEC_classes", [] ); ############################################################################# ## Administration of field info and cvec class data: ############################################################################# -InstallValue( CVEC_BestGreaseTab, +BindGlobal( "CVEC_BestGreaseTab", [ , # q=1 8, # q=2 5, # q=3 @@ -375,7 +375,7 @@ return res; end); -InstallValue( CVEC_CharactersForDisplay, +BindGlobal( "CVEC_CharactersForDisplay", ".123456789abcdefghijklmnopqrstuvwxyz" ); InstallMethod( Display, "for a cvec", [IsCVecRep], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvec-2.8.1/init.g new/cvec-2.8.2/init.g --- old/cvec-2.8.1/init.g 2023-03-28 00:18:57.000000000 +0200 +++ new/cvec-2.8.2/init.g 2024-08-27 01:03:21.000000000 +0200 @@ -13,13 +13,8 @@ ################################ # load kernel function if it is installed: -if (not IsBound(CVEC)) and ("cvec" in SHOW_STAT()) then - # try static module - LoadStaticModule("cvec"); -fi; -if (not IsBound(CVEC)) and - (Filename(DirectoriesPackagePrograms("cvec"), "cvec.so") <> fail) then - LoadDynamicModule(Filename(DirectoriesPackagePrograms("cvec"), "cvec.so")); +if not LoadKernelExtension("cvec") then + Error("failed to load the cvec package kernel extension"); fi; # @@ -36,7 +31,6 @@ ReadPackage("cvec", "gap/cvec.gd"); ReadPackage("cvec", "gap/cmat.gd"); ReadPackage("cvec", "gap/linalg.gd"); -ReadPackage("cvec", "gap/matrix.gd"); ## ## This program is free software; you can redistribute it and/or modify
