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.
NumPy 1.12.1 supports Python 2.7 and 3.4 - 3.6 and fixes bugs and regressions
found in NumPy 1.12.0. In particular, the regression in f2py constant parsing
is fixed.
2.1.0.2
- Enhancements
* Support for assigning Ruby Complex types to GSL::Matrix::Complex. (@v0dro)
* Support for 2D interpolation by exposing GSLs interp2d and
spline2d. (@v0dro)
* Support for Ruby 2.4. (@badlamer)
- Fixes
* Fix NArray superclass mismatch problem. (@v0dro)
Ensure data cache value array is aligned adequately
Data caches are used to store pointers and other potentially long
values. Make sure that the position of the values portion of the cache
is aligned to a suitable address. Fixes a bus error on sparc64 machines.
Building nickle on arm64 now, change package names
built .deb and .rpm files are now amd64 instead of i386
Update to version 2.78
Also depend on bison and flex
newer version of flex doesn't have yyunput
This line was just removing a warning about yyunput unused; newer
versions of flex don't even have that symbol anymore. Better to have a
warning than fail to compile.
Adapt tests to new automake requirements
Automake now has a separate variable for the program to run the test
scripts with, and breaks if you try to embed that in the
TESTS_ENVIRONMENT variable, which used to be how this was done.
Use 'G' format for elements when printing arrays in 'g' format
This restricts array printing to just recurse one level.
When using pointer as hash, first cast to intptr_t
This avoids a compiler warning when pointers are not the same size as
HashValues.
Initialize 'replace' in NewTypedBox
When left uninitialized, undefined results will occur. This caused a
test failure on MIPS when being built with PIE support.
Debian bug 857840.
Reported-by: James Cowgill <jcowgill@debian.org>
Open quote character is a single char, not a string
When checking to see if a string needs to be dequoted, check the first
character of the string against the quote character, rather than
checking the whole string.
Probably using strings for the quote markers wasn't the best API
choice as this would have been caught by typechecking had the quote
characters been an int instead.
Define release date in configure.ac and use that instead of build date
This avoids encoding the current date into the resulting output so
that it can be reproduced.
Add JSON input/output code
Reverse data written in linked FileChains
FileChains are linked in newest-in order, so they need to be written
last-first.
Add is_hash primitive
Checks whether a value is a hash
Abort karatsuba multiply in more places
removed gratuitous -O2 from Makefile.am to let CFLAGS handle it
Added a lightly-optimized choose(n, k) function to math.5c.
The lack of a choose operator has continually bugged me;
I've constantly rewritten it "the bad way". This is a
lightly optimized version of that function that seems to
handle most edge cases reasonably. It has only been tested a
little bit.
added check mode to sudoku solver
cleaned up a bunch of sudoku solver stuff
added edge cache to sudoku example
tutorial: Close a couple of SGML tags
nsgmls found a couple of unclosed tags which may make some versions
of docbook tools unhappy.
Fix release docs to use git log instead of git-log
git-log disappeared a long time ago
actually added Sudoku example
added Sudoku generator example
added sudoku example
octave is using gnulib for portability, but has an additional wrapper
around it. unfortunately that means that this type signature is no longer
portable. netbsd doesn't have struct tm_zone, others do.
I failed to use gnulib to provide struct tm_zone, using an OS-specific macro
as an ugly hack.
reported by hans
many new features, numerous bug-fixes, improved test coverage and
better documentation. There have been a number of deprecations and
API changes in this release, which are documented below. All users
are encouraged to upgrade to this release, as there are a large number
of bug-fixes and optimizations. Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.
Upstream changes:
Changes in Version 1.7-14
o Several convenience interfaces to read.zoo() have been added:
read.table.zoo(), read.csv.zoo(), read.csv2.zoo(), read.delim.zoo(),
read.delim2.zoo(). All of these first call the corresponding read.*()
function to read the data from a text file (with the respective default
settings) and subsequently call read.zoo() to turn the data into
a zoo series.
o na.approx.default() did not properly process the "maxgap" argument
if y did not contain any NAs but NAs were only created implicitly
by xout being different from x (pointed out by Stefan Metzger).
A suitable fix has been added that merges x and xout first.
o aggregate.zoo() and rollapply.zoo() gained the argument coredata=TRUE
which can control whether only the coredata is passed to each subset
(previous behavior) or the full zoo series.
o The "its" package has been archived on CRAN and hence removed from
the list of zoo's suggested packages. However, various methods for
objects of class "its" continue to be available in zoo in case someone
still uses the legacy code.
Upstream changes:
CHANGES IN R 3.3.3
NEW FEATURES
Changes when redirection of a http:// URL to a https:// URL is encountered:
The internal methods of download.file() and url() now report that they cannot follow this (rather than failing silently).
(Unix-alike) download.file(method = "auto") (the default) re-tries with method = "libcurl".
(Unix-alike) url(method = "default") with an explicit open argument re-tries with method = "libcurl". This covers many of the usages, e.g. readLines() with a URL argument.
INSTALLATION on a UNIX-ALIKE
The configure check for the zlib version is now robust to versions longer than 5 characters, including 1.2.11.
UTILITIES
Environmental variable _R_CHECK_TESTS_NLINES_ controls how R CMD check reports failing tests (see §8 of the ‘R Internals’ manual).
DEPRECATED AND DEFUNCT
(C-level Native routine registration.) The undocumented styles field of the components of R_CMethodDef and R_FortranMethodDef is deprecated.
BUG FIXES
vapply(x, *) now works with long vectors x. (PR#17174)
isS3method("is.na.data.frame") and similar are correct now. (PR#17171)
grepRaw(<long>, <short>, fixed = TRUE) now works, thanks to a patch by Mikko Korpela. (PR#17132)
Package installation into a library where the package exists via symbolic link now should work wherever Sys.readlink() works, resolving PR#16725.
"Cincinnati" was missing an "n" in the precip dataset.
Fix buffer overflow vulnerability in pdf() when loading an encoding file. Reported by Talos (TALOS-2016-0227).
getDLLRegisteredRoutines() now produces its warning correctly when multiple DLLs match, thanks to Matt Dowle's PR#17184.
Sys.timezone() now returns non-NA also on platforms such as Ubuntu 14.04.5 LTS, thanks to Mikko Korpela's PR#17186.
format(x) for an illegal "POSIXlt" object x no longer segfaults.
methods(f) now also works for f "(" or "{".
(Windows only) dir.create() did not check the length of the path to create, and so could overflow a buffer and crash R. (PR#17206)
On some systems, very small hexadecimal numbers in hex notation would underflow to zero. (PR#17199)
pmin() and pmax() now work again for ordered factors and 0-length S3 classed objects, thanks to Suharto Anggono's PR#17195 and PR#17200.
bug.report() did not do any validity checking on a package's BugReports field. It now ignores an empty field, removes leading whitespace and only attempts to open http:// and https:// URLs, falling back to emailing the maintainer.
Bandwidth selectors bw.ucv() and bw.SJ() gave incorrect answers or incorrectly reported an error (because of integer overflow) for inputs longer than 46341. Similarly for bw.bcv() at length 5793.
Another possible integer overflow is checked and may result in an error report (rather than an incorrect result) for much longer inputs (millions for a smooth distribution).
findMethod() failed if the active signature had expanded beyond what a particular package used. (Example with packages XR and XRJulia on CRAN.)
qbeta() underflowed too early in some very asymmetric cases. (PR#17178)
R CMD Rd2pdf had problems with packages with non-ASCII titles in ‘.Rd’ files (usually the titles were omitted).
Up the version to 0.12.2.
Update the CHANGELOG.
Fix lexer tokenizer to get R1C1 addresses properly parsed.
For now, a lexer name that contains a '[' and ']' pair can have any
characters in-between, in order to have e.g. 'R[-5]C' properly
parsed as a name.
Fix a range address parsing error.
It previously failed to parse 'R[-5]C:R[-1]C'.
Add a test case that ixion currently fails to parse.
Export these hash::operator(...) symbols.
add CI config
While here, drop maintainership - I haven't used the thing in years,
and definitely not since its conversion to a CMake build (of which I
know nothing).
-----------------------------------------
- 1.14 G7UM6iSk Sat Jul 30 06:44:28:46 -0500 2016
* synchronized README and Changes to updated POD
- 1.12 G7OMKBCn Sun Jul 24 20:11:12:49 -0500 2016
* added digit set 'b96' as a reordering of 'asc'
- 1.10 G7OMF3ZT Sun Jul 24 15:03:35:29 -0500 2016
* added new digit sets from Math::Base::Convert
* switched all old hex() to distinct new heX() and updated POD to
reflect
* fixed META license to match POD and resolve issue:
<HTTPS://RT.CPAN.Org/Public/Bug/Display.html?id=60122> (Thanks again
xenoterracide.)
* removed PT from VERSION to resolve issue:
<HTTPS://RT.CPAN.Org/Public/Bug/Display.html?id=60275> (Thanks
Alexandr.)
----------------------------------------
0.69 - 02 Dec 2016, H.Merijn Brand
* Several OO fixes, more tests, more docs
0.68 - 29 Nov 2016, H.Merijn Brand
* List non-core modules/version used on very verbose in xlscat
* Option to export all sheets in a spreadsheet to CSV (UTF-8 only)
* Add OO interface
* Feature: add new spreadsheets to existing book (even of different types)
0.67 - 17 Jun 2016, H.Merijn Brand
* CPANTESTERS showed that some versions really messed op numeric/percentage
---------------------------------------
Changes in v2.13 - Jonathan "Duke" Leto
September 2015
--------------------------
* Fix bug where as_list() did not work correctly for non-square matrices.
Reported by Elia Liitiäinen in RT #116968
-------------------------------------
2.14 2017-02-01 Shlomif
- Hopefully fix the GPG signature.
- https://rt.cpan.org/Ticket/Display.html?id=120062
- Thanks to Pavel Mateja for the report.
2.13 2016-11-18 Shlomif
- Fix the tests on older libgmps.
- See https://rt.cpan.org/Ticket/Display.html?id=118816
- Thanks to Hugo van der Sanden for the patches.
- Refactoring of the test suite.
2.12 2016-11-09 Shlomif
- Add support for testing methods that return lists.
- Add broot, brootrem, bsqrtrem, is_perfect_power, is_perfect_square
- Thanks to Hugo van der Sanden for the patches
- https://rt.cpan.org/Ticket/Display.html?id=118677
-----------------------------------------
2017-02-05 v1.6004 pjacklam
* Fix typos in POD.
* Update link in SUPPORT section.
* Minor improvements to the documentation (POD).
---------------------------------------
2017-02-10 v1.999809 pjacklam
* When a new method is added to Math::BigInt or Math::BigFloat, and this new
method requires a new backend library method, die with a suitable error
message if the installed backend library does not support this new method.
The error message says that the method requires a newer version of the
backend library.
* Fix typos in Math::BigFloat and Math::BigInt.
* Add bfib() and blucas() to Math::BigInt. They return Fibonacci and Lucas
numbers, respectively. The actual computation of the numbers is done by the
backend library. Documented both methods in POD. Add test files bfib-mbi.t
and blucas-mbi.t.
* Add _fib() and _lucas() to Math::BigInt::Lib. They return Fibonacci and
Lucas numbers, respectively. Document both methods in POD. Add test files
author-lib-arithmetic-unary-_fib.t and author-lib-arithmetic-unary-_lucas.t.