PyWavelets is a Python wavelet transforms module that includes:
* nD Forward and Inverse Discrete Wavelet Transform (DWT and IDWT)
* 1D and 2D Forward and Inverse Stationary Wavelet Transform
(Undecimated Wavelet Transform)
* 1D and 2D Wavelet Packet decomposition and reconstruction
* 1D Continuous Wavelet Tranfsorm
* Computing Approximations of wavelet and scaling functions
* Over 100 built-in wavelet filters and support for custom wavelets
* Single and double precision calculations
* Results compatibility with Matlab Wavelet Toolbox (tm)
Notable new features since 0.18.2:
- `neighbors.LocalOutlierFactor` for anomaly detection
- `preprocessing.QuantileTransformer` for robust feature transformation
- `multioutput.ClassifierChain` meta-estimator to simply account
for dependencies between classes in multilabel problem
- multiplicative update in `decomposition.NMF`
- multinomial `linear_model.LogisticRegression` with L1 loss
0.75 - 09 Nov 2017, H.Merijn Brand
* Windows does not like an exec with arguments that have spaces (PR#15)
Three fixes by Andrew Gregory <andrew.gregory.8@gmail.com>). Thanks!
* Fix column clipping
* Manually generate cells to delete when clipping
* Skip cell deletion if they were never generated
* File names cannot have \0 in newer perls
0.69 2017-11-08
[ADDED]
- is_totient(n) true if euler_phi(x) == n for some x
[FUNCTIONALITY AND PERFORMANCE]
- is_square_free uses abs(n), like Pari and moebius.
- is_primitive_root could be wrong with even n on some platforms.
- euler_phi and moebius with negative range inputs weren't consistent.
- factorialmod given a large n and m where m was a composite with
large square factors was incorrect. Fixed.
- numtoperm will accept negative k values (k is always mod n!)
- Split XS mapping of many primality tests. Makes more sense and
improves performance for some calls.
- Split final test in PP cluster sieve.
- Support some new Math::Prime::Util::GMP functions from 0.47.
- C spigot Pi is 30-60% faster on x86_64 by using 32-bit types.
- Reworked some factoring code.
- Remove ISAAC (Perl and C) since we use ChaCha.
- Each thread allocs a new const array again instead of sharing.
v0.21.0 Final:
This is a major release from 0.20.3 and includes a number of API changes, deprecations, new features, enhancements, and performance improvements along with a large number of bug fixes. We recommend that all users upgrade to this version.
Highlights include:
* Integration with Apache Parquet, including a new top-level read_parquet function and DataFrame.to_parquet method, see here.
* New user-facing dtype pandas.api.types.CategoricalDtype for specifying categoricals independent of the data, see here.
* The behavior of sum and prod on all-NaN Series/DataFrames is now consistent and no longer depends on whether bottleneck is installed, see here.
* Compatibility fixes for pypy, see here.
* Additions to the drop, reindex and rename API to make them more consistent, see here.
* Addition of the new methods DataFrame.infer_objects (see here) and GroupBy.pipe (see here).
* Indexing with a list of labels, where one or more of the labels is missing, is deprecated and will raise a KeyError in a future version
Some of the highlights of this release are:
* Major build improvements. Windows wheels are available on PyPI for the
first time, and continuous integration has been set up on Windows and OS X
in addition to Linux.
* A set of new ODE solvers and a unified interface to them
(scipy.integrate.solve_ivp).
* Two new trust region optimizers and a new linear programming method, with
improved performance compared to what scipy.optimize offered previously.
Many new BLAS and LAPACK functions were wrapped. The BLAS wrappers are now
complete.
0.68 2017-10-19
[API Changes]
- forcomb with one argument iterates over the power set, so k=0..n
instead of k=n. The previous behavior was undocumented. The new
behavior matches Pari/GP (forsubset) and Perl6 (combinations).
[ADDED]
- factorialmod(n,m) n! mod m calculated efficiently
- is_fundamental(d) true if d a fundamental discriminant
[FUNCTIONALITY AND PERFORMANCE]
- Unknown bigint classes no longer return two values after objectify.
Thanks to Daniel Șuteu for finding this.
- Using lastfor inside a formultiperm works correctly now.
- randperm a little faster for k < n cases, and can handle big n
values without running out of memory as long as k << n.
E.g. 5000 random native ints without dups: @r = randperm(~0,5000);
- forpart with primes pulls min/max values in for a small speedup.
- forderange 10-20% faster.
- hammingweight for bigints 3-8x faster.
- Add Math::GMPq and Math::AnyNum as possible bigint classes. Inputs
of these types will be relied on to stringify correctly, and if this
results in an integer string, to intify correctly. This should give
a large speedup for these types.
- Factoring native integers is 1.2x - 2x faster. This is due to a
number of changes.
- Add Lehman factoring core. Since this is not exported or used by
default, the API for factor_lehman may change.
- All new Montgomery math. Uses mulredc asm from Ben Buhrow.
Faster and smaller. Most primality and factoring code 10% faster.
- Speedup for factoring by running more Pollard-Rho-Brent, revising
SQUFOF, updating HOLF, updating recipe.
- v0.8g (2017/10/02)
* Better use of scriptstyle sizes in LuaTeX (I think a regression).
* Fix regression (`\mathbf` etc. not being set automatically) caused by
the renaming of a `fontspec` internal command.
* Minor documentation improvements.
- v0.8h (2017/10/09)
* Some bugs crept in in the last update due to some code rearrangement:
* package version wasn't set;
* some code was being executed at the wrong time;
* `\sqrt[]{}` in LuaLaTeX gave incorrect output.
* The layout of the code is now structured far more sensibly.
* Remove (long deprecated) `\resetmathfont`; for years it has been a
synonym for `\setmathfont`.
CHANGES IN R 3.4.2:
NEW FEATURES:
* Setting the LC_ALL category in Sys.setlocale() invalidates any
cached locale-specific day/month names and the AM/PM indicator
for strptime() (as setting LC_TIME has since R 3.1.0).
* The version of LAPACK included in the sources has been updated to
3.7.1, a bug-fix release.
* The default for tools::write_PACKAGES(rds_compress=) has been
changed to "xz" to match the compression used by CRAN.
* c() and unlist() are now more efficient in constructing the
names(.) of their return value, thanks to a proposal by Suharto
Anggono. (PR#17284)
CHANGES IN R 3.4.0:
SIGNIFICANT USER-VISIBLE CHANGES:
* (Unix-alike) The default methods for download.file() and url()
now choose "libcurl" except for file:// URLs. There will be
small changes in the format and wording of messages, including in
rare cases if an issue is a warning or an error. For example,
when HTTP re-direction occurs, some messages refer to the final
URL rather than the specified one.
Those who use proxies should check that their settings are
compatible (see ?download.file: the most commonly used forms work
for both "internal" and "libcurl").
* table() has been amended to be more internally consistent and
become back compatible to R <= 2.7.2 again. Consequently,
table(1:2, exclude = NULL) no longer contains a zero count for
<NA>, but useNA = "always" continues to do so.
* summary.default() no longer rounds, but its print method does
resulting in less extraneous rounding, notably of numbers in the
ten thousands.
* factor(x, exclude = L) behaves more rationally when x or L are
character vectors. Further, exclude = <factor> now behaves as
documented for long.
* Arithmetic, logic (&, |) and comparison (aka 'relational', e.g.,
<, ==) operations with arrays now behave consistently, notably
for arrays of length zero.
Arithmetic between length-1 arrays and longer non-arrays had
silently dropped the array attributes and recycled. This now
gives a warning and will signal an error in the future, as it has
always for logic and comparison operations in these cases (e.g.,
compare matrix(1,1) + 2:3 and matrix(1,1) < 2:3).
* The JIT ('Just In Time') byte-code compiler is now enabled by
default at its level 3. This means functions will be compiled on
first or second use and top-level loops will be compiled and then
run. (Thanks to Tomas Kalibera for extensive work to make this
possible.)
For now, the compiler will not compile code containing explicit
calls to browser(): this is to support single stepping from the
browser() call.
JIT compilation can be disabled for the rest of the session using
compiler::enableJIT(0) or by setting environment variable
R_ENABLE_JIT to 0.
* xtabs() works more consistently with NAs, also in its result no
longer setting them to 0. Further, a new logical option addNA
allows to count NAs where appropriate. Additionally, for the
case sparse = TRUE, the result's dimnames are identical to the
default case's.
* Matrix products now consistently bypass BLAS when the inputs have
NaN/Inf values. Performance of the check of inputs has been
improved. Performance when BLAS is used is improved for
matrix/vector and vector/matrix multiplication (DGEMV is now used
instead of DGEMM).
One can now choose from alternative matrix product
implementations _via_ options(matprod = ). The "internal"
implementation is not optimized for speed but consistent in
precision with other summations in R (using long double
accumulators where available). "blas" calls BLAS directly for
best speed, but usually with undefined behavior for inputs with
NaN/Inf.
NEW FEATURES:
* User errors such as integrate(f, 0:1, 2) are now caught.
* Add signature argument to debug(), debugonce(), undebug() and
isdebugged() for more conveniently debugging S3 and S4 methods.
(Based on a patch by Gabe Becker.)
* Add utils::debugcall() and utils::undebugcall() for debugging the
function that would be called by evaluating the given expression.
When the call is to an S4 generic or standard S3 generic,
debugcall() debugs the method that would be dispatched. A number
of internal utilities were added to support this, most notably
utils::isS3stdGeneric(). (Based on a patch by Gabe Becker.)
And many more - see the NEWS file for details.
Revision history for Perl module Math::Base85.
0.4 2017-10-16T17:36:18Z
Fix version numbering
v0.3.1 2017-10-16T17:27:24Z
- Move deps from build to runtime; fix courtesy of Dan Book <grinnz@gmail.com>
0.3 2017-10-16T16:39:34Z
- Add metadata to distribution
- Update directory structure to more standard Perl module structure
- Extend metadata to include prereqs, repo information, author info etc.
- Improve kwalitee
- Update author and repo information to point to new locations
- Add more explicit license information
Release 2.9.0:
New features
- New module :mod:`rpy2.situation` to extract and report informations
about the environment, such as where is the R HOME, what is the
version of R, what is the version of R rpy2 was built with, etc...
The module is also designed to be run directly and provide diagnostics:
`python -m rpy2.situation`.
- :meth:`Environment.values`, :meth:`Environment.pop`,
:meth:`Environment.popitems`, :meth:`Environment.clear`
to match :meth:`dict.values`,
:meth:`dict.pop`, :meth:`dict.popitems`, :meth:`dict.clear`.
- :class:`VectorOperationsDelegator` now has a method `__matmul__` to implement
Python's matrix multiplication operator (PEP-0645).
- A rule to convert R POSIXct vectors to pandas Timestamp vectors was added.
- method :meth:`_repr_html_` for R vectors to display HTML in jupyter.
Changes
- Starting several times the singleton :class:`EventProcessor` longer results
in a :class:`RuntimeError`.
- The target version for the R package `dplyr` mapped is now 0.7.1, and
:func:`rpy2.robjects.lib.dplyr.src_dt` and
:func:`rpy2.robjects.lib.dplyr.src_desc` are no longer present.
- :meth:`Environment.keys` is now a iterator to match :meth:`dict.keys`,
also an interator in Python 3.
- Target version of `ggplot2` library is 2.2.1.
- Option `stringsasfactors` in the constructor for the class `DataFrame`. If `False`, the
strings are no longer converted to factors. When converting from pandas data frames
the default is to no longer convert columns of strings to factors.
- The R "magic" for jupyter is now more consistently using the conversion system, and the
use of custom converters through the magic argument `-c` will work as expected.
- Docker-related files moved to directory docker/ (where variants image for rpy2 are available)
Bugs fixed
- :func:`numpy.float128` is not available on all platforms. The unit test
for it is now skipped on systems where it is not present
- R pairlist objects can now be sliced.
- Passing parameters names that are empty string to R function was
causing a segfault.
- Trying to build an atomic R vector from a Python object that has a length,
but it not a sequence nor an iterator was causing a segfault
PkgSrc changes:
* On Darwin, use Aqua interface instead of X11
* Cairo support also requires Pango
* Allow Cairo with other backends, not only X11 (e.g. to make it work on Darwin)
0.8.0:
- Added is_connected utility method
- Made interval constructor throw IllegalArgument exception for intervals such as (a..a)
- Fixed some edge cases with interval intersections
- Fixed interval union
NumPy 1.13.3:
This is a bugfix release for some problems found since 1.13.1. The most
important fixes are for CVE-2017-12852 and temporary elision. Users of earlier
versions of 1.13 should upgrade.
Gnumeric 1.12.35
Jean:
* Fix cell border style selectors with recent gdk-pixbuf. [#781988]
Morten:
* Test suite improvements.
* Improve relative accuracy of BESSELJ and BESSELY.
* New function REDUCEPI.
* Fix further fallout from glpk format change. [#783077]
--------------------------------------------------------------------------
Gnumeric 1.12.34
Andreas:
* Fix hyperlinks import from ODF. [#779635]
Jean:
* Fix xlsx export of chart series names. [#778618]
* Always export a transparent fill style in charts. [#779160]
Morten:
* Doc fixes.
* Fix xlsx import with missing header/footer. [#778292]
* Minor xlsx import improvements with alias colors.
* Test suite improvements.
* Improve Excel handling of hyperlinks.
* Hyperlinks improvements. [#706671]
* Plug leaks.
* Fix issues with sheet-local names.
* ssdiff improvements with hyperlinks, input messages,
conditional formats, and validations.
* Make exit code from ssdiff follow diff's.
* Fix ssdiff with inter-sheet references.
* Fix style border colour sharing.
--------------------------------------------------------------------------
Gnumeric 1.12.33
Andreas:
* Fix export/import of scaling information to/from ODF.
* Fix Wilcoxon Signed Rank Test handling of ties. [#772718]
* Fix xlsx export of scale to page information. [#776196]
Jean:
* Fix use of cell formats in graphs data labels. [#777338]
Morten:
* Speed up sstest part of test suite.
* Bring documentation build into the 21 century.
* Non-linear solver improvements.
* Avoid atomizing style regions with conditional formats.
* Adapt to glpk file format changes.
* Fix stf problems with text format. [#777543]
--------------------------------------------------------------------------
Gnumeric 1.12.32
Andreas:
* Improve html4.0 fragment export. [#769343]
* Fix moving averages, exponential smothing and principal
component tools. [#769659]
Jean:
* Fix paradox plugin build with pxlib-0.6.7. [#769319]
Morten:
* Avoid gnome-common dependency.
* New text functions CONCAT, TEXTJOIN.
* New selection functions IFS, SWITCH.
* New aggregation functions SUMIFS, AVERAGEIFS, MINIFS, MAXIFS, COUNTIFS.
* Fix criteria function issue with errors in the selector area.
* Fix corner case for MINA and MAXA.
* Fix criteria matching of numbers against strings.
* Test suite improvements.
--------------------------------------------------------------------------
Gnumeric 1.12.31
Morten:
* Fix case issues for database functions.
* Anchor COUNTIF criteria at end too.
* Add tests for COUNTIF.
* Fix inter-process paste crash. [#768164]
--------------------------------------------------------------------------
Gnumeric 1.12.30
Morten:
* Improve format guessing for csv and txt files.
* Fix DCOUNT and DCOUNTA with missing field. [#767290]
* Fix strictness in database functions.
* Fix a bunch of corner cases for database functions.
* Add tests for database functions.
--------------------------------------------------------------------------
Gnumeric 1.12.29
Jean:
* Fix array reading in plots using matrix data. [#765483]
Morten:
* Documentation fixes for complex numbers.
* Fix rare RANDBETWEEN problem.
* Test suite improvements.
* Fix value-area problem. [#765438]
* Make xlsx shared strings parsing more robust. [#765544]
* Dead kittens.
--------------------------------------------------------------------------
Gnumeric 1.12.28
Morten:
* Fuzzed file fixes. [#761663] [#761727] [#762278]
* Plug leaks.
* Fix problems with ssconvert to lp/cplex formats.
* Add sensitivity report to solver.
* Fix bounds problem with cplex exporter.
* Fix IMARCCOSH(1).
* Add more tests for complex number evaluation.
* Improve accuracy of IMLOG10.
--------------------------------------------------------------------------
Gnumeric 1.12.27
Andreas:
* Read/write rich-text font-size from ODF files. [#759983]
* Read/write zoom values to/from ODF files in LO compatible way. [#700013]
* Read new attribute to am/pm element in ODF import. [#760043]
* Fix NETWORKDAYS. [#760576]
Jean:
* Fuzzed file fix. [#760546]
* Fix data labels when the source is a range with several rows and
columns. [#761048]
Morten:
* Teach ssconvert to split sheets into separate .txt files [#694408]
* Improve test suite.
* Fuzzed file fixes. [#760046] [#760085] [#760087] [#760089]
[#760043] [#760103] [#760102] [#760101] [#760105] [#760106]
[#760104] [#760229] [#760231] [#760232] [#760544] [#760545]
[#761295]
* Fix R.DBINOM extreme-value case. [#760230]
* New function AGM.
* Fix canvas problem leaving grab in place. [#760639]
* Work around gtk+ bug causing growing windows. [#761142]
* Improve BESSELJ and BESSELY.
* Improve BETA accuracy.
* Fix problem with database functions. [#761305]
* Fix font problem for ssconvert to pdf. [#761296]
* Fix bison check. [#761398]
* Improve IMIGAMMA coverage.
--------------------------------------------------------------------------
Gnumeric 1.12.26
Morten:
* Fix potential crasher on showing initial window.
--------------------------------------------------------------------------
Gnumeric 1.12.25
Jean:
* Add support in recent files dialog for multiple selesction and double
click. [#759160]
Morten:
* Fix TABLE problems. [#752181] [#752178] [#752182]
* Fuzzed file fixes. [#752179] [#752180]
* Add R.DGUMBEL, R.PGUMBEL, R.QGUMBEL.
* Fix conditional format problem. [#750271]
* Test also RANDWEIBULL and RANDLOGNORM.
* Fix problem with R.QHYPER
* Add R.DRAYLEIGH, R.PRAYLEIGH, R.QRAYLEIGH.
* Fix GUI translation problems.
* Fix bugs with merged cells. [#504004]
* Make builds more reproducible.
* Improve ssdiff for validation.
* Fix problem with xls export of list validation. [#557555]
--------------------------------------------------------------------------
Gnumeric 1.12.24
Jean:
* Fix printing of sheet objects with one cell or absolute anchors. [#753961]
* Fix snap to grid for one cell or absolute anchored objects. [#754792]
* On export, just change the extension, not more. [ubuntu #1497344]
Version 3.7.6.0:
The new ephem.cities.lookup() function runs a Google geocoding search and returns an Observer object for the top result.
When an Earth satellite position cannot be computed, PyEphem now raises an exception instead of freezing and locking up Python.
Upgraded to the libastro from XEphem 3.7.6, bringing improvements to Earth satellite transit calculations.
GitHub issue 76: Earth satellite velocity is now calculated with greater accuracy.
GitHub issue 64: rising and setting routines are now careful to restore your Observer.date even if they die with an exception.
GitHub issue 56: Earth satellites now raise an exception for dates a year or more from their TLE epoch, because libastro refuses to process old elements and would return nonsense coordinates.
GitHub issue 44: a segmentation fault would eventually kill Python 3 if a script called Body.copy() either directly or via the Standard Library copy.copy() function.
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.
The makefile.include fragment included by all of the project
makefiles unconditionally sets $(CC), $(LD), $(AR) and $(RANLIB)
to $(PREFIX){gcc,ld,ar,ranlib}. Their intent was to provide a
facility for cross-compiling the code, but the use of $(PREFIX)
for this purpose was unfortunate.
This change adds a patch to set $(PREFIX) to the empty string in
the makefiles, which should fix the problem with the smallest
set of changes.
allow overriding MKOCTFILE_* and use it to provide a full path gfortran,
so the invocation doesn't fail because gfortran isn't normally in PATH
Force the use of bsdtar. unpacking yielding random PaxHeaders.1234 triggers
an octave package sanity check making the build of the 'signal' package
fail with a cryptic error with no further diagnostics.
bump PKGREVISION
Fixes build with PKGSRC_FORTRAN=gfortran (6.4) on netbsd. resulting
binary works fine. I suspect the issue is that the wrong gcc (one without
fortran support) is invoked.
Changes:
- Compat with the new Yahoo iCharts API. Yahoo removed the older API,
this release restores ability to download from Yahoo.
- ``DataReader`` now supports Quandl.
- Removed Oanda as it became subscription only.
- web sessions are closed properly at the end of use
- Handle commas in large price quotes
- Test suite fixes for test_get_options_data
- Test suite fixes for test_wdi_download
- avoid monkey patching requests.Session
- `get_data_yahoo` now treats ``'null'`` strings as missing values
Docs are now generated with pdoc.
Merged Pull Request 24, from @czlee:
* Change to step 4: When it looks for a uncovered zero, rather than starting at row 0, column 0, it starts where it left off, i.e. at the last uncovered zero it found. Since it doesn't start at (0,0), when it gets to the last column it now loops around to the first, and exits unsuccessfully if it got back to where it started. This change reduces this reduces the solving time for (certain) large matrices. For instance, in tests, solving a matrix of size 394×394 goes from about 2 minutes to about 4 seconds.
* Since Python 3 started cracking down on unnatural comparisons, the DISALLOWED constant added in Pull Request 19 no longer works. (It raises a TypeError for unorderable types, as is expected in Python 3.) Since this constant is meant to act like infinity, this modification just changes the two lines where it would otherwise try to make an illegal (in Python 3) comparison between a number and DISALLOWED_OBJ() and gets it to behave as if DISALLOWED is always larger.
Added Travis CI integration.
Added some unit tests. See tests and tests/README.md.
Bug Fixes
* Fixed a bug in failing to compute rolling computations of a column-MultiIndexed DataFrame
* Fixed a pytest marker failing downstream packages’ tests suites
Conversion
* Bug in pickle compat prior to the v0.20.x series, when UTC is a timezone in a Series/DataFrame/Index
* Bug in Series construction when passing a Series with dtype='category'.
* Bug in DataFrame.astype() when passing a Series as the dtype kwarg..
Indexing
* Bug in Float64Index causing an empty array instead of None to be returned from .get(np.nan) on a Series whose index did not contain any NaN s
* Bug in MultiIndex.isin causing an error when passing an empty iterable
* Fixed a bug in a slicing DataFrame/Series that have a TimedeltaIndex
I/O
* Bug in read_csv() in which files weren’t opened as binary files by the C engine on Windows, causing EOF characters mid-field, which would fail
* Bug in read_hdf() in which reading a Series saved to an HDF file in ‘fixed’ format fails when an explicit mode='r' argument is supplied
* Bug in DataFrame.to_latex() where bold_rows was wrongly specified to be True by default, whereas in reality row labels remained non-bold whatever parameter provided.
* Fixed an issue with DataFrame.style() where generated element ids were not unique
* Fixed loading a DataFrame with a PeriodIndex, from a format='fixed' HDFStore, in Python 3, that was written in Python 2
Plotting
* Fixed regression that prevented RGB and RGBA tuples from being used as color arguments
* Fixed an issue with DataFrame.plot.scatter() that incorrectly raised a KeyError when categorical data is used for plotting
Reshaping
* PeriodIndex / TimedeltaIndex.join was missing the sort= kwarg
* Bug in joining on a MultiIndex with a category dtype for a level.
* Bug in merge() when merging/joining with multiple categorical columns
Categorical
* Bug in DataFrame.sort_values not respecting the kind parameter with categorical data
Packaged by Filip Hajny and updated by Kamel Derouiche and me.
scikit-learn is a Python module integrating classic machine learning
algorithms in the tightly-knit scientific Python world (numpy, scipy,
matplotlib). It aims to provide simple and efficient solutions to
learning problems, accessible to everybody and reusable in various
contexts: machine-learning as a versatile tool for science and
engineering.
The package does not include a change log, but one major feature
added since 20140106 is support for transforms of sizes other
than powers of two by means of the chirp Z transform.
* What is new in gsl-2.4:
** migrated documentation to Sphinx software, which has built-in
support for latex equations and figures in HTML output
** add const to declaration of appropriate gsl_rstat routines
** bug fix for #45730: change gsl_sf_sin/cos to libm sin/cos
** fix Cholesky documentation regarding upper triangle on output
** added routines to compute integrals with fixed-point quadrature,
based on IQPACK (Konrad Griessinger)
** added routines for Hermite polynomials, gsl_sf_hermite_*
(Konrad Griessinger)
** added new nonlinear least squares example for fitting
a Gaussian to data
** deprecated routines:
gsl_sf_coupling_6j_INCORRECT
gsl_sf_coupling_6j_INCORRECT_e
** deprecated routine 'gsl_linalg_hessenberg' (replaced
by gsl_linalg_hessenberg_decomp)
** removed routines which were deprecated in v2.1:
gsl_bspline_deriv_alloc
gsl_bspline_deriv_free
** changed COD expression to Q R Z^T instead of Q R Z to
be consistent with standard texts
** added check for nz == 0 in gsl_spmatrix_get
(reported by Manuel Schmitz)
** permit zero-dimension blocks, vectors, matrics, subvectors,
submatrices, and views of the above (bug #49988)
** added routine gsl_linalg_COD_lssolve2 for regularized
least squares problems
some typos.
From DESCR:
Math::Calc::Units is a simple calculator that keeps track of units. It
currently handles combinations of byte sizes and duration only, although
adding any other multiplicative types is easy. Any unknown type is
treated as a unique user type (with some effort to map English plurals
to their singular forms).
being one example), and the logic for building it is conditional, causing
PLIST mismatches for GLIBC users.
Reported by Jason Bacon in pkgsrc-users.
Bump PKGREVISION
This package will provide a complete implementation of unicode
maths for XeLaTeX and LuaLaTeX. Unicode maths is currently
supported by the following fonts: Cambria Math (Microsoft),
Minion Math (Johannes Kuster, typoma GmbH) Latin Modern Math
(Boguslaw Jackowski, Janusz M. Nowacki) TeX Gyre Pagella Math
(Boguslaw Jackowski, Janusz M. Nowacki) Asana-Math fonts
(Apostolos Syropolous), Neo Euler (Khaled Hosny), STIX (STI
Pub), and XITS Math (Khaled Hosny). As well as running XeTeX or
LuaTeX, this package requires recent versions of the fontspec,
expl3, xpackages, filehook, ucharcat and lualatex-math
packages.
The mathspec package provides an interface to typeset
mathematics in XeLaTeX with arbitrary text fonts using fontspec
as a backend. The package is under development and later
versions might to be incompatible with this version, as this
version is incompatible with earlier versions. The package
requires at least version 0.9995 of XeTeX.
Highlights
* Operations like a + b + c will reuse temporaries on some platforms,
resulting in less memory use and faster execution.
* Inplace operations check if inputs overlap outputs and create temporaries
to avoid problems.
* New __array_ufunc__ attribute provides improved ability for classes to
override default ufunc behavior.
* New np.block function for creating blocked arrays.
New functions
* New np.positive ufunc.
* New np.divmod ufunc provides more efficient divmod.
* New np.isnat ufunc tests for NaT special values.
* New np.heaviside ufunc computes the Heaviside function.
* New np.isin function, improves on in1d.
* New np.block function for creating blocked arrays.
* New PyArray_MapIterArrayCopyIfOverlap added to NumPy C-API.
This is a minor bug-fix release in the 0.20.x series and includes some small regression fixes, bug fixes and performance improvements. We recommend that all users upgrade to this version.
We have improved the trust-region update rule in the primal-based Newton method. It's significantly faster (e.g., twice faster or more) on some problems (see the technical report).
We now support scipy objects in the Python interface
The main features of this release are several new time series models based on the statespace framework, multiple imputation using MICE as well as many other enhancements. The codebase also has been updated to be compatible with recent numpy and pandas releases.
Statsmodels is using now github to store the updated documentation which is available under http://www.statsmodels.org/stable for the last release, and http://www.statsmodels.org/dev/ for the development version.
New .agg() API for Series/DataFrame similar to the groupby-rolling-resample API’s, see here
Integration with the feather-format, including a new top-level pd.read_feather() and DataFrame.to_feather() method, see here.
The .ix indexer has been deprecated, see here
Panel has been deprecated, see here
Addition of an IntervalIndex and Interval scalar type, see here
Improved user API when grouping by index levels in .groupby(), see here
Improved support for UInt64 dtypes, see here
A new orient for JSON serialization, orient='table', that uses the Table Schema spec and that gives the possibility for a more interactive repr in the Jupyter Notebook, see here
Experimental support for exporting styled DataFrames (DataFrame.style) to Excel, see here
Window binary corr/cov operations now return a MultiIndexed DataFrame rather than a Panel, as Panel is now deprecated, see here
Support for S3 handling now uses s3fs, see here
Google BigQuery support now uses the pandas-gbq library, see here
Improvements
------------
- setup.py detects conda env and uses installed conda (hdf5, bzip2, lzo
and/or blosc) packages when building from source.
Bugs fixed
----------
- Linux wheels now built against built-in blosc.
- Fixed windows absolute paths in ptrepack, ptdump, ptree.
Updates to keep with API changes in newer NumPy versions
Removed several warnings
Fix bugs in function stringcontains()
Detection of the POWER processor
Fix pow result casting
Fix integers to negative integer powers
Detect numpy exceptions in expression evaluation
Better handling of RC versions
Upstream changes:
0.65 2017-05-03
[API Changes]
- Config options irand and primeinc are deprecated. They will carp if set.
[FUNCTIONALITY AND PERFORMANCE]
- Add Math::BigInt::Lite to list of known bigint objects.
- sum_primes fix for certain ranges with results near 2^64.
- is_prime, next_prime, prev_prime do a lock-free check for a find-in-cache
optimization. This is a big help on on some platforms with many threads.
- C versions of LogarithmicIntegral and inverse_li rewritten.
inverse_li honors the documentation promise within FP representation.
Thanks to Kim Walisch for motivation and discussion.
- Slightly faster XS nth_prime_approx.
- PP nth_prime_approx uses inverse_li past 1e12, which should run
at a reasonable speed now.
- Adjusted crossover points for segment vs. LMO interval prime_count.
- Slightly tighter prime_count_lower, nth_prime_upper, and Ramanujan bounds.
0.64 2017-04-17
[FUNCTIONALITY AND PERFORMANCE]
- inverse_li switched to Halley instead of binary search. Faster.
- Don't call pre-0.46 GMP backend directly for miller_rabin_random.
0.63 2017-04-16
[FUNCTIONALITY AND PERFORMANCE]
- Moved miller_rabin_random to separate interface.
Make catching of negative bases more explicit.
0.62 2017-04-16
[API Changes]
- The 'irand' config option is removed, as we now use our own CSPRNG.
It can be seeded with csrand() or srand(). The latter is not exported.
- The 'primeinc' config option is deprecated and will go away soon.
[ADDED]
- irand() Returns uniform random 32-bit integer
- irand64() Returns uniform random 64-bit integer
- drand([fmax]) Returns uniform random NV (floating point)
- urandomb(n) Returns uniform random integer less than 2^n
- urandomm(n) Returns uniform random integer in [0, n-1]
- random_bytes(nbytes) Return a string of CSPRNG bytes
- csrand(data) Seed the CSPRNG
- srand([UV]) Insecure seed for the CSPRNG (not exported)
- entropy_bytes(nbytes) Returns data from our entropy source
- :rand Exports srand, rand, irand, irand64
- nth_ramanujan_prime_upper(n) Upper limit of nth Ramanujan prime
- nth_ramanujan_prime_lower(n) Lower limit of nth Ramanujan prime
- nth_ramanujan_prime_approx(n) Approximate nth Ramanujan prime
- ramanujan_prime_count_upper(n) Upper limit of Ramanujan prime count
- ramanujan_prime_count_lower(n) Lower limit of Ramanujan prime count
- ramanujan_prime_count_approx(n) Approximate Ramanujan prime count
[FUNCTIONALITY AND PERFORMANCE]
- vecsum is faster when returning a bigint from native inputs (we
construct the 128-bit string in C, then call _to_bigint).
- Add a simple Legendre prime sum using uint128_t, which means only for
modern 64-bit compilers. It allows reasonably fast prime sums for
larger inputs, e.g. 10^12 in 10 seconds. Kim Walisch's primesum is
much more sophisticated and over 100x faster.
- is_pillai about 10x faster for composites.
- Much faster Ramanujan prime count and nth prime. These also now use
vastly less memory even with large inputs.
- small speed ups for cluster sieve.
- faster PP is_semiprime.
- Add prime option to forpart restrictions for all prime / non-prime.
- is_primitive_root needs two args, as documented.
- We do random seeding ourselves now, so remove dependency.
- Random primes functions moved to XS / GMP, 3-10x faster.
0.61 2017-03-12
[ADDED]
- is_semiprime(n) Returns 1 if n has exactly 2 prime factors
- is_pillai(p) Returns 0 or v wherev v! % n == n-1 and n % v != 1
- inverse_li(n) Integer inverse of Logarithmic Integral
[FUNCTIONALITY AND PERFORMANCE]
- is_power(-1,k) now returns true for odd k.
- RiemannZeta with GMP was not subtracting 1 from results > 9.
- PP Bernoulli algorithm changed to Seidel from Brent-Harvey. 2x speedup.
Math::BigNum is 10x faster, and our GMP code is 2000x faster.
- LambertW changes in C and PP. Much better initial approximation, and
switch iteration from Halley to Fritsch. 2 to 10x faster.
- Try to use GMP LambertW for bignums if it is available.
- Use Montgomery math in more places:
= sqrtmod. 1.2-1.7x faster.
= is_primitive_root. Up to 2x faster for some inputs.
= p-1 factoring stage 1.
- Tune AKS r/s selection above 32-bit.
- primes.pl uses twin_primes function for ~3x speedup.
- native chinese can handle some cases that used to overflow. Use Shell
sort on moduli to prevent pathological-but-reasonable test case.
- chinese directly to GMP
- Switch to Bytes::Random::Secure::Tiny -- fewer dependencies.
- PP nth_prime_approx has better MSE and uses inverse_li above 10^12.
- All random prime functions will use GMP versions if possible and
if a custom irand has not been configured.
They are much faster than the PP versions at smaller bit sizes.
- is_carmichael and is_pillai small speedups.
Upstream changes: 2017-03-15 v1.999811 pjacklam
* Fix an old in the Math::BigFloat methods as_hex(), as_oct(), and as_bin()
methods resulting in loss of accuracy. This bug was introduced in bug in
Math-BigInt-1.76. Due to a naive copy and paste by me, and lack of tests,
this bug was also present in the newer to_hex(), to_oct(), and to_bin()
methods. This shows the bug, as it did not print "0xffff...":
print Math::BigFloat -> from_hex("f" x 30) -> as_hex();
* Fix incorrect formatting in the output from the Math::BigFloat methods
to_hex(), to_oct(), and to_bin() when the output was zero. A prefix was
added when it shouldn't have been.
* Add tests to bigintpm.inc and bigfltpm.inc for better testing of as_hex(),
as_oct(), and as_bin() as well as to_hex(), to_oct(), and to_bin().
* "Synchronize" tests and code formatting in bigintpm.inc and bigfltpm.inc.
2017-03-01 v1.999810 pjacklam
* CPAN RT #120240 revealed that the problems with undefined values is still
present. After a close examination, I believe the only way to get this
really working is to to make blog() call objectify() differently depending
on whether the base for the logarithm is undefined or not. That way we can
avoid objectify() converting the undefined value to a zero. Ideally, we
should warn about undefined values when used in any other context, but we'll
handle that in a later release. See also the related changelog entry for
v1.999801.
* Fix the way the argument count is computed in objectify(). When an argument
count of 0 is given, it means that we should objectify all input arguments.
However, it turned out that the actual argument count was computed
incorrectly.
* Fix CPAN RT #120242 rearding c3 method resolution.
- Fixed bugs in numeral systems.
- Fixed bugs related to infinity (Inf).
- Fixed bugs related to Not a Number (NaN).
- Updated and cleanup documentation.
- Cleaned up code structure.
- OpenLibm support.