diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt')
-rw-r--r-- | Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt | 215 |
1 files changed, 110 insertions, 105 deletions
diff --git a/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt b/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt index c1f2c834ec6..5ecc66f5f58 100644 --- a/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt +++ b/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt @@ -6,8 +6,8 @@ .. _firstrelease: -v0.1 (2018/01/11): initial release. Features: ---------------------------------------------- +0.1 (2018/01/11): initial release. Features: +-------------------------------------------- * The :ref:`\\poldef <poldef;>` parser itself, * Differentiation and anti-differentiation, @@ -18,8 +18,8 @@ v0.1 (2018/01/11): initial release. Features: Only one-variable polynomials so far. -v0.2 (2018/01/14) ------------------ +0.2 (2018/01/14) +---------------- * Fix: ``"README thinks \numexpr recognizes ^ operator"``. * Convert README to reStructuredText markup. @@ -30,18 +30,18 @@ v0.2 (2018/01/14) Due to lack of available time the test suite might not be extensive enough. Bug reports are very welcome! -v0.3 (2018/01/17) ------------------ +0.3 (2018/01/17) +---------------- -* bug fixes: +* Bug fixes: - - the ``0.1`` :ref:`\\PolEval <PolEvalAt>` accepted expressions for its + - The ``0.1`` :ref:`\\PolEval <PolEvalAt>` accepted expressions for its second argument, but this was removed by mistake at ``0.2``. Restored. **Attention**: at ``0.4`` this has been reverted again, and :ref:`\\PolEval{P}\\AtExpr{foo} <PolEvalAtExpr>` syntax is needed for using expressions in the second argument. -* incompatible or breaking changes: +* Incompatible or breaking changes: - :ref:`\\PolToExpr <PolToExpr>` now by default uses *descending* powers (it also treats differently coefficients equal to 1 or -1.) @@ -51,7 +51,7 @@ v0.3 (2018/01/17) wrapped in an ``\xintRound`` or ``\xintFloat``, this step has been removed; the former meaning is available as :ref:`\\PolEvalReduced <PolEvalReducedAt>`. -* new (or newly documented) macros: +* New (or newly documented) macros: - :ref:`\\PolTypesetCmd <PolTypesetCmd>` - :ref:`\\PolTypesetCmdPrefix <PolTypesetCmdPrefix>` @@ -65,11 +65,11 @@ v0.3 (2018/01/17) - :ref:`\\PolToExprTermPrefix <PolToExprTermPrefix>` - :ref:`\\PolToExprVar <PolToExprVar>` - :ref:`\\PolToExprTimes <PolToExprTimes>` -* improvements: +* Improvements: - - documentation has a table of contents, internal hyperlinks, + - Documentation has a table of contents, internal hyperlinks, standardized signature notations and added explanations. - - one can do ``\PolLet{g}={f}`` or ``\PolLet{g}{f}``. + - One can do ``\PolLet{g}={f}`` or ``\PolLet{g}{f}``. - ``\PolToExpr{f}`` is highly customizable. - :ref:`\\poldef <poldef;>` and other defining macros prepare the polynomial functions for usage within ``\xintthefloatexpr`` (or @@ -82,25 +82,25 @@ v0.3 (2018/01/17) :ref:`\\PolGenFloatVariant <PolGenFloatVariant>` must be used for generation floating point polynomial functions. -v0.3.1 (2018/01/18) -------------------- +0.3.1 (2018/01/18) +------------------ Fixes two typos in example code included in the documentation. -v0.4 (2018/02/16) ------------------ +0.4 (2018/02/16) +---------------- -* bug fixes: +* Bug fixes: - - when Euclidean division gave a zero remainder, the internal + - When Euclidean division gave a zero remainder, the internal representation of this zero polynomial could be faulty; this could cause mysterious bugs in conjunction with other package macros such as :ref:`\\PolMapCoeffs <PolMapCoeffs>`. - :ref:`\\PolGCD <PolGCD>` was buggy in case of first polynomial being of lesser degree than the second one. -* breaking changes: +* Breaking changes: - - formerly :ref:`\\PolEval{P}\\At{foo} <PolEvalAt>` allowed ``foo`` to + - Formerly :ref:`\\PolEval{P}\\At{foo} <PolEvalAt>` allowed ``foo`` to be an expression, which was transparently handled via ``\xinttheexpr``. Now, ``foo`` must be a fraction (or a macro expanding to such) in the format acceptable by ``xintfrac.sty`` @@ -110,13 +110,13 @@ v0.4 (2018/02/16) The same holds for :ref:`\\PolEvalReduced <PolEvalReducedAt>` and :ref:`\\PolFloatEval <PolFloatEvalAt>`. - - the ``3.0`` automatic generation of floating point variants has + - The ``3.0`` automatic generation of floating point variants has been reverted. Not only do *not* the package macros automatically generate floating point variants of newly created polynomials, they actually make pre-existing such variant undefined. See :ref:`\\PolGenFloatVariant <PolGenFloatVariant>`. -* new non-expandable macros: +* New non-expandable macros: - :ref:`\\PolGenFloatVariant <PolGenFloatVariant>` - :ref:`\\PolGlobalLet <PolGlobalLet>` @@ -138,7 +138,7 @@ v0.4 (2018/02/16) - :ref:`\\PolPrintIntervalsPrintRightEndPoint <PolPrintIntervalsPrintRightEndPoint>` - :ref:`\\PolReduceCoeffs* <PolReduceCoeffs*>` - :ref:`\\PolMakeMonic <PolMakeMonic>` -* new expandable macros: +* New expandable macros: - :ref:`\\PolToExprOneTermStyleA <PolToExprOneTermStyleA>` - :ref:`\\PolIfCoeffIsPlusOrMinusOne <PolIfCoeffIsPlusOrMinusOne>` @@ -155,80 +155,80 @@ v0.4 (2018/02/16) - ``\PolIfEndPointIsZero`` (removed at 0.7) - :ref:`\\PolIntervalWidth <PolIntervalWidth>` - :ref:`\\PolDecToString <PolDecToString>` -* improvements: +* Improvements: The main new feature is implementation of the `Sturm algorithm`_ for localization of the real roots of polynomials. -v0.4.1 (2018/03/01) -------------------- +0.4.1 (2018/03/01) +------------------ Synced with xint 1.3. -v0.4.2 (2018/03/03) -------------------- +0.4.2 (2018/03/03) +------------------ Documentation fix. -v0.5 (2018/04/08) ------------------ +0.5 (2018/04/08) +---------------- -* bug fixes: +* Bug fix: - :ref:`\\PolGet{polname}\\fromarray\\macro <PolGet>` crashed when ``\macro`` was an xinttools_ array macro with no items. It now produces the zero polynomial. -* breaking changes: +* Breaking changes: - :ref:`\\PolToSturm <PolToSturm>` creates primitive integer coefficients polynomials. This speeds up localization of roots via :ref:`\\PolSturmIsolateZeros <PolSturmIsolateZeros>`. In case of user protests the author will make available again the code producing the bona fide Sturm polynomials as used formerly. - - polynomials created from :ref:`\\PolFromCSV <PolFromCSV>` or + - Polynomials created from :ref:`\\PolFromCSV <PolFromCSV>` or :ref:`\\PolGet <PolGet>` get their coefficients normalized via xintfrac_\ 's ``\xintRaw``. -* experimental change: +* Experimental change: - - optional argument to :ref:`\\PolSturmIsolateZeros <PolSturmIsolateZeros>` + - Optional argument to :ref:`\\PolSturmIsolateZeros <PolSturmIsolateZeros>` (see ``The degree 41 polynomial with -2, -1.9, -1.8, ..., 0, 0.1, ..., 1.9, 2 as roots`` in ``polexpr-examples.pdf``). It will presumably be replaced in future by an interval specification. -* new non-expandable macro: +* New non-expandable macro: - :ref:`\\PolMakePrimitive <PolMakePrimitive>` -* new expandable macro: +* New expandable macro: - :ref:`\\PolIContent <PolIContent>` -v0.5.1 (2018/04/22) -------------------- +0.5.1 (2018/04/22) +------------------ -* new feature: +* New feature: - - the character ``'`` can be used in polynomial names. + - The character ``'`` can be used in polynomial names. -v0.6 (2018/11/20) ------------------ +0.6 (2018/11/20) +---------------- -* bugfix: +* Bug fixes: - - the starred variant + - The starred variant :ref:`\\PolToSturm*{\<polname\>}{\<sturmname\>} <PolToSturm*>` was broken. On the occasion of the fix, its meaning has been modified, see its documentation. - - using :ref:`\\PolToSturm <PolToSturm>` with a constant polynomial + - Using :ref:`\\PolToSturm <PolToSturm>` with a constant polynomial caused a division by zero error. -* new macro: +* New macro: - :ref:`\\PolSturmIsolateZeros* <PolSturmIsolateZeros*>` acts like the :ref:`non-starred variant <PolSturmIsolateZeros>` then computes all the multiplicities. -* new expandable macros: +* New expandable macros: - :ref:`\\PolSturmIsolatedZeroMultiplicity{\<sturmname\>}{\<index\>} <PolSturmIsolatedZeroMultiplicity>` - :ref:`\\PolSturmNbOfRootsOf{\<sturmname\>}\\LessThanOrEqualTo{\<value\>} <PolSturmNbOfRootsOfLessThanOrEqualTo>` @@ -236,21 +236,21 @@ v0.6 (2018/11/20) - :ref:`\\PolSturmNbWithMultOfRootsOf{\<sturmname\>}\\LessThanOrEqualTo{\<value\>} <PolSturmNbWithMultOfRootsOfLessThanOrEqualTo>` - :ref:`\\PolSturmNbWithMultOfRootsOf{\<sturmname\>}\\LessThanOrEqualToExpr{\<num. expr.\>} <PolSturmNbWithMultOfRootsOfLessThanOrEqualToExpr>` -v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09) --------------------------------------------------------------------- +0.7 (2018/12/08), 0.7.1 (bugfix), 0.7.2 (2nd bugfix) (2018/12/09) +----------------------------------------------------------------- -* breaking changes: +* Breaking changes: - - although :ref:`\\PolPrintIntervals[\<varname\>]{\<sturmname\>} <PolPrintIntervals>` default output + - Although :ref:`\\PolPrintIntervals[\<varname\>]{\<sturmname\>} <PolPrintIntervals>` default output remains the same, some auxiliary macros for user-customization have been removed: ``\PolPrintIntervalsTheEndPoint``, ``\PolIfEndPointIsPositive{T}{F}``, ``\PolIfEndPointIsNegative{T}{F}``, and ``\PolIfEndPointIsZero{T}{F}``. -* bugfix: +* Bug fixes: - - it could happen that, contrarily to documentation, an interval computed + - It could happen that, contrarily to documentation, an interval computed by :ref:`\\PolSturmIsolateZeros{\<sturmname\>} <PolSturmIsolateZeros>` had zero as an endpoint, - :ref:`\\PolEnsureIntervalLength{\<sturmname\>}{\<index\>}{\<exponent\>} @@ -261,7 +261,7 @@ v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09) real roots, hence for which no isolation intervals existed (thanks to Thomas Söll for report). -* new macros: +* New macros: - :ref:`\\PolSturmIsolateZeros**{\<sturmname\>} <PolSturmIsolateZeros**>` - :ref:`\\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots{\<sturmname\>} <PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots>` @@ -275,7 +275,7 @@ v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09) - :ref:`\\PolPrintIntervalsUnknownRoot <PolPrintIntervalsUnknownRoot>` - :ref:`\\PolPrintIntervalsPrintMultiplicity <PolPrintIntervalsPrintMultiplicity>` -* new expandable macros: +* New expandable macros: - :ref:`\\PolSturmNbOfRationalRoots{\<sturmname\>} <PolSturmNbOfRationalRoots>` - :ref:`\\PolSturmNbOfRationalRootsWithMultiplicities{\<sturmname\>} <PolSturmNbOfRationalRootsWithMultiplicities>` @@ -286,10 +286,10 @@ v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09) - :ref:`\\PolPrintIntervalsTheSturmName <PolPrintIntervalsTheSturmName>` - :ref:`\\PolPrintIntervalsTheMultiplicity <PolPrintIntervalsTheMultiplicity>` -v0.7.3 (2019/02/04) -------------------- +0.7.3 (2019/02/04) +------------------ -* bugfix: +* Bug fixes: - Debugging information not destined to user showed in log if root finding was done under ``\xintverbosetrue`` regime. @@ -302,27 +302,27 @@ v0.7.3 (2019/02/04) - Polynomial names ending in digits caused errors (reported by Thomas Söll). -v0.7.4 (2019/02/12) -------------------- +0.7.4 (2019/02/12) +------------------ -* bugfix: +* Bug fix: - 20000000000 is too big for ``\numexpr``, shouldn't I know that? Thanks to Jürgen Gilg for report. -v0.7.5 (2020/01/31) -------------------- +0.7.5 (2020/01/31) +------------------ Synced with xintexpr 1.4. Requires it. .. _polexpr08release: -v0.8 (2021/03/29) ------------------ +0.8 (2021/03/29) +---------------- Synced with xintexpr 1.4d. Requires it. -* breaking changes: +* Breaking changes: - As the usability of character ``'`` in names has been extended from ``\poldef`` to also generally ``\xintexpr``, ``\xintdefvar``, @@ -336,12 +336,12 @@ Synced with xintexpr 1.4d. Requires it. ``^``. See its documentation and the new configuration :ref:`\\PolToExprCaret <PolToExprCaret>`. -* deprecated: +* Deprecated: - Usage of ``P/Q`` for the euclidean quotient of two polynomials is deprecated. Start using ``quo(P,Q)`` in its place. -* bugfix: +* Bug fixes: - The ``\xintglobaldefstrue`` setting was obeyed only partially by the polexpr macros defining polynomials. @@ -358,17 +358,17 @@ Synced with xintexpr 1.4d. Requires it. extended possibilities for xintexpr 1.4 user-declared functions. Hopefully ``0.8`` achieves full functionality in this context. -* new macros: +* New macros: - :ref:`\\polnewpolverbosefalse <polnewpolverbosefalse>` - :ref:`\\PolToExprCaret <PolToExprCaret>` - :ref:`\\PolToExprInVar <PolToExprInVar>` - - alongside the major new functionalities described in the next item + - Alongside the major new functionalities described in the next item :ref:`\\PolTypeset <PolTypeset>` and :ref:`\\PolToExpr <PolToExpr>` have been enhanced to accept as argument a general expression and not only a pre-declared polynomial name. -* new features: +* New features: - The package is usable under Plain and probably most any TeX format, and not only under LaTeX. @@ -392,15 +392,15 @@ Synced with xintexpr 1.4d. Requires it. See the updated :ref:`Quick syntax overview <quick>` and then :ref:`the extended syntax description <polexpr08>`. -v0.8.1 (2021/04/12) -------------------- +0.8.1 (2021/04/12) +------------------ -* breaking changes: +* Breaking changes: - - renamed v0.8's ``icontent()`` to :ref:`cont() <cont>`. - - renamed v0.8's ``lcoeff()`` to :ref:`lc() <lc>`. + - Renamed 0.8's ``icontent()`` to :ref:`cont() <cont>`. + - Renamed 0.8's ``lcoeff()`` to :ref:`lc() <lc>`. -* bugfix: +* Bug fixes: - Sadly, ``diff1()``, ``diff2()``, ``diffn()`` were broken for polynomials of degrees 8 or more, due to a typo and @@ -415,20 +415,20 @@ v0.8.1 (2021/04/12) was broken by an end-of-line space, left-over from mass conversion from LaTeX to TeX syntax. -* added: +* Added: - :ref:`lpol() <lpol>` - :ref:`lcoeffs() <lcoeffs>` -v0.8.2 (2021/05/05) -------------------- +0.8.2 (2021/05/05) +------------------ -* breaking change: +* Breaking change: - - usage of ``\xintPFloat`` in place of ``\xintFloat`` for + - Usage of ``\xintPFloat`` in place of ``\xintFloat`` for :ref:`\\PolToFloatExprCmd <PolToFloatExprCmd>`. -* improved: +* Improved: - Some xintexpr_ functions such as ``rseq()`` use the semi-colon, and it was mentioned in the documentation that :ref:`\\poldef <poldef;>` @@ -438,49 +438,49 @@ v0.8.2 (2021/05/05) this work-around. With this relase only :ref:`\\poldef <poldef;>` but not :ref:`\\PolDef <PolDef>` needs the work-around. -* track xintexpr_ ``1.4e`` changes relative to powers. +* Track xintexpr_ ``1.4e`` changes relative to powers. -v0.8.3 (2021/05/27) -------------------- +0.8.3 (2021/05/27) +------------------ -* small internal update to track an xintexpr_ ``1.4h`` change +* Small internal update to track an xintexpr_ ``1.4h`` change regarding handling of exceptions. Will require this version at least on loading. -v0.8.4 (2021/11/01) -------------------- +0.8.4 (2021/11/01) +------------------ -* bugfix: :ref:`\\PolSturmIsolateZeros**{\<sturmname\>} +* Bug fix: :ref:`\\PolSturmIsolateZeros**{\<sturmname\>} <PolSturmIsolateZeros**>` did not declare the ``<sturmname>_norr`` and ``<sturmname>_sqf_norr`` polynomials if original polynomial had no real root! -v0.8.5 (2021/11/30) -------------------- +0.8.5 (2021/11/30) +------------------ -* bugfix: support for the ``intfrom()`` function was in the code, +* Bug fix: support for the ``intfrom()`` function was in the code, but the declaration to the polynomial parser had not been done. -* track (belatedly) upstream deprecation of ``\xintSignedFrac`` and +* Track (belatedly) upstream deprecation of ``\xintSignedFrac`` and ``\xintSignedFwOver`` at xintexpr_ ``1.4g`` -v0.8.6 (2022/01/09) -------------------- +0.8.6 (2022/01/09) +------------------ -* provide a separate ``polexpr-examples.pdf`` with examples formerly +* Provide a separate ``polexpr-examples.pdf`` with examples formerly shown as part of the html documentation. -* minor improvement to the computation of a priori bounds on real roots. +* Minor improvement to the computation of a priori bounds on real roots. -* add :ref:`\\PolPrintIntervalsRowSeparator <PolPrintIntervalsRowSeparator>` +* Add :ref:`\\PolPrintIntervalsRowSeparator <PolPrintIntervalsRowSeparator>` and allow usage of ``amsmath`` environments in custom :ref:`\\PolPrintIntervalsBeginEnv <PolPrintIntervalsBeginEnv>` and :ref:`\\PolPrintIntervalsEndEnv <PolPrintIntervalsEndEnv>`. -v0.8.7 (2022/05/14) -------------------- +0.8.7 (2022/05/14) +------------------ -* bugfix: catcode sanitization by :ref:`\\poldef <poldef;>` was minimal +* Bug fix: catcode sanitization by :ref:`\\poldef <poldef;>` was minimal ever since ``0.1`` and handled only the semi-colon. Thus e.g. the active ``!`` from babel-french caused errors and ``\string!`` was needed as work-around for factorials. Now the same sanitization as @@ -488,9 +488,14 @@ v0.8.7 (2022/05/14) only work at locations where the catcodes are not yet frozen at the time ``\poldef`` expands. -* split the html documentation into three files and enhance it via CSS +* Split the html documentation into three files and enhance it via CSS styling. +0.8.7a (2022/05/19) +------------------- + +* Documentation updates. + .. _xinttools: .. _xintfrac: |