Upstream changes:
# 2014-09-21 - Version 2.3.1
- Fixed message "Warning in formatC(Signif) : class of 'x' was discarded"
- Fixed problem looking up objects in Sweave. R Code inside
Sweave files is now evaluated in .GlobalEnv, again, as
before version 2.3.0.
# 2014-09-06 - Version 2.3
- API BREAK: Make package conform to new CRAN policies.
- .HTML.file is no longer stored in the global environment:
use HTMLSetFile() and HTMLGetFile() instead of modifying it directly.
- .HTMLenv is no longer stored in the global environment:
it should never have been accessed directly in the first place.
- fix() is no longer replaced during HTMLStart()/HTMLStop() sessions.
- Remove obsolete handling of 'date' class from package survival.
- Remove obsolete support for old format of objects from the rpart package
Upstream changes:
Version 1.0.8 2010/08/09
- path.packages instead of .path.package (later is defunct).
- change in lm.phylog to prevent (incorrect) note about no visible binding
for global variable \xe2\x80\x98sim.counter\xe2\x80\x99 in a call to subset.
Upstream changes:
Changes in version 1.6-7
fix some bug in handling weights in svm.default
Changes in version 1.6-6
fix numeric issue in classAgreement()
add functions from recommended packages to NAMESPACE
fix bug in svm.default (incorrect handling of subset= argument)
fix bug in predict.svm (new data with NA in response got removed)
residuals are now correctly computed for regression in case of scaled data
Changes in version 1.6-5
hamming.distance() no longer converts input to binary
tune() now uses mean() to aggregate error measures from cross-fold replications
Changes in version 1.6-4
remove library("SparseM") statements in code, use namespace semantics instead
Fix memory leak and uninitialized read error in write.svm()
add warning in predict.svm() if probabilities should be predicted, but the model was not trained with probability = TRUE
add eps to laplace smoothing in predict.naiveBayes() to account for close-zero probabilities also.
use R's random number generator for cross-validation and probability computation instead of the system one.
Changes in version 1.6-3
remove require() statements and dependency on stats
Changes in version 1.6-2
vignettes moved to vignettes folder.
libsvm upgrade to version 3.17, getting rid of stdout and stderr
Estimation and inference methods for models of conditional quantiles:
Linear and nonlinear parametric and non-parametric (total variation
penalized) models for conditional quantiles of a univariate response
and several methods for handling censored survival data. Portfolio
selection methods based on expected shortfall risk are also included.
2.01080606a
cygwin's tar generated 0-permissions for the distribution (no auto-workaround...).
Document workarounds for isprime() with version 2.1.7 (in the BUGS section).
2.01080607
Correct the documention about fraction of witnesses from >=0.25 to >=0.75.
Define HAS_STAT and HAS_OPENDIR basing on $Config{i_sysstat} and $Config{i_dirent}.
Correct spelling errors in POD and comments in Pari.pm (thanks to dsteinbrunner!).
On AIX, do merge_822 separately in subdirectories (exceeds command line length otherwise).
On >=2.3.0, reset had-newline-on-output to 1 at startup. (Saves one spurious NL)
New patch: diff_2.3.5_stderr_clobber
New test: 01_no_extra_newlines.t
Allow download not only via FTP, but also through HTTP.
In presence of PERL5_CPAN_IS_RUNNING, assume that NO ANSWER on prompt is agreement.
(It looks like cygwin and MSWin32 automated-testing environment do not have
AUTOMATED_TESTING and PERL_MM_USE_DEFAULT set...)
Do not auto-download on 64-bit builds of MSWin32.
2.010807
Too long version name was a misprint.
Pay attention to PERL_EXTUTILS_AUTOINSTALL when interpreting empty answers to prompt (probably an overkill).
(disable this abomination by PERL_MATHPARI_TRUST_MANUAL)
(to see why this may be needed: http://www.cpantesters.org/cpan/report/a5d65ec6-6bf3-1014-87a8-67ba45601f20)
Report bytes in the answer for prompt.
Separate into separate subroutines inspecting versions available for download from the actual download.
Change the logic of fallback Net::FTP --> LWP: before, if Net::FTP fails in retrieving the directory listing;
now: if this happens, or if it fails to retrieve the file (how can it happen?! see http://www.cpantesters.org/cpan/report/e7f9d5a7-6bfa-1014-9d0f-1948c9c86cae)
__wrap_PARI_macro: new function (not exported)
parse_as_gp: new function (exported by default)
More verbose error message for "Cannot load a Pari macro".
2.010808
A night of sleep fixed problems of parse_of_gp with the operator \ and empty lines.
(test suite updated)
Actually, mingw was not ready for HAVE_OPENDIR.
Store which patches were applied in $dir/.perl.patches.
Report which patches were not applied.
Export patches_for() from BuildPari.
pari_tgz build option was broken (by LWP-after-NFTP support code which, apparently, did not help with timeouts).
Ignore 0-size "downloaded" files.
The PCG family of Random Number Generators combines properties not
previously seen together in the same generation scheme:
+ It's really easy to use, and yet its very flexible and offers
powerful features (including some that allow you to perform silly
party tricks).
+ It's very fast, and can occupy very little space.
+ It has small code size.
+ It's performance in statistical tests is excellent (see the PCG
paper for full details).
+ It's much less predictable and thus more secure than most generators.
+ It's open source software, with a permissive license (the Apache license).
0.17.1
This is a minor bug-fix release from 0.17.0 and includes a large
number of bug fixes along several new features, enhancements, and
performance improvements. We recommend that all users upgrade to
this version.
Highlights include:
Support for Conditional HTML Formatting, see here
Releasing the GIL on the csv reader & other ops, see here
Fixed regression in DataFrame.drop_duplicates from 0.16.2,
causing incorrect results on integer values (GH11376)
0.17.0
This is a major release from 0.16.2 and includes a small number of
API changes, several 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:
Release the Global Interpreter Lock (GIL) on some cython
operations, see here
Plotting methods are now available as attributes of the .plot
accessor, see here
The sorting API has been revamped to remove some long-time
inconsistencies, see here
Support for a datetime64[ns] with timezones as a first-class
dtype, see here
The default for to_datetime will now be to raise when presented
with unparseable formats, previously this would return the
original input. Also, date parse functions now return consistent
results. See here
The default for dropna in HDFStore has changed to False, to
store by default all rows even if they are all NaN, see here
Datetime accessor (dt) now supports Series.dt.strftime to
generate formatted strings for datetime-likes, and
Series.dt.total_seconds to generate each duration of the
timedelta in seconds. See here
Period and PeriodIndex can handle multiplied freq like 3D,
which corresponding to 3 days span. See here
Development installed versions of pandas will now have PEP440
compliant version strings (GH9518)
Development support for benchmarking with the Air Speed Velocity
library (GH8361)
Support for reading SAS xport files, see here
Documentation comparing SAS to pandas, see here
Removal of the automatic TimeSeries broadcasting, deprecated
since 0.8.0, see here
Display format with plain text can optionally align with Unicode
East Asian Width, see here
Compatibility with Python 3.5 (GH11097)
Compatibility with matplotlib 1.5.0 (GH11111)
-- Library config detected: Qt3/CMakeLists.txt
CMake Error at src/CMakeLists.txt:33 (add_subdirectory):
add_subdirectory given source
"/usr/tmp/math/cgal/work/CGAL-3.9/src/CGALQt3/CMakeLists.txt" which is not
an existing directory.
Call Stack (most recent call first):
src/CMakeLists.txt:80 (configure_component)
I guess the behavior of string(REPLACE ...) changed with the newer version
of cmake ...
ChangeLog:
Changes in 0.13.3.1
* primitive-0.6 compatibility
Changes in 0.13.3.0
* Monadic variant of vector shuffle added: `uniformShuffleM`
* Context on `uniformShuffle` loosened
Changes in 0.13.2.2
* Fixed crash during gen. initialization on Windows when stderr
is not available (#36).
### 1.1.0 / 08.12.2015
Author: Matthew Boeh <matt@crowdcompass.com>
Date: Mon Dec 7 11:18:55 2015 -0800
* Disregard locale indicators when determining whether a cell contains a
date/time.
### 1.0.9 / 18.11.2015
Author: 545ch4 <s@rprojekt.org>
Date: Mon Nov 16 10:26:27 2015 +0100
* Add smart method compact! to worksheet
* Use compact! to reduce the number of rows and columns by striping empty one
at both ends.
### 1.0.8 / 20.10.2015
commit e9bd1dd34998803b63460f4951e9aa34e569bd8f
Author: Pierre Laprée <pilap82@users.noreply.github.com>
Date: Tue Oct 20 03:12:22 2015 +0200
* Remove stray `puts`
* A `puts` instruction pollutes the log and doesn't serve any purpose. As
such, we propose its removal.
FFTW 3.3.4
* New functions fftw_alignment_of (to check whether two arrays are
equally aligned for the purposes of applying a plan) and fftw_sprint_plan
(to output a description of plan to a string).
* Bugfix in fftw-wisdom-to-conf; thanks to Florian Oppermann for the
bug report.
* Fixed manual to work with texinfo-5.
* Increased timing interval on x86_64 to reduce timing errors.
* Default to Win32 threads, not pthreads, if both are present.
* Various build-script fixes.
FFTW 3.3.3
* Fix deadlock bug in MPI transforms (thanks to Michael Pippig for the
bug report and patch, and to Graham Dennis for the bug report).
* Use 128-bit ARM NEON instructions instead of 64-bits. This change
appears to speed up even ARM processors with a 64-bit NEON pipe.
* Speed improvements for single-precision AVX.
* Speed up planner on machines without "official" cycle counters, such as ARM.
NLopt is a free/open-source library for nonlinear optimization,
providing a common interface for a number of different free optimization
outines available online as well as original implementations of various
other algorithms.
Its features include:
- Callable from C, C++, Fortran, Matlab or GNU Octave, Python,
GNU Guile, Julia, GNU R, Lua, and OCaml.
- A common interface for many different algorithms -- try a different
algorithm just by changing one parameter.
- Support for large-scale optimization (some algorithms scalable to
millions of parameters and thousands of constraints).
- Both global and local optimization algorithms.
- Algorithms using function values only (derivative-free) and also
algorithms exploiting user-supplied gradients.
- Algorithms for unconstrained optimization, bound-constrained
optimization, and general nonlinear inequality/equality constraints.
Reviewed by: wiz@
A new, more efficient implementation of the dual simplex method
was included in the package. This new implementation replaces
the old one, which was removed.
Option sr_heur was added to struct glp_iocp to enable/disable
the simple rounding heuristic used by the MIP solver.
New API routine glp_at_error was added and documented.
Some minor typos were corrected in the GLPK documentation.
An example application program TSPSOL was added. It uses the
GLPK MIP optimizer to solve the Symmetric Traveling Salesman
Problem and illustrates "lazy" constraints generation. For more
details please see glpk/examples/tsp/README.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
* What is new in gsl-2.1:
** added test suite for example programs
** bug fix when compiling with #undef GSL_DISABLE_DEPRECATED
** bug fix in setting libtool age versioning
** bug fix in gsl_multifit_wlinear()
** added gsl_multifit_linear_rcond() to compute reciprocal
condition number of least squares matrix
** added gsl_multilarge module for large linear least squares
systems
Eigen 3.2.7
Released on November 5, 2015
Changes since 3.2.6:
* Main fixes and improvements:
+ Add support for dense.cwiseProduct(sparse).
+ Fix a regression regarding (dense*sparse).diagonal().
+ Make the IterativeLinearSolvers module compatible with
MPL2-only mode by defaulting to COLAMDOrdering and
NaturalOrdering for ILUT and ILLT respectively.
+ [59]Bug 266: backport support for c++11 move semantic
+ operator/=(Scalar) now performs a true division (instead of
mat*(1/s))
+ Improve numerical accuracy in LLT and triangular solve by
using true scalar divisions (instead of mat * (1/s))
+ [60]Bug 1092: fix iterative solver constructors for
expressions as input
+ [61]Bug 1088: fix setIdenity for non-compressed sparse-matrix
+ [62]Bug 1086: add support for recent SuiteSparse versions
* Others:
+ Add overloads for real-scalar times SparseMatrix<complex>
operations. This avoids real to complex conversions, and also
fixes a compilation issue with MSVC.
+ Use explicit Scalar types for AngleAxis initialization
+ Fix several shortcomings in cost computation (avoid multiple
re-evaluation in some very rare cases).
+ [63]Bug 1090: fix a shortcoming in redux logic for which
slice-vectorization plus unrolling might happen.
+ Fix compilation issue with MSVC by backporting
DenseStorage::operator= from devel branch.
+ [64]Bug 1063: fix nesting of unsupported/AutoDiffScalar to
prevent dead references when computing second-order
derivatives
+ [65]Bug 1100: remove explicit CMAKE_INSTALL_PREFIX prefix to
conform to cmake install's DESTINATION parameter.
+ unsupported/ArpackSupport is now properly installed by make
install.
+ [66]Bug 1080: warning fixes
Eigen 3.2.6
Released on October 1, 2015
Changes since 3.2.5:
* fix some compilation issues with MSVC 2013, including bugs [67]1000
and [68]1057
* SparseLU: fixes to support EIGEN_DEFAULT_TO_ROW_MAJOR ([69]bug
1053), and for empty ([70]bug 1026) and some structurally rank
deficient matrices ([71]bug 792)
* [72]Bug 1075: fix AlignedBox::sample() for Dynamic dimension
* fix regression in AMD ordering when a column has only one
off-diagonal non-zero (used in sparse Cholesky)
* fix Jacobi preconditioner with zero diagonal entries
* fix Quaternion identity initialization for non-implicitly
convertible types
* [73]Bug 1059: fix predux_max<Packet4i> for NEON
* [74]Bug 1039: fix some issues when redefining
EIGEN_DEFAULT_DENSE_INDEX_TYPE
* [75]Bug 1062: fix SelfAdjointEigenSolver for RowMajor matrices
* MKL: fix support for the 11.2 version, and fix a naming conflict
([76]bug 1067)
+ [77]Bug 1033: explicit type conversion from 0 to RealScalar
Eigen 3.3-alpha1
Released on September 4, 2015
See the [78]announcement.
Eigen 3.2.5
Released on June 16, 2015
Changes since 3.2.4:
* Changes with main impact:
+ Improve robustness of SimplicialLDLT to semidefinite problems
by correctly handling structural zeros in AMD reordering
+ Re-enable supernodes in SparseLU (fix a performance regression
in SparseLU)
+ Use zero guess in ConjugateGradients::solve
+ Add PermutationMatrix::determinant method
+ Fix SparseLU::signDeterminant() method, and add a
SparseLU::determinant() method
+ Allows Lower|Upper as a template argument of CG and MINRES: in
this case the full matrix will be considered
+ [79]Bug 872: remove usage of std::bind* functions (deprecated
in c++11)
* Numerical robustness improvements:
+ [80]Bug 1014: improve numerical robustness of the 3x3 direct
eigenvalue solver
+ [81]Bug 1013: fix 2x2 direct eigenvalue solver for identical
eigenvalues
+ [82]Bug 824: improve accuracy of Quaternion::angularDistance
+ [83]Bug 941: fix an accuracy issue in ColPivHouseholderQR by
continuing the decomposition on a small pivot
+ [84]Bug 933: improve numerical robustness in RealSchur
+ Fix default threshold value in SPQR
* Other changes:
+ Fix usage of EIGEN_NO_AUTOMATIC_RESIZING
+ Improved support for custom scalar types in SparseLU
+ Improve cygwin compatibility
+ [85]Bug 650: fix an issue with sparse-dense product and
rowmajor matrices
+ [86]Bug 704: fix MKL support (HouseholderQR)
+ [87]Bug 705: fix handling of Lapack potrf return code (LLT)
+ [88]Bug 714: fix matrix product with OpenMP support
+ [89]Bug 949: add static assertions for incompatible scalar
types in many of the dense decompositions
+ [90]Bugs 957, [91]1000: workaround MSVC/ICC compilation issues
when using sparse blocks
+ [92]Bug 969: fix ambiguous calls to Ref
+ [93]Bugs 972, [94]986: add support for coefficient-based
product with 0 depth
+ [95]Bug 980: fix taking a row (resp. column) of a column-major
(resp. row-major) sparse matrix
+ [96]Bug 983: fix an alignement issue in Quaternion
+ [97]Bug 985: fix RealQZ when either matrix had zero rows or
columns
+ [98]Bug 987: fix alignement guess in diagonal product
+ [99]Bug 993: fix a pitfall with matrix.inverse()
+ [100]Bugs 996, [101]1016: fix scalar conversions
+ [102]Bug 1003: fix handling of pointers non aligned on scalar
boundary in slice-vectorization
+ [103]Bug 1010: fix member initialization in IncompleteLUT
+ [104]Bug 1012: enable alloca on Mac OS or if alloca is defined
as macro
+ Doc and build system: [105]733, [106]914, [107]952, [108]961,
[109]999
Eigen 3.2.4
Released on January 21, 2015
Changes since 3.2.3:
* Fix compilation regression in Rotation2D
* [110]Bug 920: fix compilation issue with MSVC 2015.
* [111]Bug 921: fix utilization of bitwise operation on enums in
first_aligned.
* Fix compilation with NEON on some platforms.
Eigen 3.2.3
Released on December 16, 2014
Changes since 3.2.2:
* Core:
+ Enable Mx0 * 0xN matrix products.
+ [112]Bug 859: fix returned values for vectorized versions of
exp(NaN), log(NaN), sqrt(NaN) and sqrt(-1).
+ [113]Bug 879: tri1 = mat * tri2 was compiling and running
incorrectly if tri2 was not numerically triangular. Workaround
the issue by evaluating mat*tri2 into a temporary.
+ [114]Bug 854: fix numerical issue in
SelfAdjointEigenSolver::computeDirect for 3x3 matrices.
+ [115]Bug 884: make sure there no call to malloc for zero-sized
matrices or for a Ref<> without temporaries.
+ [116]Bug 890: fix aliasing detection when applying a
permutation.
+ [117]Bug 898: MSVC optimization by adding inline hint to
const_cast_ptr.
+ [118]Bug 853: remove enable_if<> in Ref<> ctor.
* Dense solvers:
+ [119]Bug 894: fix the sign returned by LDLT for multiple calls
to compute().
+ Fix JacobiSVD wrt underflow and overflow.
+ [120]Bug 791: fix infinite loop in JacobiSVD in the presence
of NaN.
* Sparse:
+ Fix out-of-bounds memory write when the product of two sparse
matrices is completely dense and performed using pruning.
+ UmfPack support: fix redundant evaluation/copies when calling
compute(), add support for generic expressions as input, and
fix extraction of the L and U factors ([121]Bug 911).
+ Improve SparseMatrix::block for const matrices (the generic
path was used).
+ Fix memory pre-allocation when permuting inner vectors of a
sparse matrix.
+ Fix SparseQR::rank for a completely empty matrix.
+ Fix SparseQR for row-major inputs.
+ Fix SparseLU::absDeterminant and add respective unit test.
+ BiCGSTAB: make sure that good initial guesses are not
destroyed by a bad preconditioner.
* Geometry:
+ Fix Hyperplane::Through(a,b,c) when points are aligned or
identical.
+ Fix linking issues in OpenGLSupport.
* OS, build system and doc:
+ Various compilation fixes including: [122]bug 821, [123]bug
822, [124]bug 857, [125]bug 871, [126]bug 873.
+ Fix many compilation warnings produced by recent compilers
including: [127]bug 909.
+ [128]Bug 861: enable posix_memalign with PGI.
+ Fix BiCGSTAB doc example.
Eigen 3.2.2
Released on August 4, 2014
Changes since 3.2.1:
* Core:
+ Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which
can be seen as a degenerate MatrixXf(1,N)
+ Fix performance regression for the vectorization of sub
columns/rows of matrices.
+ EIGEN_STACK_ALLOCATION_LIMIT: Raise its default value to
128KB, make use of it to assert on maximal fixed size object,
and allows it to be 0 to mean "no limit".
+ [129]Bug 839: Fix 1x1 triangular matrix-vector product.
+ [130]Bug 755: CommaInitializer produced wrong assertions in
absence of Return-Value-Optimization.
* Dense solvers:
+ Add a rank() method with threshold control to JacobiSVD, and
make solve uses it to return the minimal norm solution for
rank-deficient problems.
+ Various numerical fixes in JacobiSVD, including:[131]bug 843,
and the move from Lapack to Matlab strategy for the default
threshold.
+ Various numerical fixes in LDLT, including the case of
semi-definite complex matrices.
+ Fix ColPivHouseholderQR::rank().
+ [132]Bug 222: Make temporary matrix column-major independently
of EIGEN_DEFAULT_TO_ROW_MAJOR in BlockHouseholder.
* Sparse:
+ [133]http://eigen.tuxfamily.org/bz/show_bug.cgi?id=838 Bug
838]: Fix dense * sparse and sparse * dense outer products and
detect outer products from either the lhs or rhs.
+ Make the ordering method of SimplicialL[D]LT configurable.
+ Fix regression in the restart mechanism of BiCGSTAB.
+ [134]Bug 836: extend SparseQR to support more columns than
rows.
+ [135]Bug 808: Use double instead of float for the increasing
size ratio in CompressedStorage::resize, fix implicit
conversions from int/longint to float/double, and fix
set_from_triplets temporary matrix type.
+ [136]Bug 647: Use smart_copy instead of bitwise memcpy in
CompressedStorage.
+ GMRES: Initialize essential Householder vector with correct
dimension.
* Geometry:
+ [137]Bug 807: Missing scalar type cast in umeyama()
+ [138]Bug 806: Missing scalar type cast in
Quaternion::setFromTwoVectors()
+ [139]Bug 759: Removed hard-coded double-math from
Quaternion::angularDistance.
* OS, build system and doc:
+ Fix compilation with Windows CE.
+ Fix some ICEs with VC11.
+ Check IMKL version for compatibility with Eigen
+ [140]Bug 754: Only inserted (!defined(_WIN32_WCE)) analog to
alloc and free implementation.
+ [141]Bug 803: Avoid char* to int* conversion.
+ [142]Bug 819: Include path of details.h file.
+ [143]Bug 738: Use the "current" version of cmake project
directories to ease the inclusion of Eigen within other
projects.
+ [144]Bug 815: Fix doc of FullPivLU wrt permutation matrices.
+ [145]Bug 632: doc: Note that dm2 = sm1 + dm1 is not possible
+ Extend AsciiQuickReference (real, imag, conjugate, rot90)
Eigen 3.2.1
Released on February 26, 2014
Changes since 3.2.0:
* Eigen2 support is now deprecated and will be removed in version
3.3.
* Core:
+ Bug fix for Ref object containing a temporary matrix.
+ [146]Bug 654: Allow construction of row vector from 1D array.
+ [147]Bug 679: Support cwiseMin() and cwiseMax() on maps.
+ Support conservativeResize() on vectors.
+ Improve performance of vectorwise and replicate expressions.
+ [148]Bug 642: Add vectorization of sqrt for doubles, and make
sqrt really safe if EIGEN_FAST_MATH is disabled.
+ [149]Bug 616: Try harder to align columns when printing
matrices and arrays.
+ [150]Bug 579: Add optional run-time parameter to fixed-size
block methods.
+ Implement .all() and .any() for zero-sized objects
+ [151]Bug 708: Add placement new and delete for arrays.
+ [152]Bug 503: Better C++11 support.
* Dense linear algebra:
+ [153]Bug 689: Speed up some matrix-vector products by using
aligned loads if possible.
+ Make solve in FullPivHouseholderQR return least-square
solution if there is no exact solution.
+ [154]Bug 678: Fix fullPivHouseholderQR for rectangular
matrices.
+ Fix a 0/0 issue in JacobiSVD.
+ [155]Bug 736: Wrong result in LDLT::isPositiveDefinite() for
semi-definite matrices.
+ [156]Bug 740: Fix overflow issue in stableNorm().
+ Make pivoting HouseholderQR compatible with custom scalar
types.
* Geometry:
+ Fix compilation of Transform * UniformScaling
* Sparse matrices:
+ Fix elimination tree and SparseQR for fat rectangular
matrices.
+ [157]Bug 635: add isCompressed to MappedSparseMatrix for
compatibility.
+ [158]Bug 664: Support iterators without operator< in
setFromTriplets().
+ Fixes in SparseLU: infinite loop, aliasing issue when solving,
overflow in memory allocation, use exceptions only if enabled
([159]bug 672).
+ Fixes in SparseQR: reduce explicit zero, assigning result to
map, assert catching non-conforming sizes, memory leak.
+ [160]Bug 681: Uninitialized value in CholmodSupport which may
lead to incorrect results.
+ Fix some issues when using a non-standard index type ([161]bug
665 and more)
+ Update constrained CG (unsupported module) to Eigen3.
* OS and build system:
+ MacOS put OpenGL header files somewhere else from where we
expected it.
+ Do not assume that alloca() is 16-byte aligned on Windows.
+ Compilation fixes when using ICC with Visual Studio.
+ Fix Fortran compiler detection in CMake files.
* Fix some of our tests (bugs [162]744 and [163]748 and more).
* Fix a few compiler warnings (bug [164]317 and more).
* Documentation fixes (bugs [165]609, [166]638 and [167]739 and
more).
Upstream changes:
2.11 2015-08-16 Shlomif
- Got the distribution to have full POD coverage and check all functions
for usage.
- t/check-funcs-ret-value--rt92593.t
- https://rt.cpan.org/Public/Bug/Display.html?id=92593
- CPAN Day!
2.10 2015-08-12 Shlomif
- Throw an exception on invalid input to Math::GMP->new;
- https://rt.cpan.org/Ticket/Display.html?id=27521
- Thanks to SISYPHUS for the report.
- Put RELEASE_TESTING tests under xt instead of t.
- https://rt.cpan.org/Ticket/Display.html?id=106365
- Thanks to ilmari for the report and suggested fix.
- Document and test some functions that were improperly documented or
not tested.
- t/check-funcs-ret-value--rt92593.t
- https://rt.cpan.org/Public/Bug/Display.html?id=92593
- Still aiming for full POD Coverage.
2.09 2015-07-29 Shlomif
- Add the binary-left-shift / << operator.
- Add the binary-right-shift / >> operator.
- Convert the build system to Dist-Zilla to ease future maintenance.
- Add a call to Devel::CheckLib for finding the "gmp.h" header.
2.08 2015-07-28 Shlomif
- Add a link to the version control repository at various places.
- Get rid of indirect object notation in the code and the examples.
- It�塜 a sign of Ancient Perl.
- Overload bool to avoid fallback to intify (Hugo)
- Fixes RT #101443
- https://rt.cpan.org/Ticket/Display.html?id=101443
- Modified patch applied by Shlomif.
- Add tests from DANAJ for large numbers in some functions.
- RT #92641
- https://rt.cpan.org/Ticket/Display.html?id=92641
No shlib major bump despite the big version bump.
* What is new in gsl-2.0:
** fixed bug #43258 for hypergeometric functions (Raymond Rogers)
** added L-curve analysis routines for linear Tikhonov regression
** add running statistics module
** added bilinear and bicubic interpolation (David Zaslavsky)
** added function gsl_multifit_robust_residuals to compute robust
fit residuals
** added Steffen monotonic interpolation method (Jean-François Caron)
** added new nonlinear least squares solver 'lmniel' suitable for
systems with large numbers of data
** nonlinear least squares solver now tracks the number of function
and Jacobian evaluations, see example program for details
** the 'fdf' field of gsl_multifit_function_fdf is now deprecated
and does not need to be specified for nonlinear least squares
problems
** added extensive test suite to nonlinear least squares module,
resulting in a few minor bug fixes; the routine
gsl_multifit_fdfsolver_driver has been rewritten (with API change)
to handle the various error codes of the lmsder iterate
routine, resulting in a high level caller which is highly robust
for a wide class of problems
** added support for sparse matrices, including a GMRES
iterative linear solver
** added routines gsl_linalg_givens and gsl_linalg_givens_gv
for Givens rotations
** added Tikhonov (ridge) regularization to least squares module
(linear and nonlinear)
** removed unused argument 'n' from gsl_sf_ellint_D
** merged bspline_deriv_workspace into bspline_workspace to simplify
bspline API; the functions
gsl_bspline_deriv_alloc
gsl_bspline_deriv_free
are now deprecated and will be removed in a future release.
** merged ALF extension into GSL for associated Legendre functions;
api has changed; consequently the functions:
gsl_sf_legendre_Plm_array
gsl_sf_legendre_Plm_deriv_array
gsl_sf_legendre_sphPlm_array
gsl_sf_legendre_sphPlm_deriv_array
gsl_sf_legendre_array_size
are now deprecated and will be removed in a future release.
** added function gsl_multifit_robust_weights to allow user to
access the various weighting functions
API changes
[#1501] connected_components, weakly_connected_components, and strongly_connected_components return now a generator of sets of nodes. Previously the generator was of lists of nodes. This PR also refactored the connected_components and weakly_connected_components implementations making them faster, especially for large graphs.
[#1547] The func_iter functions in Di/Multi/Graphs classes are slated for removal in NetworkX 2.0 release. func will behave like func_iter and return an iterator instead of list. These functions are deprecated in NetworkX 1.10 release.
New functionalities
[#823] A enumerate_all_cliques function is added in the clique package (networkx.algorithms.clique) for enumerating all cliques (including nonmaximal ones) of undirected graphs.
[#1105] A coloring package (networkx.algorithms.coloring) is created for graph coloring algorithms. Initially, a greedy_color function is provided for coloring graphs using various greedy heuristics.
[#1193] A new generator edge_dfs, added to networkx.algorithms.traversal, implements a depth-first traversal of the edges in a graph. This complements functionality provided by a depth-first traversal of the nodes in a graph. For multigraphs, it allows the user to know precisely which edges were followed in a traversal. All NetworkX graph types are supported. A traversal can also reverse edge orientations or ignore them.
[#1194] A find_cycle function is added to the networkx.algorithms.cycles package to find a cycle in a graph. Edge orientations can be optionally reversed or ignored.
[#1210] Add a random generator for the duplication-divergence model.
[#1241] A new networkx.algorithms.dominance package is added for dominance/dominator algorithms on directed graphs. It contains a immediate_dominators function for computing immediate dominators/dominator trees and a dominance_frontiers function for computing dominance frontiers.
[#1269] The GML reader/parser and writer/generator are rewritten to remove the dependence on pyparsing and enable handling of arbitrary graph data.
[#1280] The network simplex method in the networkx.algorithms.flow package is rewritten to improve its performance and support multi- and disconnected networks. For some cases, the new implementation is two or three orders of magnitude faster than the old implementation.
[#1286] Added the Margulis–Gabber–Galil graph to networkx.generators.
[#1306] Added the chordal p-cycle graph, a mildly explicit algebraic construction of a family of 3-regular expander graphs. Also, moves both the existing expander graph generator function (for the Margulis-Gabber-Galil expander) and the new chordal cycle graph function to a new module, networkx.generators.expanders.
[#1314] Allow overwriting of base class dict with dict-like: OrderedGraph, ThinGraph, LogGraph, etc.
[#1321] Added to_pandas_dataframe and from_pandas_dataframe.
[#1322] Added the Hopcroft–Karp algorithm for finding a maximum cardinality matching in bipartite graphs.
[#1336] Expanded data keyword in G.edges and added default keyword.
[#1338] Added support for finding optimum branchings and arborescences.
[#1340] Added a from_pandas_dataframe function that accepts Pandas DataFrames and returns a new graph object. At a minimum, the DataFrame must have two columns, which define the nodes that make up an edge. However, the function can also process an arbitrary number of additional columns as edge attributes, such as ‘weight’.
[#1354] Expanded layout functions to add flexibility for drawing subsets of nodes with distinct layouts and for centering each layout around given coordinates.
[#1356] Added ordered variants of default graph class.
[#1360] Added harmonic centrality to network.algorithms.centrality.
[#1390] The generators.bipartite have been moved to algorithms.bipartite.generators. The functions are not imported in the main namespace, so to use it, the bipartite package has to be imported.
[#1391] Added Kanevsky’s algorithm for finding all minimum-size separating node sets in an undirected graph. It is implemented as a generator of node cut sets.
[#1399] Added power function for simple graphs
[#1405] Added fast approximation for node connectivity based on White and Newman’s approximation algorithm for finding node independent paths between two nodes.
[#1413] Added transitive closure and antichains function for directed acyclic graphs in algorithms.dag. The antichains function was contributed by Peter Jipsen and Franco Saliola and originally developed for the SAGE project.
[#1425] Added generator function for the complete multipartite graph.
[#1427] Added nonisomorphic trees generator.
[#1436] Added a generator function for circulant graphs to the networkx.generators.classic module.
[#1437] Added function for computing quotient graphs; also created a new module, networkx.algorithms.minors.
[#1438] Added longest_path and longest_path_length for DAG.
[#1439] Added node and edge contraction functions to networkx.algorithms.minors.
[#1445] Added a new modularity matrix module to networkx.linalg, and associated spectrum functions to the networkx.linalg.spectrum module.
[#1447] Added function to generate all simple paths starting with the shortest ones based on Yen’s algorithm for finding k shortest paths at algorithms.simple_paths.
[#1455] Added the directed modularity matrix to the networkx.linalg.modularity_matrix module.
[#1474] Adds triadic_census function; also creates a new module, networkx.algorithms.triads.
[#1476] Adds functions for testing if a graph has weighted or negatively weighted edges. Also adds a function for testing if a graph is empty. These are is_weighted, is_negatively_weighted, and is_empty.
[#1481] Added Johnson’s algorithm; one more algorithm for shortest paths. It solves all pairs shortest path problem. This is johnson at algorithms.shortest_paths
[#1414] Added Moody and White algorithm for identifying k_components in a graph, which is based on Kanevsky’s algorithm for finding all minimum-size node cut-sets (implemented in all_node_cuts #1391).
[#1415] Added fast approximation for k_components to the networkx.approximation package. This is based on White and Newman approximation algorithm for finding node independent paths between two nodes (see #1405).
Removed functionalities
[#1236] The legacy ford_fulkerson maximum flow function is removed. Use edmonds_karp instead.
Miscellaneous changes
[#1192] Support for Python 2.6 is dropped.
0.7.6.1
This is a small bugfix release over SymPy 0.7.6, primarily to fix issues with printing in the Jupyter notebook.
Changes
Fix pretty printing in the Jupyter notebook and Jupyter qtconsole for Jupyter 4.0.
The deprecated linearization method in the mechanics module no longer fails to execute.
0.7.6
Major changes
New module calculus.finite_diff for generating finite difference formulae approximating derivatives of arbitrary order on arbitrarily spaced grids.
New module physics.optics for symbolic computations related to optics.
geometry module now supports 3D geometry.
Support for series expansions at a point other then 0 or oo. See PR #2427.
Rules for the intersection of integer ImageSets were added. See PR #7587. We can now do things like {2⋅m | m ∊ ℤ} ∩ {3⋅n | n ∊ ℤ} = {6⋅t | t ∊ ℤ} and {2⋅m | m ∊ ℤ} ∩ {2⋅n + 1 | n ∊ ℤ} = ∅
dsolve module now supports system of ODEs including linear system of ODEs of 1st order for 2 and 3 equations and of 2nd order for 2 equations. It also supports homogeneous linear system of n equations.
New support for continued fractions, including iterators for partial quotients and convergents, and reducing a continued fraction to a Rational or a quadratic irrational.
Support for Egyptian fraction expansions, using several different algorithms.
Addition of generalized linearization methods to physics.mechanics.
Use an LRU cache by default instead of an unbounded one. See PR #7464. Control cache size by the environment variable SYMPY_CACHE_SIZE (default is 500). SYMPY_CACHE_SIZE=None restores the unbounded cache.
Added fastcache as an optional dependency. Requires v0.4 or newer. Control via SYMPY_CACHE_SIZE. May result in significant speedup. See PR #7737.
New experimental module physics.unitsystems for computation with dimensions, units and quantities gathered into systems. This opens the way to dimensional analysis and better quantity calculus. The old module physics.units will stay available until the new one reaches a mature state. See PR #2628.
New Complement class to represent relative complements of two sets. See Pr #7462.
New trigonometric functions (asec, acsc), many enhancements for other trigonometric functions (PR #7500).
New Contains class to represent the relation "is an element of" (see PR #7989).
The code generation tools (code printers, codegen, autowrap, and ufuncify) have been updated to support a wider variety of constructs, and do so in a more robust way. Major changes include added support for matrices as inputs/outputs, and more robust handling of conditional (Piecewise) statements.
ufuncify now uses a backend that generates actual numpy.ufuncs by default through the use of the numpy C api. This allows broadcasting on all arguments. The previous cython and f2py backends are still accessible through the use of the backend kwarg.
CodeGen now generates code for Octave and Matlab from SymPy expressions. This is supported by a new CodePrinter with interface octave_code. For example octave_code(Matrix([[x**2, sin(pi*x*y), ceiling(x)]])) gives the string [x.^2 sin(pi*x.*y) ceil(x)].
New general 3D vector package at sympy.vector. This package provides a 3D vector object with the Del, gradient, divergence, curl, and operators. It supports arbitrary rotations of Cartesian coordinate systems and arbitrary locations of points.
Backwards compatibility breaks and deprecations
All usage of inequalities (>, >=, <, <=) on SymPy objects will now return SymPy's S.true or S.false singletons instead of Python's True or False singletons. Code that checks for, e.g., (a < b) is True should be changed to (a < b) == True or (a < b) == S.true. Use of is is not recommended here.
The subset() method in sympy.core.sets is marked as being deprecated and will be removed in a future release (issue). Instead, the is_subset() method should be used.
Previously, if you compute the series expansion at a point other than 0, the result was shifted to 0. Now SymPy returns the usual series expansion, see PR #2427.
In physics.mechanics, KanesMethod.linearize has a new interface. Old code should be changed to use this instead. See docstring for information.
physics.gaussopt has been moved to physics.optics.gaussopt. You can still import it from the previous location but it may result in a deprecation warning.
This is the last release with the bundled mpmath library. In the next release you will have to install this library from the official site.
Previously lambdify would convert Matrix to numpy.matrix by default. This behavior is being deprecated, and will be completely phased out with the release of 0.7.7. To use the new behavior now set the modules kwarg to [{'ImmutableMatrix': numpy.array}, 'numpy']. If lambdify will be used frequently it is recommended to wrap it with a partial as so: lambdify = functools.partial(lambdify, modules=[{'ImmutableMatrix': numpy.array}, 'numpy']). For more information see #7853 and the lambdify doc string.
Set.complement doesn't exists as an attribute anymore. Now we have a method Set.complement(<universal_set>) which complements the given universal set.
Removed is_finite assumption (see #7891). Use instead a combination of "is_bounded and is_nonzero" assumptions.
is_bounded and is_unbounded assumptions were renamed to is_finite and is_infinite (see #7947).
Removed is_infinitesimal assumption (see #7995).
Removed is_real property for Sets, use set.is_subset(Reals) instead (see #7996).
For generic symbol x (SymPy's symbols are not bounded by default), inequalities with oo are no longer evaluated as they were before, e.g. x < oo no longer evaluates to True). See #7861.
CodeGen has been refactored to make it easier to add other languages. The main high-level tool is still utilities.codegen.codegen. But if you previously used the Routine class directly, note its __init__ behaviour has changed; the new utilities.codegen.make_routine is recommended instead and by default retains the previous C/Fortran behaviour. If needed, you can still instantiate Routine directly; it only does minimal sanity checking on its inputs. See #8082.
FiniteSet([1, 2, 3, 4]) syntax not supported anymore, use FiniteSet(1, 2, 3, 4) instead See #7622.
Minor changes
Updated the parsing module to allow sympification of lambda statements to their SymPy equivalent.
Lambdify can now use numexpr by specifying modules='numexpr'
Use with evaluate(False) context manager to control automatic evaluation. E.g. with evaluate(False): x + x is actually x + x, not 2*x
IndexedBase and Indexed are changed to be commutative by default
sympy.core.sets moved to sympy.sets
Changes in sympy.sets:
Infinite Range is now allowed. See PR #7741
is_subset(): The is_subset() method deprecates the subset() method. self.is_subset(other) checks if self is a subset of other. This is different from self.subset(other), which checked if other is a subset of self.
is_superset(): A new method is_superset() method is now available. self.is_superset(other) checks if self is a superset of other.
is_proper_subset and is_proper_superset: Two new methods allow checking if one set is the proper subset and proper superset of another respectively. For eg. self.is_proper_subset(other) and self.is_proper_superset(other) checks if self is the proper subset of other and if self is the proper superset of other respectively.
is_disjoint(): A new method for checking if two sets are disjoint.
powerset(): A new method powerset() has been added to find the power set of a set.
The cardinality of a ProductSet can be found using the len() function.
Changes in sympy.plot.plot_implicit:
The plot_implicit function now also allows explicitly specifying the symbols to plot on the X and Y axes. If not specified, the symbols will be assigned in the order they are sorted.
The plot_implicit function also allows axes labels for the plot to be specified.
rules for simplification of ImageSet were added PR#7625. As a result {x | x ∊ ℤ} now simplifies to ℤ and {sin(n) | n ∊ {tan(m) | m ∊ ℤ}} automatically simplifies to {sin(tan(m)) | m ∊ ℤ}
coth(0) now returns Complex Infinity. See #7634
dioptre is added to physics.units #7782
replace now respects commutativity #7752
The CCodePrinter gracefully handles Symbols which have string representations that match C reserved words. #8199
limit function now returns an unevaluated Limit instance if it can't compute given limit, see #8213
0.7.5
Major changes
The version of mpmath included in SymPy has been updated to 0.18.
New routines for efficiently compute the dispersion of a polynomial or a pair thereof.
Fancy indexing of matrices is now provided, e.g. A[:, [1, 2, 5]] selects all rows and only 3 columns.
Enumeration of multiset partitions is now based on an implementation of Algorithm 7.1.2.5M from Knuth's The Art of Computer Programming. The new version is much faster, and includes fast methods for enumerating only those partitions with a restricted range of sizes, and counting multiset partitions. (See the new file sympy.utilities.enumerative.py.)
distance methods were added to Line and Ray to compute the shortest distance to them from a point.
The normal_lines method was added to Ellipse to compute the lines from a point that strike the Ellipse at a normal angle.
inv_quick and det_quick were added as functions in solvers.py to facilitate fast solution of small symbolic matrices; their use in solve has reduced greatly the time needed to solve such systems.
solve_univariate_inequality has been added to sympy.solvers.inequalities.py.
as_set attribute for Relationals and Booleans has been added.
Several classes and functions strictly associated with vector calculus were moved from sympy.physics.mechanics to a new package sympy.physics.vector. (PRs #2732#2862#2894)
New implementation of the Airy functions Ai and Bi and their derivatives Ai' and Bi' (called airyai, airybi, airyaiprime and airybiprime, respectively). Most of the usual features of SymPy special function are present. Notable exceptions are Gruntz limit computation helpers and meijerg special functions integration code.
Euler-Lagrange equations (function euler_equations) in a new package sympy.calculus (PR #2431).
Minor changes
Some improvements to the gamma function.
generate_bell now generates correct permutations for any number of elements.
It is no longer necessary to provide nargs to objects subclassed from Function unless an eval class method is not defined. (If eval is defined, the number of arguments will be inferred from its signature.)
geometric Point creation will be faster since simplification is done only on Floats
Some improvements to the intersection method of the Ellipse.
solutions from solve of equations involving multiple log terms are more robust
idiff can now return higher order derivatives
Added to_matrix() method to sympy.physics.vector.Vector and sympy.physics.dyadic.Dyadic. (PR #2686).
Printing improvements for sympy.physics.vector objects and mechanics printing. (PRs #2687, #2728, #2772, #2862, #2894)
Functions with LaTeX symbols now print correct LaTeX. (PR #2772)
init_printing has several new options, including a flag print_builtin to prevent SymPy printing of basic Python types (PR #2683), and flags to let you supply custom printers (PR #2894).
improvements in evaluation of imageset for Intervals (PR #2723).
Set properties to determine boundary and interior (PR #2744).
input to a function created by lambdify no longer needs to be flattened.
Backwards compatibility breaks and deprecations
the submatrix method of matrices was removed; access the functionality by providing slices or list of rows/columns to matrix directly, e.g. A[:, [1, 2]].
Matrix([]) and Matrix([[]]) now both return a 0x0 matrix
terms_gcd no longer removes a -1.0 from expressions
extract_multiplicatively will not remove a negative Number from a positive one, so (4*x*y).extract_multiplicatively(-2*x) will return None.
the shape of the result from M.cross(B) now has the same shape as matrix M.
The factorial of negative numbers is now zoo instead of 0. This is consistent with the definition factorial(n) = gamma(n + 1).
1/0 returns zoo, not oo (PR #2813).
zoo.is_number is True (PR #2823).
oo < I raises TypeError, just as for finite numbers (PR #2734).
1**oo == nan instead of 1, better documentation for Pow class (PR #2606).