Skip to content

Instantly share code, notes, and snippets.

@tueda
Last active May 14, 2024 13:31
Show Gist options
  • Save tueda/001995ac1db6c2135ee61458f3b75114 to your computer and use it in GitHub Desktop.
Save tueda/001995ac1db6c2135ee61458f3b75114 to your computer and use it in GitHub Desktop.
  • [doc] Minor changes to the manual [2013-10-28] - Takahiro Ueda (0eab026)
  • [doc] Added some missing options (#5) [2013-10-29] - Jos Vermaseren (bd1d7c6)
  • Fixed #write and Delete Storage [2013-10-29] - Jos Vermaseren (44cf65f)
  • Added a few 'internal' features for the optimizations [2013-11-08] - Jos Vermaseren (59aca15)
  • Added CommuteInset statement and few bugfixes [2013-11-15] - Jos Vermaseren (d0a46ff)
  • Manual with CommuteInSet [2013-11-15] - Jos Vermaseren (c0d2351)
  • Changes to format O3 experiments, #reverseinclude [2013-11-19] - Jos Vermaseren (bdde093)
  • [doc] Added #reverseinclude [2013-11-19] - Jos Vermaseren (693d016)
  • Added #SkipExtraSymbols and Delete ExtraSymbols [2013-12-11] - jos vermaseren (79649c2)
  • 1: closed all folds. 2: added various ExtraSymbol commands 3: bugfixes [2013-12-11] - jos vermaseren (8ee418f)
  • Test commit [2013-12-11] - jos vermaseren (b785c63)
  • Added sortfile directory. Bugfixes. [2014-02-18] - jos vermaseren (cf78403)
  • Wrong variable was set to -1 on compiler error [2014-02-19] - Ben Ruijl (32eda69)
  • Fix a bug in Commute (#8) [2014-05-22] - Takahiro Ueda (86efd27)
  • Fix "a strange problem" reported by Kostja [2014-05-22] - Takahiro Ueda (ddad767)
  • Remove compilation warnings on gcc (Ubuntu 4.8.2-19ubuntu1) [2014-05-26] - Takahiro Ueda (3ea180a)
  • Partially fix "make check" [2014-05-28] - Takahiro Ueda (3d69423)
  • Occurs() in if statement. QuadFortran. toupper_ tolower_ in prepro. isdefined. [2014-06-02] - vermaseren (84d7188)
  • Added Occurs() in f, quadfortran in format, isdefined in #if and toupper_ and tolower_ in macro definitions. [2014-06-02] - vermaseren (de02800)
  • Make sure that there is no other stuff [2014-06-02] - vermaseren (54f5a4d)
  • Set the ; in #write in a more sensible way for FORTRAN [2014-06-02] - vermaseren (aecd000)
  • [doc] Fix a typesetting error caused by \verb [2014-06-02] - Takahiro Ueda (b7876a2)
  • synchronization had lost the quadruple precision [2014-06-03] - vermaseren (9e229fa)
  • Made the constants in double/quad fortran a bit more sane. [2014-06-03] - vermaseren (e80f244)
  • [build] Use the serial-tests option if automake >= 1.13 [2014-06-03] - Takahiro Ueda (05a566c)
  • Repaired a bug in if(occurs()==....); [2014-06-03] - vermaseren (b873ba4)
  • Merge branch 'master' of https://github.com/vermaseren/form [2014-06-04] - vermaseren (8625e72)
  • [build] gendate.sh for generating date strings [2014-06-10] - Takahiro Ueda (c318a54)
  • [parform] Synchronize optimvalue_ and optimscheme_ [2014-06-05] - Takahiro Ueda (ad6d41b)
  • The implementation of dictionaries [2014-06-12] - vermaseren (9d045d6)
  • And now all files that were changed [2014-06-12] - vermaseren (baebabe)
  • Cleanup unneeded files [2014-06-12] - vermaseren (07c96e6)
  • Extended dictionaries with ranges for extra symbols [2014-06-22] - vermaseren (a3f35de)
  • After merging with sa it claimed conflicts but I did not see any. [2014-06-22] - vermaseren (c4ee9a0)
  • Merged the dictionaries. [2014-06-22] - vermaseren (4672f0e)
  • Repaired problem with fortran format in writeToChannel [2014-06-24] - vermaseren (276f0c8)
  • Added dictionaries to the manual [2014-07-02] - vermaseren (1bf0a16)
  • Got the references a bit better in the dictionaries [2014-07-02] - vermaseren (bfd38d8)
  • Some bugs in offsets of variables in dictionaries. [2014-07-02] - vermaseren (42b1385)
  • Tricky bug repair in optimize with extrasymbols and not enough .sort's [2014-07-03] - vermaseren (d9babf3)
  • Repaired a bug with OffsetIndex introduced with the dictionaries. [2014-07-04] - vermaseren (e3444bc)
  • [doc] Fixes for dictionaries [2014-07-09] - Takahiro Ueda (8025ba3)
  • [parform] Ignore possible compiler warnings in mpi.h [2014-06-18] - Takahiro Ueda (e550278)
  • Fix type errors in 32-bit build [2014-07-09] - Takahiro Ueda (cee5f82)
  • [parform] Implement FillExpression (#18) [2014-08-22] - Takahiro Ueda (bdc74d6)
  • Fixed the maximum string length (there was no room for a \0). This should be either 21 to support a 64 bit WORD and a \0 or 41 to support a 128 bit WORD and a \0. [2014-09-23] - Ben Ruijl (57c183f)
    • Fixed the normalization in the gcd algorithm - Fixed the check to see if the current solution is the gcd [2014-10-02] - Ben Ruijl (726f55d)
    • Fixed some code in modular_gcd that prevented the selection of new primes. This could cause an infinite loop - Simplified the mgcd algorithm a bit (and made it more similar to the literature) [2014-10-02] - Ben Ruijl (58bb42d)
  • Fixed the normalization in the top-level modular_gcd algorithm [2014-10-06] - Ben Ruijl (483d98f)
  • Fixed a typo [2014-10-06] - Ben Ruijl (0cb5d3d)
  • New command in transform. Lots of bugfixes. [2014-10-24] - vermaseren (f07116c)
  • Allow mu' as dict string via \mu'. [2014-10-30] - vermaseren (9275950)
  • Set saner boundaries on function/term sortbuffers [2014-12-03] - vermaseren (2444eda)
  • Revert the spectator stuff for now (#27) [2014-12-03] - Takahiro Ueda (0f5a9ac)
  • [doc] Fix the missing factor 4 in the trace with gamma5 (#28) [2014-12-10] - Takahiro Ueda (3888b95)
  • Repaired bug that did not treat argument that is zero correctly. [2014-12-19] - vermaseren (b7b7bcb)
  • [parform] Fix handling of zero expressions in InParallel [2015-01-23] - Takahiro Ueda (1c081d2)
  • [parform] Fix a bug in disabling parallelization due to $-vars [2015-01-27] - Takahiro Ueda (928e8c9)
  • [parform] Fix bugs in InParallel [2015-01-27] - Takahiro Ueda (c3b18bb)
  • Bug fixes in antisymmetric patternmatching and replace_ with many functions [2015-01-29] - vermaseren (d51d2ac)
  • Merge branch 'master' of github.com:vermaseren/form [2015-01-29] - vermaseren (1624032)
  • and some repair of not including polyratfuninv [2015-01-29] - vermaseren (5275487)
  • Repaired a bug in the interplay between tform and polyfun. [2015-03-06] - vermaseren (47aa1bb)
  • Added dictionaries. Inverse PolyRatFun. More patterns with vectors. [2015-03-09] - vermaseren (efa8e07)
  • Added spectator.c [2015-03-09] - vermaseren (4fed881)
  • New preprocessor variable PID_ [2015-04-01] - Takahiro Ueda (727b1c5)
  • Saner DATE_' and NTHREADS_' after .clear [2015-04-01] - Takahiro Ueda (bd36b3a)
  • Merge remote-tracking branch 'origin/gcd' [2015-04-12] - Ben Ruijl (36ecf57)
  • Fixed a bug where making a variable subsitution on the polynomial 0 resulted in a crash [2015-04-24] - Ben Ruijl (f1e2204)
  • [doc] Fixes in the manual [2015-06-05] - Takahiro Ueda (f11fa12)
  • polygcd improvements: when a variable only appears in one of the polys, it is substituted by a small integer before entering Zippel's gcd code. If the GCD candidate is too large, it is later refined on expressions where the variables that appear in only one poly are bracketed out. [2015-06-12] - Ben Ruijl (b9df56b)
  • Merge branch 'master' of github.com:vermaseren/form [2015-06-12] - Ben Ruijl (8879748)
  • Added special case to recursively compute gcds for polynomials with linear variables. [2015-06-15] - Ben Ruijl (1ed087f)
  • Added extra `const' so that it also compiles on older compilers [2015-06-15] - Ben Ruijl (c4277bd)
  • Bugfixes for the gcd_linear routine [2015-06-15] - Ben Ruijl (caea44a)
  • Fixed a gcd bug caused by passing around a bad, and unnecessary leading coefficient to the modular gcd routine [2015-06-16] - Ben Ruijl (2f019ff)
    • Disabled filling in variables for gcd calculations: due to modulo calculus the results could be wrong. Performance is not affected much, since the bracketing is still in place. - Fixed an infinite loop caused by the case where the bracket function is the identity [2015-06-17] - Ben Ruijl (0785f9a)
  • Explicitly check if a poly is 0, since divides() does not do it [2015-06-17] - Ben Ruijl (a03f78d)
  • Fixed a gcd bracketing bug concerning higher powers [2015-06-17] - Ben Ruijl (51729f7)
    • Remove content in last variable before doing sparse gcd calculation. This improves performance and fixes a bug where a smaller divider is returned as the gcd - Refined the criteria for identifying bad gcd suggestions [2015-06-23] - Ben Ruijl (f766b04)
    • Reverted the end condition of the dense gcd routine. Seemingly the final condition in the Algorithms for Computer Algebra book is not good enough. [2015-06-24] - Ben Ruijl (495aed3)
  • Added PolyRatFun divergence and expand. +bugfixes [2015-06-26] - vermaseren (a795a9c)
  • Added extra polyratfun options to manual [2015-06-26] - vermaseren (1a1db23)
    • Fixed the bounds check for the gcd: now check each variable individually - The shape is now reset when we have found a gcd that is too large - Only if extra variables can be bracketed out, the gcd is called recursively [2015-06-26] - Ben Ruijl (03debb8)
  • Merge branch 'master' of github.com:vermaseren/form [2015-06-26] - Ben Ruijl (f5a5e82)
  • 4 bugfixes (already!) [2015-06-26] - vermaseren (4f6cb55)
  • Merge branch 'master' of github.com:vermaseren/form [2015-06-26] - vermaseren (56714e0)
  • Improved memory usage of polygcd bracketing: brackets are now only generated when required. [2015-06-29] - Ben Ruijl (e55a108)
  • Normalized the order in the polyratfun [2015-06-30] - vermaseren (b4f3dd2)
  • Made flag for negative powers in SymbolNormalize [2015-06-30] - vermaseren (90761d6)
  • Added GETIDENTITY to SymbolNormalize [2015-06-30] - vermaseren (258b491)
  • Bucket fix and temporary collect % [2015-07-01] - vermaseren (1129d04)
  • Repaired a sortbot problem with big terms [2015-07-01] - vermaseren (59b949e)
    • Zippel's algorithm only works for monic gcds. Multiplying by the lcoeff should fix the fitting, at the cost of more samples and refining in the end. This method is slow, and the current implementation still rejects good shapes sometimes. - Reverted bounds check back to fast and simple check: experiments show that the simple bound is almost never crossed - Prevent unnecessary copies of polys when multiplied by 1 [2015-07-06] - Ben Ruijl (d40483a)
  • Set modulo for gcd of lc [2015-07-06] - Ben Ruijl (b14afc1)
  • Repaired collateral damage in polyratfun. [2015-07-08] - vermaseren (ffabb37)
  • Merge branch 'master' of github.com:vermaseren/form [2015-07-08] - vermaseren (4884aff)
  • Sign repair in polyratfun [2015-07-08] - vermaseren (1470321)
  • Dirty,normalize and long numbers in polyratfun [2015-07-09] - vermaseren (4cec87d)
  • fixed factorization of constant in tform [2015-07-10] - vermaseren (983317c)
  • Repair bug. Make expand etc more economical. [2015-07-13] - vermaseren (1fd92ca)
  • Added error message for nonsymbols in polyratfun [2015-07-13] - vermaseren (b2929fa)
  • TFORM did not know about the inverse polyratfun [2015-07-14] - vermaseren (a2d74a7)
  • [build] New directory "scripts" [2014-11-13] - Takahiro Ueda (be9c2cc)
  • [build] Put Automake auxiliary build files into "build-aux" [2014-11-13] - Takahiro Ueda (20c5e80)
  • [build] The configure script shows optionally linked libraries [2015-03-04] - Takahiro Ueda (0d5a186)
  • [build] Rewrite gendate.sh [2015-03-04] - Takahiro Ueda (85d3a59)
  • [doc] Primitive support for LaTeX2HTML [2015-03-04] - Takahiro Ueda (cf7e7ec)
  • [doc] devref.pdf with hyperlinks [2015-03-31] - Takahiro Ueda (47f185e)
  • Bug in TFORM vs PolyRatFun expand. +Little things [2015-07-15] - vermaseren (6f3dd34)
    • Fixed a bug in the Hensel lifting routine having to do with corruption of the leading coefficients. They have to be fixed every iteration during the multivariate lifting - Changed the maximum degree of the Hensel lifting (I don't know why it was +1) [2015-07-16] - Ben Ruijl (6f06e94)
  • Fixed indexing bug: x.back() -> x.size() [2015-07-18] - Ben Ruijl (0d017f7)
  • Repaired error in ExpandRat with AT.WorkPointer [2015-07-20] - vermaseren (a078fe7)
  • [doc] Links in README [2015-07-14] - Takahiro Ueda (19dd1c4)
  • Bug in interplay between ep(:6) and polyratfun expand [2015-08-03] - vermaseren (8e23dbd)
  • Forgotten initialization of CompressPointer in sequential FORM [2015-08-05] - vermaseren (b32e53e)
  • Repaired signs with functions inside functions [2015-08-17] - vermaseren (baa5b36)
  • Bug with using memory in MakeInteger after returning (NumberMalloc). [2015-08-18] - vermaseren (4cc67db)
  • Changed FactDollar to take out content properly. [2015-08-31] - vermaseren (8805b9e)
  • [test] New test suite [2015-07-27] - Takahiro Ueda (49b1e9a)
  • [test] Setup for Travis CI [2015-09-01] - Takahiro Ueda (1385cac)
  • Merge branch 'newtest' [2015-09-01] - Takahiro Ueda (f10df57)
  • Memory error in DollarFactorize repaired. [2015-09-01] - vermaseren (5fbce8e)
  • Fixed gcd_. Was problem with constant terms. [2015-09-01] - vermaseren (5f9b827)
  • And yet another bug in TakeContent [2015-09-02] - vermaseren (8f213b8)
  • Now the proper dollar.c [2015-09-02] - vermaseren (e5f2a07)
  • [test] test cases from Issue #42 [2015-09-02] - Takahiro Ueda (a37c415)
  • Error with just a sign change in DollarFactorize [2015-09-03] - vermaseren (319e9ec)
  • M pullissed Merge branch 'master' of github.com:vermaseren/form [2015-09-03] - vermaseren (7c4a01e)
  • [test] More polynomial test cases from Issues #37, #39, #45 [2015-09-03] - Takahiro Ueda (9916902)
  • [test] Fix runtime_error? for the parallel versions [2015-09-03] - Takahiro Ueda (b782f3b)
  • If only one factor we kept only the original. Bad idea. [2015-09-03] - vermaseren (24a06d5)
  • Pull before push Merge branch 'master' of github.com:vermaseren/form [2015-09-03] - vermaseren (0beb5ac)
  • Error in Allocation EndSort/AssignDollar. Improved MALLOCDEBUG. [2015-09-22] - vermaseren (c9e6f44)
  • OffsetIndex error in writing names. [2015-09-22] - vermaseren (5e422dc)
  • Still bug in On Names. Added also On InnerTest for debugging. [2015-09-23] - vermaseren (9995ea1)
  • Repair of the Hide/TFORM bug. Added debug facilities. [2015-09-23] - vermaseren (e73c865)
  • Made a little bit more space for names of tmp files. [2015-09-28] - vermaseren (6bb3b43)
  • [doc] Fix LaTeX2HTML output [2015-11-06] - Takahiro Ueda (60b1c63)
  • [build] Replace deprecated options for icc [2015-11-11] - Takahiro Ueda (47f2846)
  • Fix #52: CopySpectator from empty spectators [2015-11-24] - Takahiro Ueda (9bfa0ba)
  • [parform] Spectators, only in the sequential mode [2015-11-27] - Takahiro Ueda (477eb68)
  • Repaired the rat(1+x,1)^270 expand bug. AT.WorkPointer was not adjusted in PolyFunMul. [2015-12-03] - vermaseren (258f42e)
  • Fixed the compress/gzip/hide bug. [2016-01-15] - vermaseren (43a5b1e)
  • Repaired bug: if ; forgotten, followed by .sort/.end etc: statement ignored! [2016-01-19] - vermaseren (a0a1358)
  • Repaired a timing bug for Apple. Added the `timer_' stopwatch feature. [2016-01-20] - vermaseren (f06a641)
  • Updated/added the time_, timer_ and #reset parts of the manual. [2016-01-20] - vermaseren (8bbd322)
  • Implemented id_ function and onefill option in tables. Manual will follow soon. [2016-02-01] - vermaseren (0eb92a5)
  • Fixed up ClearTable. Updated the manual for id_ and onefill [2016-02-03] - vermaseren (d92603e)
  • [doc] Fix some typos and spaces [2016-02-03] - Takahiro Ueda (8f658ee)
  • Repaired a bug with combining bracketindex and intohide. [2016-02-12] - vermaseren (fa74cbf)
  • Fix ToTensor ! [2016-02-16] - Takahiro Ueda (e9643be)
  • Fixed a bug in the transform statement that did not take fixed args [2016-02-18] - vermaseren (07edf53)
  • Needs to get Takahiros update first... Merge branch 'master' of github.com:vermaseren/form [2016-02-18] - vermaseren (98cfbfb)
  • Added errormessage for workspace overflow in MatchFunction. [2016-02-18] - vermaseren (a8b0f2d)
  • Compiler error when the same label is defined more than once [2016-03-29] - Takahiro Ueda (7252064)
  • [test] Check if test/unit is loaded [2016-04-06] - Takahiro Ueda (66a04da)
  • Added id,all [2016-04-11] - vermaseren (00e5dd9)
  • Repaired id,$x = bug. Added $ pickups in id,all [2016-04-11] - vermaseren (cd8be05)
  • For now Takahiro's example works.... Needs more work though. [2016-04-11] - vermaseren (a1e8a84)
  • Made sure id,all,.....=0; doesn't give undefined variables. [2016-04-11] - vermaseren (e4fbce5)
  • Caught Valgrind problem in TransferBuffer. Caught runaway numrhs. [2016-04-11] - vermaseren (0156291)
  • Intercepted a runaway pointer in the allbufnum. [2016-04-12] - vermaseren (6c055eb)
  • Put to work: all(5): maximum 5 times, (n): normalize. Dummy wildcards repaired? [2016-04-12] - vermaseren (ac3d51f)
  • Little error in compiler buffer when more than one id,all in one module. [2016-04-12] - vermaseren (badc750)
  • Fix Argument environment with sets of functions [2016-04-13] - Takahiro Ueda (9f7c76e)
  • Sets now can have negative vectors. Fixed up the wildcarding with them. [2016-04-14] - vermaseren (c5a24b7)
  • Fixed some problems with the -p pattern matching. [2016-04-18] - vermaseren (e4de6b2)
  • Added the set vector_ [2016-04-22] - vermaseren (78aa53b)
  • Added build instructions to README [2016-04-29] - Ben Ruijl (f30bbd7)
  • typos... [2016-04-29] - Ben Ruijl (e84cbb8)
  • Repaired a few outstanding bugs with ()^(). Already code for B set but not all yet. [2016-05-04] - vermaseren (29e608e)
  • Repaired occurs(p) in dotproducts [2016-05-04] - vermaseren (00be283)
  • Repaired issue 73: "PolyRatFun cannot have zero arguments" [2016-05-04] - vermaseren (d9ca299)
  • Was still a bug remaining in PolyRatFuns inside functions. [2016-05-04] - vermaseren (0e92fdb)
  • Implemented sets in (anti)brackets [2016-05-05] - vermaseren (8e19a59)
  • Implemented putfirst_. Changed MAXPOSITIVE2 to MAXPOSITIVE4 in transform.c [2016-05-06] - vermaseren (ba86d4a)
  • Updated the manual for putfirst_ [2016-05-06] - vermaseren (d709dc2)
  • Bug in reading brackets. Better patterns in tables. [2016-05-08] - vermaseren (d046ba2)
  • Repaired little bug in sparse tables with parameters. [2016-05-09] - vermaseren (360e6bc)
  • Added zero-dimensional sparse tables. [2016-05-09] - vermaseren (c7aa583)
  • Fix memory errors at the startup [2016-05-10] - Takahiro Ueda (9b58d87)
  • Still little collateral damage in sparse tables. [2016-05-10] - vermaseren (3754ebb)
  • needed the startup.c first Merge branch 'master' of github.com:vermaseren/form [2016-05-10] - vermaseren (f176008)
  • Added addargs, mulargs, dropargs and selectargs to the transform statement [2016-05-11] - vermaseren (f886334)
  • Fix documents, typos and spaces [2016-05-12] - Takahiro Ueda (9523f6b)
  • [test] id,all and putfirst_ examples in the manual [2016-05-12] - Takahiro Ueda (610bf8d)
  • [build] Check for ruby >= 1.8 and test/unit [2016-05-19] - Takahiro Ueda (de28aaa)
  • Remove compiler warnings [2016-05-19] - Takahiro Ueda (96e9e50)
  • Put a runtime error for gamma matrix without spin line. [2016-05-19] - vermaseren (9e84c6c)
  • Added T (in addition to K, M, G) to setup values. [2016-06-01] - vermaseren (bfbc1a7)
  • Some text fixes [ci skip] [2016-05-19] - Takahiro Ueda (e5cd477)
  • [build] Add git revision to version information [2016-05-18] - Takahiro Ueda (fdacaeb)
  • [test] Make Travis CI clone with depth > 50 [2016-05-18] - Takahiro Ueda (4dfc01b)
  • [build] Enhance the portability [2016-05-19] - Takahiro Ueda (372f2a1)
  • [build] Optimization flags for the local machine [2016-05-23] - Takahiro Ueda (9d34095)
  • [doc] Update INSTALL file [ci skip] [2016-06-06] - Takahiro Ueda (c49e37b)
  • Repair: hidefile is removed at termination. [2016-06-13] - vermaseren (1e6bfda)
  • Fixed header string, veto some preprocessor commands if error. Fixed leading zeroes. [2016-06-21] - vermaseren (c7ace14)
  • Fix the tokenizer bug in the previous commit c7ace14 [2016-06-21] - Takahiro Ueda (9720d7f)
  • Repaired dollar induced unexpanded subexpression in pattern recognition. [2016-07-04] - vermaseren (805031b)
  • Activated #:path in setups. (#72) [2016-07-14] - vermaseren (2c7efde)
  • [test] Improve check.rb [2016-07-13] - Takahiro Ueda (16e4bab)
  • [test] Collect more test cases from the Issue Tracker [2016-06-24] - Takahiro Ueda (63c81b7)
  • [build] Fix a typo in Makefile [2016-07-14] - Takahiro Ueda (40d984f)
  • [build] Check for unordered_map/unordered_set [2016-07-15] - Takahiro Ueda (c71dea6)
  • [build] Show a help message when autoreconf fails to get the version [2016-07-15] - Takahiro Ueda (ad3f1a2)
  • [test] Rearrange Travis CI setups [2016-07-14] - Takahiro Ueda (7370060)
  • Fix #111: PolyRatFun(expand) didn't combine numeric coefficients [2016-07-22] - Takahiro Ueda (789edc8)
  • [test] Test case for Issue 56 [2016-07-22] - Takahiro Ueda (2adbf06)
  • Fix for issue #113. Argument wildcards cleared before reading id statement. [2016-07-27] - vermaseren (2bd9afd)
  • Fixed issue #114. [2016-07-28] - vermaseren (07f1cbb)
  • [test] Test cases for Issues 113 and 114 [2016-08-02] - Takahiro Ueda (fba06d9)
  • [build] Mention shallow clones when fail to get the version [2016-08-03] - Takahiro Ueda (d059a5b)
  • [build] Use -g3 option for debugging [2016-08-03] - Takahiro Ueda (f601b04)
  • [test] More Travis CI recipes [2016-08-04] - Takahiro Ueda (721f79f)
  • Quick fix for crash by replace_(x,0) [2016-08-04] - Takahiro Ueda (24f1772)
  • Quick fix for crash by replace_ with nested functions [2016-08-04] - Takahiro Ueda (2e409bc)
  • Ensure fast notation after (anti)putinside [2016-08-04] - Takahiro Ueda (29e9d3e)
  • Fixes #77. $x^n? in LHS had several errors due to omission. [2016-08-05] - vermaseren (22ff226)
  • [test] Test case for Issue 77 [2016-08-05] - Takahiro Ueda (41b9f36)
  • Fix an invalid memory access in simp4token() [2016-08-08] - Takahiro Ueda (f4705fb)
  • Restore WildMask in RunReplace() to fix a memory leak [2016-08-08] - Takahiro Ueda (77b074d)
  • Fix a memory leak in LoadInputFile() for files found in incdir/path [2016-08-08] - Takahiro Ueda (4f78e58)
  • Fix a memory issue in TryFileSetups() for empty setup values [2016-08-08] - Takahiro Ueda (4d46526)
  • [parform] Fix a (harmless) Valgrind warning [2016-08-08] - Takahiro Ueda (9365dd0)
  • [parform] Fix a memory issue in PF_BroadcastCBuf() [2016-08-09] - Takahiro Ueda (805ea63)
  • [parform] Don't broadcast AM.Path in PF_Init() [2016-08-10] - Takahiro Ueda (498cb67)
  • [test] check.rb: Add --full option and #pend_if [2016-08-10] - Takahiro Ueda (1342ada)
  • [test] Use #pend_if in test cases [2016-08-10] - Takahiro Ueda (225d3ab)
  • [test] Finally enable Valgrind checks on Travis CI [2016-08-08] - Takahiro Ueda (4ce444a)
  • Fixed brackets of dotproducts with different vectors. [2016-08-10] - vermaseren (569df20)
  • Solved issue #117 [2016-08-12] - vermaseren (7da45a1)
  • [test-ci] Install test-unit for osx-valgrind [2016-08-12] - Takahiro Ueda (8965738)
  • [test] Test case for Issue 117 [2016-08-12] - Takahiro Ueda (65df7e3)
  • Fix "On names" for DROPSPECTATOREXPRESSION [2016-08-15] - Takahiro Ueda (9905b6e)
  • Fix typo in source code [2016-08-17] - Alex (f394d9f)
  • Merge pull request #120 from alexmyczko/patch-2 [2016-08-18] - Ben Ruijl (342d256)
  • Enlarged input file/stream buffer. [2016-08-18] - vermaseren (a9cf674)
  • Initialized ziobuffer when output file created in MergePatches. [2016-08-26] - vermaseren (93a66ba)
  • And some extra ziobuffer initializations [2016-08-26] - vermaseren (79bf7bf)
  • Fixes issue #121. [2016-08-30] - vermaseren (897eab2)
  • [test] Test case for Issue 121 [2016-08-30] - Takahiro Ueda (320a477)
  • Repair of expansion depth for polyratfun rat(expand,ep,10); [2016-09-21] - vermaseren (c3b7476)
  • Repaired that TryReplace did not trigger repeat. [2016-09-21] - vermaseren (104d5d8)
  • Allow spaces in the fold name of #include [2016-10-13] - Takahiro Ueda (b13522f)
  • [test-ci] Avoid possible NoMethodError on IO.console.winsize [2016-10-13] - Takahiro Ueda (b67536f)
  • Resolved crashesin issue #122, but does not generate everything. [2016-10-15] - vermaseren (4ccfeba)
  • Fixed the id,all, the hide issues and the id f=f(?); now gives an error message. [2016-10-18] - vermaseren (c11ae7c)
  • [test] Test cases for Issues 125, 126 and 129 [2016-10-18] - Takahiro Ueda (339b7b6)
  • Made #$name = ... possible inside other statement. Recursively. Preparation for #clearhide [2016-11-01] - vermaseren (ad8f4b7)
  • Allows now also #inside inside a statement [2016-11-01] - vermaseren (896685e)
  • [test-ci] Fix valgrind version on OS X [2016-11-01] - Takahiro Ueda (b217a7b)
  • [test] Test cases for Issue 135 [2016-11-01] - Takahiro Ueda (8543a57)
  • Add wtimestats option (#127) [2016-11-02] - Takahiro Ueda (617b19c)
  • [doc] Add wtimestats option [2016-11-03] - Takahiro Ueda (6b38064)
  • Fix in enlarging the bracket buffer [2016-11-10] - Takahiro Ueda (c17341f)
  • New command: ArgToExtraSymbol [2016-11-10] - Takahiro Ueda (a6d61f8)
  • [test] Test cases for ArgToExtraSymbol [2016-11-10] - Takahiro Ueda (4d08fc4)
  • [doc] Add ArgToExtraSymbol [2016-11-10] - Takahiro Ueda (d5f8b15)
  • Fix printing the maximum negative integer [2016-11-11] - Takahiro Ueda (9c2f789)
  • Remove unnecessary STATIC_ASSERT in a6d61f8 [2016-11-12] - Takahiro Ueda (6b9e3da)
  • Fix segfault after "Sorted function argument too long" [2016-11-15] - Takahiro Ueda (033e880)
  • Remove void pointer arithmetic (gcc extension) [2016-10-19] - Takahiro Ueda (58ff3ad)
  • Enable routines in mytime.cc only on Unix [2016-10-19] - Takahiro Ueda (acc3545)
  • Use the builtin popcount function only when available [2016-10-19] - Takahiro Ueda (7136dda)
  • Rename XXX___Renamed -> FORM_XXX on Windows [2016-11-22] - Takahiro Ueda (8bd06aa)
  • Workaround for MSVC [2016-11-24] - Takahiro Ueda (6990928)
  • [build] autoreconf outside a Git repository [2016-11-24] - Takahiro Ueda (8584693)
  • [build] Fix that a dist failed for "make distcheck" [2016-11-24] - Takahiro Ueda (6fe5632)
  • Fix: numbers not in the fixed indices shouldn't match to any indices [2016-11-28] - Takahiro Ueda (6ce79f3)
  • The same fix also for symmetric functions [2016-11-29] - Takahiro Ueda (b993ca7)
  • Set NTHREADS_ = 1 in the sequential FORM and ParFORM [2016-12-13] - Takahiro Ueda (ad84adf)
  • Print MaxTermSize error message in InsertTerm [2016-12-13] - Takahiro Ueda (3955fdf)
  • Repaired issue 154 [2016-12-16] - vermaseren (fe7a26b)
  • Different bugfixes Merge branch 'master' of github.com:vermaseren/form [2016-12-16] - vermaseren (f7caca4)
  • [test] Test case for Issue 154 [2016-12-16] - Takahiro Ueda (7d3f8d2)
  • [test] Add forgotten succeeded? [2016-12-16] - Takahiro Ueda (97b5241)
  • [test-ci] Avoid timeout errors due to the test case Issue154 [2016-12-16] - Takahiro Ueda (ab9a4fb)
  • Fixed issue #74. In occurs the special role of tensors was forgotten. [2016-12-20] - vermaseren (ead4169)
  • And another bug in the dotproducts (t instead of m). Fixes issue #74 [2016-12-20] - vermaseren (85cfb1b)
  • Fix #74: Check arguments in tensors for occurs [2016-12-20] - Takahiro Ueda (97de2a8)
  • ModuleOption sum can work now with $expressions with more than one term [2016-12-20] - vermaseren (053b478)
  • Added O4 option to the manual [2016-12-21] - Ben Ruijl (c3d1823)
  • Introduced transform dedup statement [2016-12-21] - Ben Ruijl (25bfe3c)
  • [doc] Remove garbage files [2016-12-21] - Takahiro Ueda (8be1301)
  • Repaired the bracketindexbug. Nasty indeed! [2016-12-23] - vermaseren (1ddffec)
  • Should resolve issue #151. Simple counting error. [2016-12-24] - vermaseren (dd92c10)
  • Solves issue #163. [2016-12-24] - vermaseren (fa1c759)
  • Repaired issue #162. [2017-01-13] - vermaseren (769f7b5)
  • Fixed issue #162 [2017-01-14] - vermaseren (58f170c)
  • Add test cases for #151, #162, #163, #165 [2017-01-14] - Takahiro Ueda (35cea1d)
  • Found a rare bug in the fix of B+ [2017-01-21] - vermaseren (0f784ed)
  • Repaired a bug in index.c Merge branch 'master' of github.com:vermaseren/form [2017-01-21] - vermaseren (43ddc01)
  • Fixed #167 [2017-02-01] - vermaseren (313a3f5)
  • fixes issue #169 [2017-02-22] - vermaseren (10eada9)
  • [test] Add test cases for #97, #167 and #169 [2017-02-22] - Takahiro Ueda (62bfde7)
  • Repaired error in dollar size calculation. [2017-03-03] - vermaseren (988baf1)
  • Repaired bug in $ malloc space. Seemed to occur only on Apple. [2017-03-07] - vermaseren (f6b7409)
  • Repaired memory leak with the id,all compiler buffer. [2017-03-16] - vermaseren (6f4672b)
  • New preprocessor variables: numactiveexprs_ and activeexprnames_ [2017-03-17] - Takahiro Ueda (c91c1ed)
  • [test] Test case for numactiveexprs_ and activeexprnames_ [2017-03-17] - Takahiro Ueda (75ca8eb)
  • [doc] Description for numactiveexprs_ and activeexprnames_ [2017-03-17] - Takahiro Ueda (5b3a5ad)
  • Merge branch 'exprvars' [2017-03-17] - Takahiro Ueda (7c56626)
  • [doc] Put Ben in the author list of the manual [2017-03-17] - Takahiro Ueda (1d7338d)
  • Implement #Append/PrependPath [2017-03-27] - Takahiro Ueda (29c1794)
  • Add support for absolute paths in #Append/PrependPath [2017-03-29] - Takahiro Ueda (a4fd5e1)
  • Fix for activeexprnames_ with replaced expressions [2017-03-31] - Takahiro Ueda (5634f18)
  • Repaired major inefficiency with PolyRatFun. Added lots of debug code. Replaced many Malloc1 calls. Reinstated MaxNumberSize setup option. [2017-04-02] - vermaseren (a0b635c)
  • Repaired inefficiency in PolyRatFun. Added debug code. Etc. Merge branch 'master' of github.com:vermaseren/form [2017-04-02] - vermaseren (edd914d)
  • Fixed up the expand part of PolyRatFun that went wrong with the polywrap.cc fix [2017-04-02] - vermaseren (86a5228)
  • fixed up the previous fixes and some asserts in the ruby file [2017-04-03] - vermaseren (5fc9a7e)
  • [build] Bug reports should be sent to the Issue Tracker [2017-04-03] - Takahiro Ueda (cda04e9)
  • Reapply the patch of dd92c10 [2017-04-03] - Takahiro Ueda (a7392f5)
  • Fix an invalid memory access for ParFORM [2017-04-03] - Takahiro Ueda (74cfccd)
  • Fixed up RAT and a few imperfections of poly_ratfun_normalize [2017-04-03] - vermaseren (2fb697d)
  • [test] Test case for #180 [2017-04-03] - Takahiro Ueda (a675751)
  • Optimized poly_ratfun_normalize: only dirty functions are normalized. [2017-04-04] - vermaseren (c41e6af)
  • optimized poly_ratfun_normalize Merge branch 'master' of github.com:vermaseren/form [2017-04-04] - vermaseren (6c957e4)
  • Changed CLEANPRF into MUSTCLEANPRF [2017-04-04] - vermaseren (5b55fdb)
  • Repaired a crash reported by Josh Davies [2017-04-05] - vermaseren (f74b7b5)
  • Repaired fix.frm [2017-04-05] - vermaseren (e24fd09)
  • [test] Put a test case from #178 [2017-04-05] - Takahiro Ueda (72fc216)
  • Added trailing - option to polyratfun. Dangerous! [2017-04-06] - vermaseren (1470f0b)
  • Added spectators to the manual [2017-04-07] - vermaseren (ff98159)
  • Forgot to add spectators.tex [2017-04-08] - vermaseren (af374eb)
  • [build][doc] Include spectators.tex [2017-04-08] - Takahiro Ueda (81d838a)
  • Man sorting into a chapter [2017-04-09] - vermaseren (a995a3c)
  • Added the permutations function perm_ [2017-04-14] - vermaseren (7ded5c9)
  • Added function perm_ to the manual [2017-04-14] - vermaseren (31d4b6b)
  • Repaired a little mistake in the manual. [2017-04-14] - vermaseren (4e28f92)
  • [test] An example of perm_, given in 31d4b6b [2017-04-14] - Takahiro Ueda (929268a)
  • Added the use of $-variables to the permute option in the transform statement. [2017-04-16] - vermaseren (41642ab)
  • The permute in transform did not handle local dollars properly in tform. [2017-04-19] - vermaseren (7976927)
  • [test] Test case for #128 [2017-04-19] - Takahiro Ueda (c8cdc42)
  • [test-ci] Clean up the Travis CI setup [2017-04-26] - Takahiro Ueda (126ffd2)
  • [test] Fix failure to get exit statuses of valgrind jobs [2017-04-26] - Takahiro Ueda (ca82892)
  • Ensure that SBYTE is signed [2017-04-26] - Takahiro Ueda (043727c)
  • Fix the triple dot operator bug. Close #146 [2017-04-26] - Takahiro Ueda (f92e6da)
  • Fix a crash caused by Transform,mulargs [2017-04-28] - Takahiro Ueda (bcde8c9)
  • Fix for issue #186 [2017-05-19] - vermaseren (b3380a8)
  • [test] Add tests for distrib_ (#186 and #187) [2017-05-20] - Takahiro Ueda (46c8933)
  • Added the partitions_ function. Manual will come later. [2017-05-24] - vermaseren (6a1cdb5)
  • And the first little error in partitions_: forgotten to pop AT.WorkPointer. [2017-05-24] - vermaseren (c42de49)
  • Remove an unused local variable [2017-05-24] - Takahiro Ueda (41952b0)
  • Allows the function in partitions_ to be a tensor. [2017-05-24] - vermaseren (cf71752)
  • Add mul_ function for polynomial multiplications. Close #49 [2017-05-28] - Takahiro Ueda (76561be)
  • Fixed up the gcd_ function with respect to arguments that are zero [2017-06-08] - vermaseren (615cbcd)
  • And a forgotten case in the gcd_ with a zero [2017-06-08] - vermaseren (cdb5f55)
  • And one more bug in gcd_ [2017-06-08] - vermaseren (a7d95f1)
  • [test] Add test for #191 [2017-06-08] - Takahiro Ueda (31c5798)
  • And another case in the gcd_. [2017-06-08] - vermaseren (7cf7c42)
  • [test] More test cases for #191 [2017-06-09] - Takahiro Ueda (dcbe9a9)
  • Allowed $a = argument field in gcd_($a) [2017-06-09] - vermaseren (59fe368)
  • Fix mul_ for denominator factors. Close #197 [2017-06-10] - Takahiro Ueda (0bf5c58)
  • Reworked the syntax of partitions. Is now more flexible. May need more testing. [2017-06-14] - vermaseren (541f847)
  • [build] Add configure options --enable-profile and --enable-coverage [2017-06-23] - Takahiro Ueda (23e7afc)
  • [ci] More fine-grained specification of APT packages [2017-06-24] - Takahiro Ueda (08fd364)
  • [ci] Move the installing steps into a separate script [2017-06-24] - Takahiro Ueda (d390ad8)
  • [ci] Build HTML doc [2017-06-25] - Takahiro Ueda (83072f6)
  • [doc] Workaround for the latex2html \providecommand bug [2017-06-26] - Takahiro Ueda (f8a7eec)
  • fix issue #190 Hopefully no fallout [2017-06-26] - vermaseren (2b20c8b)
  • [test] Change the result of the test case #73 [2017-06-26] - Takahiro Ueda (c130234)
  • [test] Add a test case for #190 [2017-06-26] - Takahiro Ueda (0edb149)
  • [ci] Set up for Coveralls (#203) [2017-06-26] - Takahiro Ueda (af6b3be)
  • [ci] Fix the installation of coveralls on osx [2017-06-27] - Takahiro Ueda (178d2ea)
  • [ci] fix fix fix [2017-06-27] - Takahiro Ueda (1281042)
  • [WIP] and test [2017-06-27] - Takahiro Ueda (3f692fb)
  • [WIP] test: pyenv install --list [2017-06-27] - Takahiro Ueda (7e179e9)

4.2 (2017-07-XX)

Added

Textual manipulation on the output.

  • #Add
  • #CloseDictionary
  • #OpenDictionary
  • #UseDictionary

Storage for spectator terms.

  • CopySpectator
  • CreateSpectator
  • EmptySpectator
  • RemoveSpectator
  • ToSpectator

Setup parameters

  • tempsortdir setup parameter, $FORMTMPSORT environment variable and -ts command line option to specify a directory for sort files
  • wtimestats setup parameter, On/Off wtimestats statement and -W command line option to print the wall-clock time on the master (#127)
  • T (= 10^12) was added as an unit prefix for integer parameters

Preprocessor

  • activeexprnames_ and numactiveexprs_ variables allow one to enumerate currently active expressions (#175)
  • optimvalue_ and optimscheme_ variables provide additional information from output optimization
  • pid_ variable gives the process identifier of the FORM process
  • toupper_() and tolower_() macros to convert text to upper/lower case
  • #AppendPath and #PrependPath to manipulate the FORMPATH at runtime
  • #If
    • isdefined() checks if an object has been defined
  • #ReverseInclude reads an input file but in reverse order
  • #SkipExtraSymbols adds a number of dummy extra symbols, which can be used to keep extra symbols in previous output optimizations (forum?f=8&t=133)

Statements

  • ArgToExtraSymbol converts function arguments into external symbols (#137)
  • CommuteInset declares partially commutative sets (forum?f=8&t=131)
  • Delete ExtraSymbols removes extra symbols from the system (forum?f=8&t=133)
  • Format
    • O4 option to use local stochastic search for output optimization
    • QuadFortran option to print numbers as quadruple floating-point numbers in Fortran compilers
  • Identify
    • all option generates all matches
  • If
    • occurs_() checks if variables occur inside the current term
  • PolyRatFun
    • the second function RAT as the reciprocal of a polyratfun
    • expand and divergence options to expand polyratfun with respect to a symbol
  • Table
    • zero-dimensional sparse tables, which behave as pure functions. Some examples can be found in #86
    • onefill option to fill table elements with 1 by default
  • Transform
    • addargs to add function arguments
    • mulargs to multiply function arguments
    • selectargs, dropargs to select/drop some of function arguments (#86)
    • dedup to remove duplicates from function arguments (see also #158)

Set

  • vector_, the set of all declared vectors (#84)

Functions

  • id_ tries for simple replacements
  • mul_ performs polynomial multiplication (#49)
  • partitions_ generates all partitions of the arguments
  • perm_ generates all permutations of the arguments
  • putfirst_ moves a function argument to the first position (#86)

Changed

  • [parform] FillExpression is now available (#17)
  • The test suite was rewritten to work without strace (#20)
  • Duplicated labels in a module now give compiler errors (#69)
  • Setup options path and incdir are now available as in the reference manual (#72)
  • Sets now can have negative vectors (#78)
  • Bracket and Antibracket now accept a set (#87)
  • #$var=... and #Inside are now allowed inside other statements (#135)
  • Now NTHREADS_ is always 1 for the sequential FORM and ParFORM. (#159)

Fixed

  • [tform] Fixed a bug with Collect (#11)
  • [tform] Fixed a crash in factorizing a constant (#18)
  • Fixed failures of substitutions immediately after PutInside/AntiPutInside (#30)
  • Fixed a bug of transform,replace that xarg_ acted only on symbols (#54)
  • Fixed a bug with combining Bracket+ and IntoHide (#61)
  • Fixed a bug that PolyRatFun in functions always gave errors (#73)
  • Fixed a freeze with $x^n? in LHS (#77)
  • Fixed wrong results by simplifications on powers (exp_ function) (#90)
  • Put a runtime check for gamma matrix without spin line (#94)
  • Fixed failures in pattern matching with ?a and symmetric functions (#117)
  • Fixed a bug that repeat is ignored for some of generated terms of dd_ (#121)
  • Fixed a behaviour of redefining hidden expressions that made duplicates (#129)
  • Fixed corrupted characters in printing the maximum negative integer (#139)
  • Fixed a crash of Bracket+ for large functions (#142)
  • Fixed a bug that a set of indices matched to a number (#153)
  • Fixed a bug in Keep Bracket which ran out the compressed buffer (#154)
  • Fixed a bug that expr[x] lost some terms with Bracket+ for functions (#162)
  • Fixed Normalize to work with f(-v) where v is a vector (#163)
  • [tform] Fixed a crash of expr[x] with Bracket+ and big expressions (#165)
  • Fixed a behaviour of count_ in functions (#167)
  • Fixed a bug that argument field wildcards were not expanded for distrib_ (#186)
  • Fixed gcd_ with 0 (#191)
  • Fixed a bug in the preprocessor that a comment character was eaten after a blcok construction (forum?f=3&t=135)
  • Fixed a bug in the compiler to parse arguments for ArgImplode/ArgExplode (forum?f=3&t=169)
  • Fixed the Argument environment with sets of functions (forum?f=3&t=187)
  • [parform] Fixed bugs in InParallel (forum?f=8&t=158)
  • Fixed #write "%e",expr for Fortran (44cf65f, aecd000)
  • Fixed Delete Storage (44cf65f)
  • Fixed the DoubleFortran mode that printed an integer as a floating-point number unnecessarily (e80f244)
  • Fixed an infinite loop bug in polynomial GCD and increased performance (58bb42d, 726f55d, 483d98f)
  • [parform] Fixed a failure in disabling parallelization for global $-variables (928e8c9)
  • Fixed a bug in factorization due to corruption of the coefficient in Hensel lifting (6f06e94)
  • [sequential form] Fixed a forgotten initialization of a pointer. This led to crashes with $-variables storing big polynomials (b32e53e)
  • Fixed signs with functions inside functions (baa5b36)
  • Fix a memory bug in MakeInteger (4cc67db)
  • [tform] Fixed a bug in Hide (e73c865)
  • Fixed a bug that caused a hide file not deleted at termination (1e6bfda)
  • Fixed the compiler to correctly recognize !<vector or set> option of the ToTensor statement (e9643be)
  • Fixed memory bugs at the startup that gave unreasonable crashes in some circumstances (9b58d87)
  • Fixed build errors and improved portability (7136dda, 6990928, 043727c)
  • Fixed a nasty bug in Bracket+ (1ddffec)
  • Fixed a rare bug in Bracket+ (0f784ed)
  • Fixed memory allocation for $-variables, which seemed to be problematic only on macOS (f6b7409)

And some other small bug fixes, improvements and code refactoring.

The below will be deleted.

  • Fixed the maximum string length (57c183f) [for debugging, not used]
  • Wrong variable was set to -1 on compiler error (32eda69)
  • Fix segfault after "Sorted function argument too long" (033e880)
  • Set saner boundaries on function/term sortbuffers (2444eda) [more or less for spectators??]
  • Changed FactDollar to take out content properly. (8805b9e) [bugfix? refactoring? imprvoment??]

4.1 (2013-10-25)

See https://github.com/vermaseren/form/releases/tag/v4.1-20131025.

#!/bin/sh
commit_url_prefix=https://github.com/vermaseren/form/commit
git log --reverse --date=short --format="- %s [%ad] - %an%n ([%h]($commit_url_prefix/%H?w=1))" "$@"
all: CHANGELOG.html ReleaseNote.html
clean:
rm -f CHANGELOG.html ReleaseNote.html
CHANGELOG.html: CHANGELOG.md
bash markdown2html.bash CHANGELOG.md CHANGELOG.html
ReleaseNote.html: ReleaseNote.md
bash markdown2html.bash ReleaseNote.md ReleaseNote.html
#!/bin/bash
set -eu
set -o pipefail
src_file=$1
dst_file=$2
if type pandoc >/dev/null 2>&1; then
pandoc "$src_file" -o "$dst_file" -s --self-contained -t html5 -c github.css
#elif type showdown >/dev/null 2>&1; then
# showdown makehtml -i "$src_file" -o "$dst_file" --github
elif type grip >/dev/null 2>&1; then
grip "$src_file" --export "$dst_file"
else
echo 'Error: no command available to convert Markdown to HTML' >&2
echo 'You may consider:' >&2
echo ' brew install pandoc' >&2
echo ' pip install grip' >&2
exit 1
fi

Highlights

We introduce FORM 4.2, a new minor release. We have made more than 360 revisions(??), including more than 50 bug fixes(??), and added more than 20 new features.

Some 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 with respect to a variable. 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)

Further changes are briefly summarized in the below.

Put the contents of CHANGELOG.md or link to it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment