Skip to content

Releases: form-dev/form

5.0.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 20:41

TODO: Add detailed release notes.


Below is an automatically generated list of changes:

What's Changed

  • docs(manual): fix duplicate labels and correct section hierarchy by @tueda in #794
  • ci: avoid reusing stale apt cache by @tueda in #798
  • test(check.rb): improve total_physical_memory by @tueda in #800
  • docs(manual): suppress unnecessary equation numbers by @tueda in #804
  • fix: tform: potential crash due to race when MODMAX/MODMIN by @jodavies in #797
  • fix: tform: set min largesize correctly in RecalcSetups by @jodavies in #806
  • perf: copy optimization by @jodavies in #799
  • perf: allocate Normalize buffers dynamically, store in AT by @jodavies in #803
  • fix: typo in GetTable by @magv in #811
  • fix: tform: regression due to #797 by @jodavies in #813
  • Properly handle runtime errors in ParFORM by @tueda in #818
  • fix: segfault after unrecognised moduleoption by @jodavies in #817
  • fix: forbid non-dollar names starting with $ by @jodavies in #816
  • feat: On SortVerbose by @jodavies in #805
  • test: add coverage-increasing tests by @jodavies in #830
  • perf: properly check for float mode in PutOut by @jodavies in #825
  • perf: improve parallelism of SortBotMerge by @jodavies in #831
  • Additional CI tests from hyperform, fmft and mzv-dm by @jodavies in #827
  • Require autoconf 2.69 & Automake 1.11 or newer by @gruenich in #826
  • [ci] Update GitHub Actions to latest major release by @gruenich in #824
  • Update actions/checkout to v6 in 32-bit containers by @tueda in #841
  • [ci] Update GitHub action awalsh128/cache-apt-pkgs-action to v1.6.1 by @gruenich in #846
  • Enabling Dependabot version updates for GitHub Actions by @tueda in #847
  • fix: give each SORTING struct its own OldPosOut, OldPosIn by @jodavies in #843
  • Improve flint performance with multivariate polyratfun by @jodavies in #838
  • perf: make max and min dollar variables thread-local by @jodavies in #807
  • documentation update by @AnaIPereira in #842
  • Manual updates by @jodavies in #840
  • test: add #require flint? for the test suite. by @cbmarini in #848
  • release: prepare for 5.0.1 by @jodavies in #852

New Contributors

Full Changelog: v5.0.0...v5.0.1

5.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Jan 09:58

See the release notes.

4.3.1

Choose a tag to compare

@github-actions github-actions released this 11 Apr 05:30

See the release notes.

4.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Nov 11:22

See the release notes.

4.2.1

Choose a tag to compare

@benruijl benruijl released this 01 Feb 16:32

This release is a minor update from 4.2.0 and mostly contains bug fixes. For an overview of the changes, see the full release notes.

4.2.0

Choose a tag to compare

@benruijl benruijl released this 06 Jul 15:39

We introduce Form 4.2.0, a new minor release. We have made more than 360 revisions,
including more than 50 bugfixes, and the introduction of more than 20 new features.

Three highlights of the new features are id all, Format O4, and Polyratfun expand.

id all

The statement id all generates all matches instead of just the first:

CF v,f,s;
L F = v(1,2,3,4);
id all v(?a,?b) = f(?a)*s(?b);

Print +s;
.end
F =
   + f*s(1,2,3,4)
   + f(1)*s(2,3,4)
   + f(1,2)*s(3,4)
   + f(1,2,3)*s(4)
   + f(1,2,3,4)*s
  ;

This statement is useful, for example, to generate automorphisms of graphs.

Format O4

Format O4 is a new output mode for polynomials. It uses local search methods
to reduce the number of operations in the polynomial. Generally it produces
better results and is faster than O3.
For example:

S   a,b,c,d,e,f,g,h,i,j,k,l,m,n;
L   G = (4*a^4+b+c+d + i^4 + g*n^3)^10 +
        (a*h + e + f*i*j + g + h)^8 + (i + j + k + l + m + n)^12;
Format O4,saIter=300; * use 300 iterations for optimization
.sort
#optimize G
#write "Optimized with Horner scheme: `optimscheme_'"
#write "Number of operations in output: `optimvalue_'"
#clearoptimize
.end
Optimized with Horner scheme: h,a,f,j,d,c,b,i,e,m,g,k,l,n
Number of operations in output: 1937

Polyratfun expand

The Polyratfun, which is used for rational coefficients, now supports
expansion. For example:

S ep;
CF rat;
Polyratfun rat;
L F = rat(1+ep,ep^2 + 3*ep + 1);
Print +s;
.sort
Polyratfun rat(expand,ep,5);

Print +s;
.end

produces

  F = + rat(ep + 1,ep^2 + 3*ep + 1)
....
  F = + rat(1 - 2*ep + 5*ep^2 - 13*ep^3 + 34*ep^4 - 89*ep^5)

For a complete overview of changes, see the full release notes.

4.1

4.1

Choose a tag to compare

@tueda tueda released this 29 Oct 19:21

New features are:

  • Code optimization.
  • A set for summed over indices (dummyindices_).
  • Restrictions on the number of arguments of a function.
  • New statements: DropSymbols, PutInside, AntiPutInside.

Bug fixes include the issue that the fourth stage of the sorting (disk to disk sort) may give a wrong result. See also this article.

The store files are not compatible with those of version 4.0.

4.0-20120410

Choose a tag to compare

@tueda tueda released this 13 Sep 14:10

First bugfixes after the release of version 4.0. About 8 assorted bugs.

4.0

4.0

Choose a tag to compare

@tueda tueda released this 13 Sep 14:14

Release of version 4.0. There are many new features. This includes factorization, arithmetic with rational functions, many new commands and functions.