Releases: Macaulay2/M2
Releases · Macaulay2/M2
Macaulay2 v1.18
New GitHub Contributors and Package Authors
- Elise Walker
- Fatemeh Tarashi Kashani
- Fereshteh Bahadorykhalily
- Jackson Leaman
- Jieao Song (@8d1h) made their first contribution in #1911
- Josselin Poiret (@jpoiret) made their first contribution in #2046
- Lauren Cranton Heller (@lcrantonh) made their first contribution in #2037
- Michael Burr
- Navid Nemati
- Oliver Clarke
- Ravi Vakil
Changelog
- packages that have been published and certified:
-
PhylogeneticTrees, a package by Nathaniel Bushek, Ruth Davidson, Elizabeth Gross, Pamela Harris, Robert Krone, Colby Long, AJ Stewart, and Robert Walker for invariants for group-based phylogenetic models, has been published.
-
GradedLieAlgebras, a package by Clas Löfwall and Samuel Lundqvist for computations in graded Lie algebras, has been published.
-
RelativeCanonicalResolution, a package by Christian Bopp and Michael Hoff for computation of the relative canonical resolution for g-nodal canonical curves with a fixed
$g^1_k$ , has been published. -
FrobeniusThresholds, a package by Juliette Bruce, Daniel Hernández, Karl Schwede, Dan Smolkin, Pedro Teixeira, and Emily Witt, for calculations of F-thresholds, has been published.
-
- new packages:
- AssociativeAlgebras, a package by Frank Moore and Mike Stillman for noncommutative algebra, has been added.
- RationalPoints2, a package by Jieao Song for finding rational points on a variety, has been added.
- SuperLinearAlgebra, a package by Fereshteh Bahadorykhalily and Fatemeh Tarashi Kashani for computing with supermatrices, has been added.
- SubalgebraBases, a package by Michael Burr, Oliver Clarke, Timothy Duff, Jackson Leaman, Nathan Nichols, Elise Walker, Mike Stillman, and Harrison Tsai, for computing canonical subalgebra bases, has been added.
- AInfinity, a package by David Eisenbud and Mike Stillman for A-infinity structures on free resolutions, has been added.
- LinearTruncations, a package by Lauren Cranton Heller, David Eisenbud, and Navid Nemati for finding multigraded truncations that give linear resolutions, has been added.
- improved packages:
- The package NumericalSchubertCalculus has been improved: several functions and options were added for user convenience. Output formats, verbosity, and documentation were greatly improved.
- The package VirtualResolutions has been improved: a new strategy using a significantly faster algorithm has been added for the multigradedRegularity function.
- The package NoetherianOperators has been improved: the DiffOp type has been reworked, and support for Noetherian operators and differential primary decompositions of modules has been added.
- Several packages (Chordal, Graphs, Markov, and Posets) that generate and display visualizations of mathematical objects using external image viewers have been modified so that they no longer require package-specific configuration of these viewers. Instead, show is used, which opens the images using the system default viewer (using
openon macOS andxdg-openon Linux).
- functionality added:
- A new type of real number, RRi based on interval arithmetic has been added, based on the library
mpfi, thanks to Michael Burr, with help from Anton Leykin. - The function tests has been added, for getting information about a package's tests.
- A new type of list, AngleBarList, has been added, for use in forming free associative algebras. An instance can be created with the notation
<|x,y,z|>. - The function assert now accepts an Expression object as its argument. This provides more useful error messages for debugging, because they will contain the expression in unevaluated form, which might be something like
d == 3. - In the function orbitRepresentatives in the package MonomialOrbits, it is now possible to specify a subset of monomials from which the monomials that represent orbits are chosen, or from which the monomials that represent orbits are removed.
- A new type of real number, RRi based on interval arithmetic has been added, based on the library
- functionality removed
- The type
MatrixDegreeExpressionhas been removed. - The type
ModuleMaphas been removed.
- The type
Macaulay2 v1.17
New GitHub Contributors
- Christopher Eur (@chrisweur) made their first contribution in #1505
- Olga Kuznetsova (@olgakuznetsova) made their first contribution in #1587
- Iman Bahmani Jafarloo (@imanbj) made their first contribution in #1623
- Francesca Gandini (@fragandi) made their first contribution in #1591
- Ashleigh Adams (@aadams22) made their first contribution in #1511
- Roser Homs Pons (@roserhp) made their first contribution in #1713
Changelog
- functionality added:
- The function importFrom has been added, for importing individual symbols from another package.
- The function readPackage has been added, for retrieving the options in the preamble of a package quickly.
- The function hooks has been added, for retrieving the list of functions installed as hooks for handling computations of a specific type.
- The function baseRing has been added, for retrieving the ring from which a ring was formed.
- The functions findProgram and runProgram have been added, to provide a uniform way for packages to locate external programs. (The names and locations of such programs may vary from system to system.
- The function formation has been added, for retrieving the way a module was formed, whether as a direct sum, tensor product, or Hom-module.
- functionality improved:
- The function capture is now used for generating most examples and tests.
- The function installPackage accepts two new argument: installPackage(...,MakeHTML=>...) and installPackage(...,MakePDF=>...). The PDF output will be improved in a future release.
- The new optional argument name Keywords can now be used with packages to specify a list of key words (or phrases), useful for searching and organizing the packages by topic, as seen here: packages provided with Macaulay2.
- The functions addHook and runHooks have been modified to accept a new syntax, allow giving names to hooks, and run specific hooks using the option
Strategy. The symbol Default has been added for use as the name of hooks. The mutable hash table GlobalHookStore has been added as a storage location for some hooks. For more information on using hooks, see that documentation node. - The functions code is modified to also show the code for hooks listed by the function hooks.
-
$\LaTeX$ typesetting for the web documentation is now rendered using $\KaTeX$, a JavaScript math typesetting library for browsers. As a result,$\LaTeX$ equations and matrices are rendered correctly. One notable change is that mathematical characters and equations now must be enclosed in\(...\),\[...\],$...$, or$$...$$in order to be rendered. See html(TEX) for more details and examples - The option Boxes of netList has been made more flexible to allow customization of the box; it now accepts as input a pair of lists of rows and columns.
- A brief documentation of various types of objects can be viewed usin ? Symbol.
- The document function now accepts three new options: Acknowledgement, Contributors, and References. The content of each will appear under a subsection of the same name in the documentation. Moreover, document(String) is now a synonym for doc(String).
- The regex function, as well as other functions that accept regular expressions, have been rewritten to use the Perl regular expression syntax by default, which allows more fine-grained control of the matches. The POSIX extended flavor is still available as an option. The functionality is unchanged in almost all cases, except for regular expressions containing escaped special characters, where another backslash may be needed, and, in rare cases, where there are multiple options to match the regular expression. Internally, the new implementation incorporates the Boost.Regex library.
- new packages:
- EagonResolution, a package by David ...
Macaulay2 v1.16
New GitHub Contributors
- @denham0 made their first contribution in #414
- @gblanco92 made their first contribution in #447
- @dimpase made their first contribution in #514
- @andrew-bydlon made their first contribution in #525
- @kroner made their first contribution in #531
- @aarondall made their first contribution in #590
- @samuellundqvist made their first contribution in #601
- @ggsmith made their first contribution in #619
- @midipasq made their first contribution in #688
- @sommars made their first contribution in #700
- @eloisagrifo made their first contribution in #705
- @dylanpeifer made their first contribution in #709
- @dwilburne made their first contribution in #713
- @prof-joe made their first contribution in #721
- @emduart2 made their first contribution in #802
- @chbopp made their first contribution in #806
- @lilysilverstein made their first contribution in #828
- @kmarius made their first contribution in #878
- @ycid made their first contribution in #851
- @klee669 made their first contribution in #858
- @alexandru-iosif made their first contribution in #862
- @LorenzoVenturello made their first contribution in #831
- @rz839 made their first contribution in #915
- @DiffAlg made their first contribution in #960
- @crgibbons made their first contribution in #962
- @kathlenkohn made their first contribution in #970
- @janino937 made their first contribution in #1034
- @janverschelde made their first contribution in #1036
- @natelastname made their first contribution in #1062
- @antostain made their first contribution in #1083
- @a-hochenegger made their first contribution in #1107
- @pepperhdj made their first contribution in #1148
- @zeromath made their first contribution in #1179
- @michaelhoff made their first contribution in #1282
- @tbrysiewicz made their first contribution in #1289
- @Sondzus made their first contribution in #1338
- @foschreyer made their first contribution in #1336
Changelog
- functionality added:
- The location of Macaulay2's emacs files has changed from
site-lisptosite-lisp/Macaulay2, so users, after installing this version of Macaulay2, may once again need to run setupEmacs (or setup).
- The location of Macaulay2's emacs files has changed from
- new packages:
- SimplicialPosets, a package by Nathan Nichols for constructing Stanley simplicial poset rings, has been added.
- SlackIdeals, a package by Amy Wiebe and Antonio Macchia for slack ideals of polytopes and matroids, has been added.
- PositivityToricBundles, a package by Andreas Hochenegger for checking positivity of toric vector bundles, has been added.
- SparseResultants, a package by Giovanni Staglianò for computations with sparse resultants, has been added.
- DecomposableSparseSystems, a package by Taylor Brysiewicz, Jose Israel Rodriguez, Frank Sottile, and Thomas Yahl for solving decomposable sparse systems, has been added.
- MixedMultiplicity, a package by Kriti Goel, Sudeshna Roy, and J. K. Verma for mixed multiplicities of ideals, has been added.
- ThreadedGB, a package by Sonja Petrovic, Sara Jamshidi Zelenberg, and Tanner Zielinski for computing a Groebner basis using the classical Buchberger algorithm with multiple threads, has been added.
- PencilsOfQuadrics, a package by Frank-Olaf Schreyer, David Eisenbud, and Yeongrak Kim for Clifford algebras of pencils of quadratic forms, has been added.
- VectorGraphics, a package by Paul Zinn-Justin for producing scalable vector graphics, has been added.
- packages that have been published and certified:
DeterminantalRepresentations, a package by Justin Chen and Papri Dey for computing determinantal representations, has been published.
Seminormalization, a package by Karl Schwede and Bernard Serbinowski for computing seminormalization of rings, has been published.
SumsOfSquares, a package by Diego Cifuentes, Thomas Kahle, Pablo A. Parrilo, and Helfried Peyrl for sums of squares, has been published.
- functionality added:
- The function installPackage now returns, as its value, the package that was installed. This makes it more convenient to both install and check a package, because one can type
check installPackage "FOO". - The roots command is now handled by the MPSolve library, and is more robust, but no longer takes an optional argument
Unique. - The Complexes package has new data types and routines for homological algebra. Eventually, it will replace the current facilities for homological algebra. We are making this available in order to get feedback from users before making this change. Please email the authors with any and all comments or suggestions.
- The function installPackage now returns, as its value, the package that was installed. This makes it more convenient to both install and check a package, because one can type
- functionality improved

