0.67 2017-09-23
[ADDED]
- lastfor stops forprimes (etc.) iterations
- is_square(n) returns 1 if n is a perfect square
- is_polygonal(n,k) returns 1 if n is a k-gonal number
[FUNCTIONALITY AND PERFORMANCE]
- shuffle prototype is @ instead of ;@, so matches List::Util.
- On Perl 5.8 and earlier we will call PP instead of trying
direct-to-GMP. Works around a bug in XS trying to turn the
result into an object where 5.8.7 and earlier gets lost.
- We create more const integers, which speeds up common uses of
permutations.
- CSPRNG now stores context per-thread rather than using a single
mutex-protected context. This speeds up anything using random
numbers a fair amount, especially with threaded Perls.
- With the above two optimizations, randperm(144) is 2.5x faster.
- threading test has threaded srand/irand test added back in, showing
context is per-thread. Each thread gets its own sequence and calls
to srand/csrand and using randomness doesn't impact other threads.
v1.0.1
-- Dmitry Kovalenko provided fixes to mp_add_d() and mp_init_copy()
-- Matt Johnston contributed some improvements to mp_div_2d(),
mp_exptmod_fast(), mp_mod() and mp_mulmod()
-- Julien Nabet provided a fix to the error handling in mp_init_multi()
-- Ben Gardner provided a fix regarding usage of reserved keywords
-- Fixed mp_rand() to fill the correct number of bits
-- Fixed mp_invmod()
-- Use the same 64-bit detection code as in libtomcrypt
-- Correct usage of DESTDIR, PREFIX, etc. when installing the library
-- Francois Perrad updated all the perl scripts to an actual perl version
Changes from 2.6.3 to 2.6.4
- Christoph Gohkle noticed a lack of coverage for the 2.6.3
`floor` and `ceil` functions for MKL that caused seg-faults in
test, so thanks to him for that.
0.74 - 27 Aug 2017, H.Merijn Brand
* Re-enable opening files with bad characters in the filename (issue#14)
0.73 - 30 Jul 2017, H.Merijn Brand
* Spreadsheet::XLSX::Reader::LibXML support completely dropped
* New options for ss2tk (font specs and SS labels)
* Safer xls2csv option parsing/passing
* Pass unknown command-line options to the parser
* Fix ReadData ("a,b,c\n1,2,3\n", parser => "csv")
* Drop 5.8.0 support. 5.8.1 is now minimum
0.72 - 25 May 2017, H.Merijn Brand
* get_active_sheet is only available as of Spreadsheet::ParseExcel 0.61
* Support password protected spreadsheets (implementation just for Excel)
* Do not warn on undefined labels (xlscat)
0.71 - 13 May 2017, H.Merijn Brand
* Use -w as intended
* Add option pivot
* No trailing spaces on xlscat -L
* Lexicalize code snippet (issue#12)
* Add attr method
* Remove special chars from worksheet name component (Windows, PR#13)
* Add refresh to ss2tk / csv2tk
* Add shortcut for UTF-8 output to xlscat
* Upgrade recommended modules to required for cpancover
0.66 2017-09-12
[ADDED]
- random_semiprime random n-bit semiprime (even split)
- random_unrestricted_semiprime random n-bit semiprime
- forderange { ... } n derangements iterator
- numtoperm(n,k) returns kth permutation of n elems
- permtonum([...]) returns rank of permutation array ref
- randperm(n[,k]) random permutation of n elements
- shuffle(...) random permutation of an array
[FUNCTIONALITY AND PERFORMANCE]
- Rewrite sieve marking based on Kim Walisch's new simple mod-30 sieve.
Similar in many ways to my old code, but this is simpler and faster.
- is_pseudoprime, is_euler_pseudoprime, is_strong_pseudoprime changed to
better handle the unusual case of base >= n.
- Speedup for is_carmichael.
- is_frobenius_underwood_pseudoprime checks for jacobi == 0. Faster.
- Updated Montgomery inverse from Robert Gerbicz.
- Tighter nth prime bounds for large inputs from Axler 2017-06.
Redo Ramanujan bounds since they're based on nth prime bounds.
- chinese objectifies result (i.e. big results are bigints).
- Internal support for Baillie-Wagstaff (pg 1402) extra Lucas tests.
- More standardized Lucas parameter selection. Like other tests and the
1980 paper, checks jacobi(D) in the loop, not gcd(D).
- entropy_bytes, srand, and csrand moved to XS.
- Add -secure import to disallow all manual seeding.
Changes 1.1.1:
Units
-----
Fix an issue with the Quantity Add postprocessor in Python 3.6.
Support functions with quantities and dimensions.
Fix addition of a quantity and a number.
Workaround power of a quantity.
Fix SI prefix definitions
Core
----
Fix the Add/Mul postprocessor logic for subclasses.
Fix various recursion issues in the Add assumptions that prevented isympy from working with the cache off.
Fix some test failures on 32-bit systems.
Allow for complex NumPy scalars in sympify.
Code generation
---------------
Only call asarray in lambdify on Python builtin numeric types. Fixes lambdify for array subclasses such as xarray.
Fix using preprocessor_statements kwarg in CCodeGen.
Matrices
--------
Fix stacking of empty matrices.
Other
-----
Build the docs with the latest version of Sphinx. Fixes the search functionality being broken in the docs.
Fix the language classifiers in setup.py
Changes that might impact existing code
Eigen 3.3 fixes a few shortcomings that might impact existing code:
* Eigen 3.3 clarifies the usage of the Index type in SparseMatrix,
PermutationMatrix, Transpositions, as detailed below.
* The normalize and normalized methods will now leave their input
unchanged if its norm is 0 or too close to 0. Previously this
resulted in a vector containing NaNs or infinities.
* internal::significant_decimals_impl is deprecated and users of
custom scalar types are encouraged to overload
NumTraits<>::digits10().
In Eigen 3.3, the evaluation mechanism of expressions has been
completely rewritten. c.f. http://eigen.tuxfamily.org/index.php?title=3.3
Looks as though C++11 support was added and Eigen 2 support removed.
Detailed changelog:
http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.4
Changes from 2.6.2 to 2.6.3
- Documentation now available at readthedocs.io_.
- Support for floor() and ceil() functions added by Caleb P. Burns.
- NumPy requirement increased from 1.6 to 1.7 due to changes in iterator
flags.
- Sphinx autodocs support added for documentation on readthedocs.org.
- Fixed a bug where complex constants would return an error, fixing
problems with `sympy` when using NumExpr as a backend.
- Fix for 277 whereby arrays of shape (1,...) would be reduced as
if they were full reduction. Behavoir now matches that of NumPy.
- String literals are automatically encoded into 'ascii' bytes for
convience.
Maxima 5.40 change log
======================
New items in core:
------------------
[0eda309] New functions encode_time and decode_time, with test cases.
New items in share:
-------------------
[534a7d1] add symplectic_ode package
[46a7a0f] Add Kaplan-Meier's survival and empirical distribution estimators
Changes in core:
----------------
[cb259bb] change O(n^2) method for flattening list to O(n) method.
[21cf8e1] split totient into two parts
[6ef2b26] optimized gcfactor and tried to make it easier to read.
[1594167] optimize gc squaring and inline gctime1
[d7ff7c3] inline gctimes.
[4c8b6c6] sped up psumsq.
[f306940] speeded up imodp.
[efadb61] new implementation of ; is about a factor of 2 faster on sbcl
[9c79308] move jacbi and related functions from rat3c to numth
[75d8ceb] sped up divsum by splitting it in two parts where the lower
Numerous cross-compiling changes.
Numerous documentation changes and improvements.
Build/installation improvements.
Many updates to examples.
Many changes and improvements to test system.
Changes in share:
--------------
[9c7c70c] Commit new version of COMA. Sent by Wilhelm Haager
[0ef9ab0] Check for a constant "variable" of integration in romberg and bromberg
[834ffb3] Import ODEPACK fortran code.
[06bc1bd] Julia() and mandelbrot() are modified to create maxoutXXX.gnuplot
[dca80e3] plotdf: An option to change the arrow density. Patch from themusicgod1.
Bug fixes:
----------
[6ff1570] fix bug 3291: ecl on Linux needs utf-8
[db7788f] fix bug3300 Incorrect sha256sum output
[b896d1f] In rtest_translator, skip some tests which cause a crash (bug #3291).
[f1bc324] Implement numerical evaluation for gamma_greek. Fixes SF bug #3277.
[eec3d7f] In tests for kill(props), work around bug #3289.
[6267b88] In lsquares_mse, ensure temporary variable is assigned the correct value. #3282.
[b58a547] In lsquares_mse, ensure temporary variable is assigned the correct value. #3282.
[a7239b1] In RISCHLOGEPROG, detect zero divisor. This fixes SF bug #3274.
[eaacba6] Unlock :common-lisp package when compiling with SBCL. Fixes SF bug #3271.
[71ee1c0] Fix bug #2740: demo(romberg) fails
[5fb8f81] Add test for bug #2295: Failure to evaluate definite integral
[35c625e] Add tests for bug #2314: Two different results for an integral
[56fb70e] In tests for simplify_sum, add a few more tests from bug report #3236.
Unnumbered bugs:
----------------
[06c0fc7] operatingsystem: Make chdir work with recent gcl versions.
[7277f54] gcfactor(4/(%i+1)) gave an internal error in $bothcoef.
[c477689] Give informative error message when some index is not an integer: "rat(-1) isn't an integer?" from mailing list 2017-03-04.
[96c57d5] work around bug in gcl decode-universal-time.
[b4819b4] work around bug in gcl decode-universal-time.
[a36bf53] When evaluating float(diff(...)), apply float only to the first argument. Fixes bug reported to mailing list 2017-02-27.
[bffe54f] In GETL-LM-FCN-PROP, return NIL for argument which is not a symbol. Fixes bug reported to mailing list 2017-03-04.
[ef1fa9e] Remove built-in symbols from the list for user-defined properties. Fixes bug reported to mailing list 2017-02-24.
[70e05dd] Handle Lisp arrays in MQAPPLY expressions more carefully. Fixes bug reported to mailing list 2017-02-02.
[761cc1c] Handle Lisp arrays in MQAPPLY expressions more carefully. Fixes bug reported to mailing list 2017-02-02.
[b6dd08c] A solve() enhancement by Richard Fateman that should fix a zillion of bug tickets.
[b6b5c5c] Translate define and ":=" correctly by nuking the translator property. Fixes bug reported to mailing list circa 2017-01-24.
[5cfc6fd] Fix bernoulli and binomial pdfs when p=0 or p=1
[d6739e9] Fix bernoulli and binomial pdfs when p=0 or p=1
Maxima 5.39 change log
======================
New items in core:
------------------
New functions firstn and lastn
Changes in core:
----------------
Special variable clean-up
Crosscompiling support
Gnuplot 5.0 or newer versions
Documentation updates
function save: portable way to save "fast" arrays (hash tables)
functions timedate, parse_timedate: handle timezone offsets
Floating point overflow handling
Complex numericals
Testsuite additions and improvements
GIT fixes
ODE improvements
Load .wxm files from wxMaxima
Temporary file handling improvements
New in share:
-------------
package decfp: decimal bigfloat package (thanks to Richard Fateman)
Changes in share:
-----------------
In some share test scripts, put reset() at the top
package solver: rename solver.mac to Solver.mac
package stringproc: new functions slessp, slesspignore, sgreaterp, sgreaterpignore (string comparison)
package charsets: several updates and improvements; still work in progress
package boolsimp: code clean-up; no functional changes
package descriptive, functions continuous_freq, discrete_freq: faster counting algorithm; accept arrays as well as lists
Bug fixes:
----------
[54822ea] Fixed bug #3258: diff with negative order in integrate
[0e4ed41] Fix issue #3255 by changing how resimplification works
[55ba236] In risplit, in preparation of fixing issue #3255 (logarc)
[6e7f9dd] Partial fix#3216: In package lapack, load without compile
[ad86a80] Fixed bug #3232: In ezunits, don't compile predicate functions
[0ec66c6] Fixed GCL bug #49689: Mark a known failure in rtest11
[98b0349] Fixed bug #3213: Round when formatting bigfloats
[3745efa] Another test for bug #3244.
[67fd622] Fixed bug #3246: look-up entries for inv. trig antiderivatives
[120d8be] Fixed bug #3241: In MQAPPLY1, call AMPERCHK
[e916dd0] Fixed bug #3235: In RGRP, rephrase test for ECL
[7060221] Add tests from bug #3221
[2204fca] Fixed bug #3221: elliptic_pi(n,z,m) wrong for z > %pi/2
[cb3dc1c] Fixed bug #453: algsys fails in simple case
[7efa7eb] Add tests from SF bug 2059.
[4851e2c] Add tests from SF [bugs:2038] and [bugs:#2736]
640ca75 SF [bug:#1266][bug:#3208] Don't use $radcan when simplifying in algsys.
2986fc0 Fix SF [bugs:#3208]. Use sqrtdenest in algsys to simplify partial solutions.
5fd2f55 [bugs:#3208] algsys.lisp:presultant: resimplify result
4734ec8 share-subdirs.lisp is auto-generated *and* in version control - which is afaik unavoidable for the lisp-only build system. It also currently is out-of-sync with the repo => Updated the repo version.
f91d677 Increase output when running share/contrib/diffequations/tests
a5873ba SF bugs 3210 and 3212. Fix algsys regressions.
9a4694f Bug #2796 can't load ode2 with n declared constant
3c6c473 Bug report ID: 1621 Wrong solution to ode2
cf9cbb2 Fixed bug #2667: Distinguish trig function exponents in TeX
bf4cf94 In rtest_log, additional tests for SF bug #3105.
9ef3fee Fixed bug #3148: Most of the change is in indentation
8f523fc Fixed bug #3194: No simplification of tan(x+n*%pi) and cot(x+n*%pi)
fdadebc Fixed bug #3186 and other get_plot_option issues.
3fd2b4c Fixed bug #3022: Update the RPM spec file
aa0a365 Fixed bug #3180: declare(foo, antisymmetric)
9ad3f2f Add test for SF bug #3090
a57ff0c Add test for SF bug #3170
4568937 Fixed bug #3144: Avoid unbounded recursion in PTIMES%E
0bcccbe Fixed bug #3109: is(sin(x) <= 1) returns "unknown"
037ea4a Fixed bugs #3114, #3115: introduced by [647516] Fix integrate(x=0,x)
Unnumbered bugs:
----------------
[c8007b9] Partial fix to read_xpm.
[35790e2] Correct documentation for rest
[eb56614] Fix test for orderlessp transitive
[85aff4c] Fix in gcl-builds smismatch
[d37c3e4] Fix in timedate, round TZ
[74800c2] Remove redundant definition of copy from share/affine
[8ec3a05] Another fix for summation of rational functions
[394ca66] In package facexp, remove "&&" because
[b7ee537] Ensure that *OPR-TABLE* associates "{" with $SET
[9f43849] Ran update_examples on Simplification.texi
[dd6fbb1] Fix uses of complex-float-numerical-eval-p
[07363c2] Fix bug in running test files
[6d1b6fe] Partially fixed assumptions regarding products and powers
[639dd40] Partially fixed assumptions regarding products and powers
[691cbc4] Fix taylor testsuite failure bug introduced by [22f4fd]
Changes from version 3.1.5 to version 3.1.6:
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.5/#fixed> and ChangeLog file).
- Autotools: Under Linux, make sure that the old dtags (when supported)
are used if LD_LIBRARY_PATH is defined; otherwise "make check" would
check an installed, compatible MPFR library found in LD_LIBRARY_PATH
instead of the one that has been built with "make".
Changes to 0.9.7 not immediately obvious
Version 0.9.6 Release Notes
Support for SciPy 0.14 has been dropped: SciPy 0.15 is now required.
This is especially important for lmfit maintenance, as it means we can
now rely on SciPy having code for differential evolution and do not
need to keep a local copy.
A brute force method was added, which can be used either with
Minimizer.brute() or using the method='brute' option to
Minimizer.minimize(). This method requires finite bounds on all varying
parameters, or that parameters have a finite brute_step attribute set
to specify the step size.
Custom cost functions can now be used for the scalar minimizers using
the reduce_fcn option.
Many improvements to documentation and docstrings in the code were
made. As part of that effort, all API documentation in this main Sphinx
documentation now derives from the docstrings.
Uncertainties in the resulting best-fit for a model can now be
calculated from the uncertainties in the model parameters.
Parameters have two new attributes: brute_step, to specify the step
size when using the brute method, and user_data, which is unused but
can be used to hold additional information the user may desire. This
will be preserved on copy and pickling.
Highlights:
* Fixed unit conversion from negative constant numbers bgo#778311 (PioneerAxon)
* Better error highlighting (PioneerAxon)
* Fix null token causing segfault (PioneerAxon)
* Added Desktop Publishing Point length unit bgo#778449 (Robert Roth)
* Use angle units from settings in search provider bgo#778274 (Robert Roth)
* Fixed incorrect value for ans in variable popup bgo#778242 (Robert Roth)
* Zeroth root of numbers is undefined bgo#775759 (Robert Roth)
* Added additional temperature unit shortcuts for conversion. bgo#775300 (Robert Roth)
* Use proper chain-up syntax (Rico Tzschichholz)
* Use MPC for complex numbers bgo#759439 (Philip Wood)
* Add shortcut to close current window bgo#755398 (Robert Roth)
* Fix conversion unit change bgo#748732 (Robert Roth)
* Fixed conversion user interface for LTR bgo#711587 (Robert Roth)
- v0.8f (2017/08/02)
* Emergency fix (thanks Bruno) for another bug revealed by `expl3` update.
- v0.8e (2017/07/30)
* Add `\surd` to access the sqrt symbol.
* Fix bug exposed by expl3 update to booleans.
* Add Deja Vu Math TeX Gyre in list of symbols.
* Add `\sime` alias for `\simeq` and `\nsimeq` for `\nsime`.
(For negations it's helpful when they have consistent naming.)
in our case, __STDC_VERSION__ isn't defined when built as C++.
The fix isn't completeely right, it insists on <fenv.h> if built as C++.
Not entirely unreasonable, and makes this build on NetBSD/powerpc as well,
which doesn't like the redefinition of fegetround() and fesetround().
Bump PKGREVISION.
A "smart" LP perturbation was implemented in the primal and
dual simplex solvers. Now LP is perturbed only if it is
necessary, and by default perturbation is not activated.
The sum of primal infeasibilites that appears in the terminal
output of the primal simplex solver (as "inf = ...") now
corresponds to the original bounds of variables. This allows to
see how much perturbed solution violates the original bounds.
The long-step technique was implemented for phase I of the
primal simplex solver. This feature can be enabled by
specifying --flip option for glpsol or by specifying
glp_smcp.r_test = GLP_RT_FLIP on api level. For many LP
instances the long-step technique allows reducing the number
of simplex iterations to 30-70%. Please note that unlike the
dual simplex, where this technique can be used on both phase I
and II, for the primal simplex it can be used only on phase I,
where the sum of primal infeasibilities (which is a convex
piecewise linear function) is minimized.
An internal objective scaling was included in both primal and
dual simplex solvers. For many LP/MIP instances this feature
improves numerical stability (for the dual solver) and prevents
cycling near the optimum (for the primal solver).
The Posix version of glp_time (glpk/src/env/time.c) was changed
to resolve time_t issue on msys2.
Three new example models in MathProg were added:
life_goe.mod (Conway's Game of Life garden of eden checker);
tiling.mod (Rectifiable polyomino tilings generator);
toto.mod (Covering code generator).
Add missing DEPENDS.
Upstream changes:
1.01
15 Aug 2017
- Move Math::Utils dependancy from 1.06 to 1.10. A test
was failing in 21-secondd.t because the older version's
pl_evaluate() wasn't handling lists back then.
1.00
9 Aug 2017
- Add tests, more POD clean-up, send to CPAN.
18 Jul 2017
- Add references for the central and forward difference
methods.
- Have not been able to find a reference for the second
derivative difference method, annoyingly.
- Minimum perl version set to 5.10.1.
17 Jul 2017
- Added a forward difference approximation method (bug was filed
for this as user Maitraya Baliyan was expecting it instead of
the central difference approximation method that Derivative1()
used).
- Added names forwarddiff() and centraldiff() for export.
Derivative1() is aliased to centraldiff(), so as not to break
old code.
- Likewise, seconddx() is now the exported name of the second
derivative difference method, with Derivative2() aliased to it.
- There is now an EXPORT tag, ':all'.
- POD is more descriptive, has more examples, and uses the
new names.