Releases: form-dev/form
Release list
5.0.1
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
- @gruenich made their first contribution in #826
- @AnaIPereira made their first contribution in #842
Full Changelog: v5.0.0...v5.0.1
5.0.0
4.3.1
4.3.0
4.2.1
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
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
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
First bugfixes after the release of version 4.0. About 8 assorted bugs.
4.0
Release of version 4.0. There are many new features. This includes factorization, arithmetic with rational functions, many new commands and functions.