summaryrefslogtreecommitdiff
path: root/math
AgeCommit message (Collapse)AuthorFilesLines
2014-03-13Set USE_GCC_RUNTIME=yes for packages which build shared libraries but dojperkin2-2/+6
not use libtool to do so. This is required to correctly depend upon a gcc runtime package (e.g. gcc47-libs) when using USE_PKGSRC_GCC_RUNTIME.
2014-03-12Use C99 to fix build on SunOSwiedi1-1/+2
2014-03-11Upcate to 5.32.1ryoon3-466/+73
Changelog: Maxima 5.32 change log Changes not backward compatible: * share function graph2d: removed in favor of plot2d New items in core: * function limit: limits for fresnel_c and fresnel_s * function plot2d: adaptive plotting for parametric plots * functions round, truncate: distribute over lists and other aggregate types * function zn_characteristic_factors: Shanks characteristic factors New items in share: * new package smath: glue code for SMath Studio (notebook interface) * new package logic: some functions for Boolean expressions * package lapack: new function zheev (eigenvalues of Hermitian matrix) Changes in core: * function labels: make 'labels' an ordinary function (not argument-quoting) * plotting: more general color specification * plotting: rework plot options machinery * plotting: introduce some new options Other changes: * Build and install mgnuplot.exe under windows Bug fixes: 2668 Bigfloat Gamma Inaccurate for Small Inputs 2666 plotdf ignores first of [x, ...] or [y, ...] if there are no other options 2662 Maxima manual adjust 2660 lapack puts binary files in binary/binary-$foo/share/lapack/binary-$foo/lapack 2659 bug_report() directions for creating ticket need updating 2649 Correction for $matrix evaluation 2639 limit asks about internal variable 2634 zgeev does not operate on real matrices 2633 ev(integrate,numer) gives strange result 2630 inverse_jacobi_cn(-2.0, 3.0) generates an error 2629 elliptic_kc(3.0) not accurate 2628 fourier elimination on equality 2624 Erroneous limit result 2615 Numeric evaluation of inverse Jacobi elliptic functions is wrong for some inputs 2282 Problem in LISP with times function in sym unnumbered bugs: mailing list 2013-09-26: transcendental functions and compilation mailing list 2007-04-02: fixes a bug in plot2d-discrete GCL bug #40646 fixed (problem actually in Maxima) workaround GCL bug #40154 (some float literals parsed incorrectly) ensure that 'sign' does not make any changes to assume database. fix Postscript plotting on windows fix limit(-(3*n^2 + 1)*(-1)^n/sqrt(n^5 + 8*n^3 + 8),n,inf); fix bug in ldisplay and ldisp: need to display %t label fix: inv_mod(0,1) should return false fix cyclic-p, gf-eval, gf-irr-p fix gf-cminus-b, gf-prim-p fix bug in computing (.75b0+%i*1.5b0)^(%i/4) fix "describe" returning wrong entry with texinfo version 5 plots using the dumb gnuplot terminal were not being displayed in the terminal when the gnuplot_pipes is used Maxima 5.31 change log Changes in core: * Galois fields: revision, introduction of extension fields * inverse_jacobi_sn: improve accuracy * Bessel functions: integral of bessel_i, bessel_j of arbitrary order * matrix functions: revise ModeMatrix, mat_function, dispJordan, diag, JF * signum: do not declare signum real- or integer-valued * carg: declare carg real-valued * parser: add L, l, W, and w to list of exponent marker characters Changes in share: * package stringproc: new functions readchar, md5sum, base64 Other changes: * documentation: minor changes to make Texinfo 5 happy * build system: changes to make Maxima build correctly on Windows Bug fixes: * 2622 base64 type warnings * 2619 Function inverse_erf - error in numerical evaluation * 2612 known_units() broken * 2608 quad_qags(x,x) generates a lisp error * 2607 lbfgs documentation is incomplete * 2604 fft.dem is out of date * 2603 fft documentation * 2602 lu_factor regression * 2599 cl-info error handling * 2597 logcontract and subscripted log * 2594 Incorrect integration of product of cosines * 2591 risch gives Lisp error for sinh expression * 2583 sign error for integrate(x^(8*%i-1),x); * 2570 Make acos(cos(x)) simplify to x when on correct interval * 2569 translate rat(1,x) and rat([1]) incorrect * 2536 Lisp error in limit: \ * 2501 %pi/8 is definitely not an integer * 2475 limit(x^(mu/x^g),x,inf) --> error unnumbered bugs: * mailing list 2013-05-22: "array-lambda error with 5.30.0" * mailing list 2013-05-07: "defrule regression compare to version 5.29.1" * fix rk() when the independent variable's initial value is nonzero * fix bug in asksign * fix wrong noun form returned for jacobi_nc(elliptic_kc(m)/n,m) Maxima 5.30 change log Changes not backward compatible: * function gf_set: renamed to gf_set_data Other changes: * function bfzeta: extend to complex plane * function gf_set: return a structure * function gf_exp: allow negative exponents * functions plot2d, plot3d: accept subscripted variables as independent variables * package dynamics: revise function rk * package ezunits: new functions expand_dimensional, solve_dimensional, other changes * package linearalgebra(??): revise mat_function * ??: revise functions jordan, JF, diag Bug fixes: ??: limit((log(y+h)-log(y))/h,h,0,plus) 2561: limit(log(x^2),x,-20) gives 2*log(-20) 2559: 2557: abs_integrate leaks assumptions into enclosing context 2547: 2542: 2541: (FIXED??) 2540: 2531: Integration with inf 2529: limit(x^n,x,minf) gives minf for n positive 2528: imagpart etc. wrong when var declared real and complex 2527: exponent too big in limit 2517: 2509: fresnel_s incorrect for small values 2496: 2458: to_poly_solve gives a wrong solution for cos(x)=sin(3x) 2449: cabs(expr) fails when expr is 0 2442: arrayinfo gives a Lisp error 2441: 2412: Problems with integral (x/(exp(x)+1),x,0,inf) 2362: 2350: 2279: 2219: tex2ooo literals format 472: ctrl-D causes Maxima debugger to loop endlessly (clisp only) unnumbered bugs: mailing list circa 2013-03-30: load_pathname unset with maxima -b mailing list 2013-02-21: gamma_incomplete_regularized(a,0) returning the wrong noun form mailing list 2012-12-23: "let(simp) behaves different when loaded from batch file" mailing list 2012-12-14: "Maxima won,t pull out a constant from a linear function" bern() with zerobern:false clean up facts introduced by sign functions
2014-03-09Update to 1.0.14wen2-6/+6
2014-03-09Update to 1.4.18wen2-6/+6
Upstream changes: 27 September 2013: statmod 1.4.18 - Update reference for permp(). - bug fix to elda() so that it returns NA for the tests instead of giving an error when the Fisher information for the slope isNA. - Exact roles of authors specified in DESCRIPTION file. - All usage lines in help files wrapped at 90 characters to ensure that code is not truncated in pdf manual.
2014-03-09Update to 0.9.9wen2-6/+6
Upstream changes: Version 0.9-9, 2013/12/10 Fixed several problems to avoid WARNING and NOTE with last versions of R
2014-03-09Update to 0.4.7wen2-7/+6
Upstream changes: (But no changes for 0.4.7) Version 0.4-6 2013/10/30 Added function dasytriangular for the density of asymmetric triangular distribution as described in Mardia (1972) In this version two functions are available for evaluating the median (medianCircular which allows for the dispersion para meter and median.circular with only the median reported), however medianCircular is deprecated and it will be removed in t he next releases. Added mean.circular.c to calculate the circular mean in C language. New algorithm for circular median. The implementation is in C language. Added function for Hodges Lehmann estimate of the median for circular and non circular data. Several bugs fixed.
2014-03-09Update to 0.9.7(No changelog upstream)wen2-7/+7
Update DEPENDS
2014-03-09Update to 1.7.11wen2-6/+6
Upstream changes: Changes in Version 1.7-11 o Extended the license from "GPL-2" to "GPL-2 | GPL-3". o Avoid duplications in Suggests/Imports/Depends in the package's DESCRIPTION. Use only :: instead of ::: to access certain functions from other namespaces. o Added as.list() methods for yearmon/yearqtr. o Added workaround in Ops.zoo if first argument is not a zoo series (prompted by Josh Ulrich). o The transform() method for zoo series now does what method for data.frame does (instead of just calling it) in order to get non-standard evaluation.
2014-03-06Do not re-define gets() on SunOS, incompatible prototype.jperkin2-1/+21
2014-03-06Pull in Texinfo 5.x compatibility fixes from upstream.jperkin16-1/+454
2014-02-28Changes 1.8.0:adam9-104/+101
* New, no 2to3, Python 2 and Python 3 are supported by a common code base. * New, gufuncs for linear algebra, enabling operations on stacked arrays. * New, inplace fancy indexing for ufuncs with the ``.at`` method. * New, ``partition`` function, partial sorting via selection for fast median. * New, ``nanmean``, ``nanvar``, and ``nanstd`` functions skipping NaNs. * New, ``full`` and ``full_like`` functions to create value initialized arrays. * New, ``PyUFunc_RegisterLoopForDescr``, better ufunc support for user dtypes. * Numerous performance improvements in many areas. * Support for Python versions 2.4 and 2.5 has been dropped. * Support for SCons has been removed.
2014-02-28Changes 3.5.0:adam11-130/+204
* added Symmetric/Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns (in LAPCK 3.4.0, we already integrated CSD of a full square orthogonal matrix) * New stopping criteria for balancing.
2014-02-26bulk build suggested readlinewiedi1-1/+2
2014-02-25Tell right prefix to configure for gmp and fltk, or builtin one or other oneobache1-3/+3
using different prefix than this package will not be picked up.
2014-02-25Changes 0.12.2:adam4-14/+15
- MinGW-w64 build fix - fix simplification bug
2014-02-25Add --without-gmp to configure arguments when gmp is disabled.wiz1-1/+2
Just to be on the safe side (I don't see a difference).
2014-02-24Include <ieeefp.h> for finite() and update the homepagewiedi3-3/+19
2014-02-23Changes 1.0.2:adam3-12/+13
- Fixed mpc_atan, mpc_atanh for (+-0, +-1), see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7 - Fixed mpc_log10 for purely imaginary argument, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-September/001208.html
2014-02-20Add p5-Algorithm-Munkres, p5-Math-Derivative, p5-Math-Splinefhajny1-1/+4
2014-02-20Import math/p5-Math-Spline.fhajny3-0/+24
Cubic Spline Interpolation of data.
2014-02-20Import math/p5-Math-Derivative.fhajny3-0/+22
Numeric 1st and 2nd order differentiation.
2014-02-20Import math/p5-Algorithm-Munkres.fhajny3-0/+26
Perl extension for Munkres' solution to classical Assignment problem for square and rectangular matrices. This module extends the solution of Assignment problem for square matrices to rectangular matrices by padding zeros. Thus a rectangular matrix is converted to square matrix by padding necessary zeros.
2014-02-19Install R support files. Bump PKGREVISION.markd2-2/+16
2014-02-17Pass --disable-openmp on Darwin. With changes to g95 and tk, this packagejperkin1-1/+5
finally builds.
2014-02-14Changes 4.53:adam3-6/+22
* The API routine glp_read_mps was changed to remove free rows. * A bug was fixed in the API routine glp_read_lp. * The zlib compression library used by some GLPK routines and included in the package was downgraded from 1.2.7 to 1.2.5 (as in GLPK 4.50) because of addressability bugs on some 64-bit platforms. * A bug was fixed in a routine that reads gzipped files. * Two API routines glp_get_it_cnt and glp_set_it_cnt were added. * All obsolete GLPK API routines (prefixed with lpx) were removed from the package. * A set of routines that simulate the old GLPK API (as defined in 4.48) were added; see examples/oldapi/api/lpx.c. * A namespace bug was fixed in the SQL table drive module.
2014-02-12Recursive PKGREVISION bump for OpenSSL API version bump.tron18-32/+36
2014-02-12Using distutils.obache2-4/+5
Bump PKGREVISION.
2014-02-08add patch to fix building other packages (e.g. openscad) with gcc 4.7 that ↵wiedi3-3/+22
link cgal
2014-02-06Update to R 3.0.2markd5-152/+39
* The NEWS files have been re-organized. This file contains news for R >= 3.0.0: news for the 0.x.y, 1.x.y and 2.x.y releases is in files NEWS.0, NEWS.1 and NEWS.2. The latter files are now installed when R is installed. An HTML version of news from 2.10.0 to 2.15.3 is available as doc/html/NEWS.2.html. * sum() for integer arguments now uses an integer accumulator of at least 64 bits and so will be more accurate in the very rare case that a cumulative sum exceeds 2^53 (necessarily summing more than 4 million elements). * The example() and tools::Rd2ex() functions now have parameters to allow them to ignore \dontrun markup in examples. (Suggested by Peter Solymos.) * str(x) is considerably faster for very large lists, or factors with 100,000 levels, the latter as in PR#15337. * col2rgb() now converts factors to character strings not integer codes (suggested by Bryan Hanson). * tail(warnings()) now works, via the new `[` method. * There is now support for the LaTeX style file zi4.sty which has in some distributions replaced inconsolata.sty. * unlist(x) now typically returns all non-list xs unchanged, not just the "vector" ones. Consequently, format(lst) now also works when the list lst has non-vector elements. * The tools::getVignetteInfo() function has been added to give information about installed vignettes. * New assertCondition(), etc. utilities in tools, useful for testing. * Profiling now records non-inlined calls from byte-compiled code to BUILTIN functions. * Various functions in stats and elsewhere that use non-standard evaluation are now more careful to follow the namespace scoping rules. E.g. stats::lm() can now find stats::model.frame() even if stats is not on the search path or if some package defines a function of that name. * If an invalid/corrupt .Random.seed object is encountered in the workspace it is ignored with a warning rather than giving an error. (This allows R itself to rely on a working RNG, e.g. to choose a random port.) * seq() and seq.int() give more explicit error messages if called with invalid (e.g. NaN) inputs. * When parse() finds a syntax error, it now makes partial parse information available up to the location of the error. (Request of Reijo Sund.) * Methods invoked by NextMethod() had a different dynamic parent to the generic. This was causing trouble where S3 methods invoked via lazy evaluation could lose track of their generic. (PR#15267) * Code for the negative binomial distribution now treats the case size == 0 as a one-point distribution at zero. * abbreviate() handles without warning non-ASCII input strings which require no abbreviation. * read.dcf() no longer has a limit of 8191 bytes per line. (Wish of PR#15250.) * formatC(x) no longer copies the class of x to the result, to avoid misuse creating invalid objects as in PR#15303. A warning is given if a class is discarded. * Dataset npk has been copied from MASS to allow more tests to be run without recommended packages being installed. * The initialization of the regression coefficients for non-degenerate differenced models in arima() has been changed and in some examples avoids a local maximum. (PR#15396) * termplot() now has an argument transform.x to control the display of individual terms in the plot. (PR#15329) * format() now supports digits = 0, to display nsmall decimal places. * There is a new read-only par() parameter called "page", which returns a logical value indicating whether the next plot.new() call will start a new page. * Processing Sweave and Rd documents to PDF now renders backticks * utils::modifyList() gets a new argument keep.null allowing NULL components in the replacement to be retained, instead of causing corresponding components to be deleted. * tools::pkgVignettes() gains argument check; if set to TRUE, it will warn when it appears a vignette requests a non-existent vignette engine.
2014-02-06Update to ess 13.09.1markd5-53/+61
4 years worth of bugfixes/updates.
2014-02-05Update comment, from Kai-Uwe Eckhardt.wiz1-3/+2
2014-02-04Update to 1.1, provided by Kai-Uwe Eckhardt <kuehro@gmx.de> in private mail.wiz6-1227/+1541
-------------------------------------------------------------------------- NEWS for version 1.1 (released on October 28, 2013) -------------------------------------------------------------------------- New and Changed Features ======================== o Added a new operator on polyhedra: the positive time elapse. o In the Java language interface: - The constraint/generator/... system classes now extend the ArrayList generic container (rather than Vector); - Variable objects are now built from a long (rather than int) value, thereby matching the type used elsewhere for space dimensions; - added new static method to Variable class void setStringifier(Variable_Stringifier) where Variable_Stringifier is an interface allowing for customization of the output routine for variable's names (see example in interfaces/Java/tests/Variable_Output_test1.java); - added value NOT_EQUAL to enumeration Relation_Symbol. Bugfixes ======== o Portability improved. o Fixed a precision regression in Polyhedron method void drop_some_non_integer_points(const Variables_Set&, Complexity_Class); o In the Java language interface, fixed a C++/Java conversion error whereby the construction of a valid Variable object in JNI code was leading to an exception being thrown. The bug has only been observed on 32-bit builds. o In the Java interface, fixed declaration of methods void drop_some_non_integer_points(...); so as to accept a Complexity_Class enum value. o Fixed an issue in method MIP_Problem::OK() whereby the method was trying to enforce a non-invariant condition. -------------------------------------------------------------------------- NEWS for version 1.0 (released on June 28, 2012) -------------------------------------------------------------------------- New and Changed Features ======================== o Significant improvements have been obtained in both time and space resource usage by the definition of data structures and algorithms for the case of "sparse rows", i.e., sequences of coefficients where most of the values are zero. o The library fully supports two different representations for rows: the "dense" representation is an array-like representation tailored to sequences having most of their coefficients different from zero; the "sparse" representation saves memory space (as well as CPU cycles) when most of the coefficients in the sequence are zero. o A generic interface allows for a seamless interaction between the dense and the sparse row representation. Most library entities (linear expressions, constraints, generators, congruences, and their systems) can be built using either representation, specified as a constructor's argument. o As a by-product of this sparse/dense refactoring work, efficiency improvements have been obtained even for those computations that are still based on the dense row representation. o Reasonable default values for the row representation are provided for each library entity, automatically leading to significant memory space savings even in old client/library code, e.g., when dealing with constraint systems describing weakly relational abstractions such as boxes and octagonal shapes. o If desired, these default values can be customized to user's needs by changing just a few lines of library code. For instance, the constraint systems stored inside C_Polyhedron and NNC_Polyhedron objects can be made to use the sparse representation by just changing the following line in Polyhedron.defs.hh: static const Representation default_con_sys_repr = DENSE; to become static const Representation default_con_sys_repr = SPARSE; Bugfixes ======== o Fixed a bug affecting methods bool BD_Shape<T>::contains(const BD_Shape& y) const; bool Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const; whereby the wrong result was obtained when *this is an empty weakly-relational shape and y is not empty. o Fixed a bug affecting the PIP solver whereby a wrong result could have been obtained if the input constraint system contained multiple linear equality constraints. -------------------------------------------------------------------------- NEWS for version 0.12.1 (released on April 16, 2012) -------------------------------------------------------------------------- New and Changed Features ======================== o In the C, Java, OCaml and Prolog interfaces, modified the signature of the function/method/predicate for setting the deterministic timeout threshold. The new interfaces take two input values, named `unscaled' and `scale', that are used to compute the threshold value as `unscaled * 2^scale'. o Added new Box<ITV> methods bool has_upper_bound(Variable var, Coefficient& n, Coefficient& d, bool& closed) const; bool has_lower_bound(Variable var, Coefficient& n, Coefficient& d, bool& closed) const; to query a non-empty box for the existence and value of its upper/lower bound on variable `var'. The methods have been also added to all the available language interfaces. o Two BibTeX databases of papers related to the Parma Polyhedra Library have been added to the distribution (in the `doc' directory). Bugfixes ======== o Restored the support for deterministic timeouts in the PIP solver (it was removed by accident in PPL 0.12). o Minor documentation fixes. o Portability improved. -------------------------------------------------------------------------- NEWS for version 0.12 (released on February 27, 2012) -------------------------------------------------------------------------- New and Changed Features ======================== o New configure options `--with-gmp=DIR', `--with-gmp-include=DIR' and `--with-gmp-lib=DIR' supersede the (now removed) option `--with-gmp-prefix'. (The old option never really worked; hopefully this is the last change in this area.) o New configuration option `--disable-documentation'. When specified no new documentation is built: only the documentation already present in the source tree is installed upon `make install'. o The resolution process for PIP_Problem now better exploits the integrality of parameters to simplify the newly generated tautological constraints, the splitting constraints of decision nodes, and the expressions defining artificial parameters. o The implementations of the MIP and PIP solvers are based on a new data structure leading to significant space and time savings when the tableau matrix is sparse; the benchmarks of the ppl_lpsol demo show an improvement on the average case, that grows when the toughest tests in the benchmark suite are considered. o When the `--check' option is used, the input data for demo ppl_lpsol is perturbed the same way as GLPK does, thereby allowing for a meaningful comparison of the results obtained. o The input routine for PPL numeric datatypes has been extended to accept the ISO9899 (C99) hexadecimal floating constant syntax. o The Parma Watchdog Library has been merged into the Parma Polyhedra Library. Bugfixes ======== o Corrected a precision bug in methods Box<ITV>::upper_bound_assign(const Box&) Box<ITV>::upper_bound_assign_if_exact(const Box&) whereby, provided any argument is an empty box and under other rather specific conditions, the computed result was correct but unnecessarily imprecise. o Corrected a bug in method Grid::relation_with(const Constraint&) const whereby, under specific conditions, the method was creating invalid Grid_Generator objects and providing an incorrect result.
2014-02-04Update ruby-spreadsheet to 0.9.7.obache3-8/+8
### 0.9.7 / 04.02.2014 * Avoid exception when reading text objects * Add test for drawings with text (currenty broken) * Restore xlsopcodes script which had been mangled in previous commits * Remove ruby 1.9 from roadmap, it's already working fine * Fix excel file format documentation which had been mangled in previous commits
2014-02-01Update to KDE SC 4.11.5markd9-30/+26
bug fixes
2014-01-27Fix HOMEPAGEwiz3-6/+6
2014-01-27Do not set FETCH_USING, should not be set in a package Makefile.wiz4-10/+4
2014-01-25Move (BUILD_)DEPENDS after the maintainer section. Requested by wiz@prlw11-4/+4
2014-01-25Removed gcalctool-gtk3 successor gnome-calculatorprlw19-1010/+1
2014-01-25Add gnome-calculator 3.10.2prlw15-1/+890
gcalctool ported to vala and renamed gnome-calculator.
2014-01-25Mark packages as not ready for python-3.x where applicable;wiz11-21/+19
either because they themselves are not ready or because a dependency isn't. This is annotated by PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z or PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar respectively, please use the same style for other packages, and check during updates. Use versioned_dependencies.mk where applicable. Use REPLACE_PYTHON instead of handcoded alternatives, where applicable. Reorder Makefile sections into standard order, where applicable. Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default with the next commit. Whitespace cleanups and other nits corrected, where necessary.
2014-01-25Update HOMEPAGE. Mark as not ready for python-3.x (use py-numpy there).wiz1-3/+4
2014-01-25Update HOMEPAGE. Mark as not ready for python-3.x.wiz1-3/+3
2014-01-25Mark as not useful for python-3.x (included since 3.3, the only versionwiz1-7/+3
currently in pkgsrc).
2014-01-24Improve comment and description.jperkin2-3/+6
2014-01-23Remove unused patch.wiz1-17/+0
2014-01-23Remove unused patchwiz1-20/+0
2014-01-21Update to 3.0.0. Convert to distutils.mk. Move option handlingwiz6-108/+67
into options.mk. Changes from 2.4 to 3.0 ======================= New features ------------ - Since this release PyTables provides full support to Python_ 3 (closes :issue:`188`). - The entire code base is now more compliant with coding style guidelines describe in the PEP8_ (closes :issue:`103` and :issue:`224`). See `API changes`_ for more details. - Basic support for HDF5 drivers. Now it is possible to open/create an HDF5 file using one of the SEC2, DIRECT, LOG, WINDOWS, STDIO or CORE drivers. Users can also set the main driver parameters (closes :issue:`166`). Thanks to Michal Slonina. - Basic support for in-memory image files. An HDF5 file can be set from or copied into a memory buffer (thanks to Michal Slonina). This feature is only available if PyTables is built against HDF5 1.8.9 or newer. Closes :issue:`165` and :issue:`173`. - New :meth:`File.get_filesize` method for retrieving the HDF5 file size. - Implemented methods to get/set the user block size in a HDF5 file (closes :issue:`123`) - Improved support for PyInstaller_. Now it is easier to pack frozen applications that use the PyTables package (closes: :issue:`177`). Thanks to Stuart Mentzer and Christoph Gohlke. - All read methods now have an optional *out* argument that allows to pass a pre-allocated array to store data (closes :issue:`192`) - Added support for the floating point data types with extended precision (Float96, Float128, Complex192 and Complex256). This feature is only available if numpy_ provides it as well. Closes :issue:`51` and :issue:`214`. Many thanks to Andrea Bedini. - Consistent ``create_xxx()`` signatures. Now it is possible to create all data sets :class:`Array`, :class:`CArray`, :class:`EArray`, :class:`VLArray`, and :class:`Table` from existing Python objects (closes :issue:`61` and :issue:`249`). See also the `API changes`_ section. - Complete rewrite of the :mod:`nodes.filenode` module. Now it is fully compliant with the interfaces defined in the standard :mod:`io` module. Only non-buffered binary I/O is supported currently. See also the `API changes`_ section. Closes :issue:`244`. - New :program:`pt2to3` tool is provided to help users to port their applications to the new API (see `API changes`_ section). Improvements ------------ - Improved runtime checks on dynamic loading of libraries: meaningful error messages are generated in case of failure. Also, now PyTables no more alters the system PATH. Closes :issue:`178` and :issue:`179` (thanks to Christoph Gohlke). - Improved list of search paths for libraries as suggested by Nicholaus Halecky (see :issue:`219`). - Removed deprecated Cython_ include (.pxi) files. Contents of :file:`convtypetables.pxi` have been moved in :file:`utilsextension.pyx`. Closes :issue:`217`. - The internal Blosc_ library has been upgraded to version 1.2.3. - Pre-load the bzip2_ library on windows (closes :issue:`205`) - The :meth:`File.get_node` method now accepts unicode paths (closes :issue:`203`) - Improved compatibility with Cython_ 0.19 (see :issue:`220` and :issue:`221`) - Improved compatibility with numexpr_ 2.1 (see also :issue:`199` and :issue:`241`) - Improved compatibility with development versions of numpy_ (see :issue:`193`) - Packaging: since this release the standard tar-ball package no more includes the PDF version of the "PyTables User Guide", so it is a little bit smaller now. The complete and pre-build version of the documentation both in HTML and PDF format is available on the file `download area`_ on SourceForge.net. Closes: :issue:`172`. - Now PyTables also uses `Travis-CI`_ as continuous integration service. All branches and all pull requests are automatically tested with different Python_ versions. Closes :issue:`212`. Other changes ------------- - PyTables now requires Python 2.6 or newer. - Minimum supported version of Numexpr_ is now 2.0. API changes ----------- The entire PyTables API as been made more PEP8_ compliant (see :issue:`224`). This means that many methods, attributes, module global variables and also keyword parameters have been renamed to be compliant with PEP8_ style guidelines (e.g. the ``tables.hdf5Version`` constant has been renamed into ``tables.hdf5_version``). We made the best effort to maintain compatibility to the old API for existing applications. In most cases, the old 2.x API is still available and usable even if it is now deprecated (see the Deprecations_ section). The only important backwards incompatible API changes are for names of function/methods arguments. All uses of keyword arguments should be checked and fixed to use the new naming convention. The new :program:`pt2to3` tool can be used to port PyTables based applications to the new API. Many deprecated features and support for obsolete modules has been dropped: - The deprecated :data:`is_pro` module constant has been removed - The nra module and support for the obsolete numarray module has been removed. The *numarray* flavor is no more supported as well (closes :issue:`107`). - Support for the obsolete Numeric module has been removed. The *numeric* flavor is no longer available (closes :issue:`108`). - The tables.netcdf3 module has been removed (closes :issue:`68`). - The deprecated :exc:`exceptions.Incompat16Warning` exception has been removed - The :meth:`File.create_external_link` method no longer has a keyword parameter named *warn16incompat*. It was deprecated in PyTables 2.4. Moreover: - The :meth:`File.create_array`, :meth:`File.create_carray`, :meth:`File.create_earray`, :meth:`File.create_vlarray`, and :meth:`File.create_table` methods of the :class:`File` objects gained a new (optional) keyword argument named ``obj``. It can be used to initialize the newly created dataset with an existing Python object, though normally these are numpy_ arrays. The *atom*/*descriptor* and *shape* parameters are now optional if the *obj* argument is provided. - The :mod:`nodes.filenode` has been completely rewritten to be fully compliant with the interfaces defined in the :mod:`io` module. The FileNode classes currently implemented are intended for binary I/O. Main changes: * the FileNode base class is no more available, * the new version of :class:`nodes.filenode.ROFileNode` and :class:`nodes.filenode.RAFileNode` objects no more expose the *offset* attribute (the *seek* and *tell* methods can be used instead), * the *lineSeparator* property is no more available end the ``\n`` character is always used as line separator. - The `__version__` module constants has been removed from almost all the modules (it was not used after the switch to Git). Of course the package level constant (:data:`tables.__version__`) still remains. Closes :issue:`112`. - The :func:`lrange` has been dropped in favor of xrange (:issue:`181`) - The :data:`parameters.MAX_THREADS` configuration parameter has been dropped in favor of :data:`parameters.MAX_BLOSC_THREADS` and :data:`parameters.MAX_NUMEXPR_THREADS` (closes :issue:`147`). - The :func:`conditions.compile_condition` function no more has a *copycols* argument, it was no more necessary since Numexpr_ 1.3.1. Closes :issue:`117`. - The *expectedsizeinMB* parameter of the :meth:`File.create_vlarray` and of the :meth:`VLArrsy.__init__` methods has been replaced by *expectedrows*. See also (:issue:`35`). - The :meth:`Table.whereAppend` method has been renamed into :meth:`Table.append_where` (closes :issue:`248`). Please refer to the :doc:`../MIGRATING_TO_3.x` document for more details about API changes and for some useful hint about the migration process from the 2.X API to the new one. Other possibly incompatible changes ----------------------------------- - All methods of the :class:`Table` class that take *start*, *stop* and *step* parameters (including :meth:`Table.read`, :meth:`Table.where`, :meth:`Table.iterrows`, etc) have been redesigned to have a consistent behaviour. The meaning of the *start*, *stop* and *step* and their default values now always work exactly like in the standard :class:`slice` objects. Closes :issue:`44` and :issue:`255`. - Unicode attributes are not stored in the HDF5 file as pickled string. They are now saved on the HDF5 file as UTF-8 encoded strings. Although this does not introduce any API breakage, files produced are different (for unicode attributes) from the ones produced by earlier versions of PyTables. - System attributes are now stored in the HDF5 file using the character set that reflects the native string behaviour: ASCII for Python 2 and UTF8 for Python 3. In any case, system attributes are represented as Python string. - The :meth:`iterrows` method of :class:`*Array` and :class:`Table` as well as the :meth:`Table.itersorted` now behave like functions in the standard :mod:`itertools` module. If the *start* parameter is provided and *stop* is None then the array/table is iterated from *start* to the last line. In PyTables < 3.0 only one element was returned. Deprecations ------------ - As described in `API changes`_, all functions, methods and attribute names that was not compliant with the PEP8_ guidelines have been changed. Old names are still available but they are deprecated. - The use of upper-case keyword arguments in the :func:`open_file` function and the :class:`File` class initializer is now deprecated. All parameters defined in the :file:`tables/parameters.py` module can still be passed as keyword argument to the :func:`open_file` function just using a lower-case version of the parameter name. Bugs fixed ---------- - Better check access on closed files (closes :issue:`62`) - Fix for :meth:`File.renameNode` where in certain cases :meth:`File._g_updateLocation` was wrongly called (closes :issue:`208`). Thanks to Michka Popoff. - Fixed ptdump failure on data with nested columns (closes :issue:`213`). Thanks to Alexander Ford. - Fixed an error in :func:`open_file` when *filename* is a :class:`numpy.str_` (closes :issue:`204`) - Fixed :issue:`119`, :issue:`230` and :issue:`232`, where an index on :class:`Time64Col` (only, :class:`Time32Col` was ok) hides the data on selection from a Tables. Thanks to Jeff Reback. - Fixed ``tables.tests.test_nestedtypes.ColsTestCase.test_00a_repr`` test method. Now the ``repr`` of of cols on big-endian platforms is correctly handled (closes :issue:`237`). - Fixes bug with completely sorted indexes where *nrowsinbuf* must be equal to or greater than the *chunksize* (thanks to Thadeus Burgess). Closes :issue:`206` and :issue:`238`. - Fixed an issue of the :meth:`Table.itersorted` with reverse iteration (closes :issue:`252` and :issue:`253`).
2014-01-21Update to 2.2.2. Set LICENSE. Update HOMEPAGE.wiz3-14/+15
Changes from 2.2.1 to 2.2.2 =========================== * The `copy_args` argument of `NumExpr` function has been brought back. This has been mainly necessary for compatibility with PyTables < 3.0, which I decided to continue to support. Fixed #115. * The `__nonzero__` method in `ExpressionNode` class has been commented out. This is also for compatibility with PyTables < 3.0. See #24 for details. * Fixed the type of some parameters in the C extension so that s390 architecture compiles. Fixes #116. Thank to Antonio Valentino for reporting and the patch. Changes from 2.2 to 2.2.1 ========================= * Fixes a secondary effect of "from numpy.testing import `*`", where division is imported now too, so only then necessary functions from there are imported now. Thanks to Christoph Gohlke for the patch. Changes from 2.1 to 2.2 ======================= * [LICENSE] Fixed a problem with the license of the numexpr/win32/pthread.{c,h} files emulating pthreads on Windows platforms. After persmission from the original authors is granted, these files adopt the MIT license and can be redistributed without problems. See issue #109 for details (https://code.google.com/p/numexpr/issues/detail?id=110). * [ENH] Improved the algorithm to decide the initial number of threads to be used. This was necessary because by default, numexpr was using a number of threads equal to the detected number of cores, and this can be just too much for moder systems where this number can be too high (and counterporductive for performance in many cases). Now, the 'NUMEXPR_NUM_THREADS' environment variable is honored, and in case this is not present, a maximum number of *8* threads are setup initially. The new algorithm is fully described in the Users Guide now in the note of 'General routines' section: https://code.google.com/p/numexpr/wiki/UsersGuide#General_routines. Closes #110. * [ENH] numexpr.test() returns `TestResult` instead of None now. Closes #111. * [FIX] Modulus with zero with integers no longer crashes the interpreter. It nows puts a zero in the result. Fixes #107. * [API CLEAN] Removed `copy_args` argument of `evaluate`. This should only be used by old versions of PyTables (< 3.0). * [DOC] Documented the `optimization` and `truediv` flags of `evaluate` in Users Guide (https://code.google.com/p/numexpr/wiki/UsersGuide). Changes from 2.0.1 to 2.1 =========================== * Dropped compatibility with Python < 2.6. * Improve compatibiity with Python 3: - switch from PyString to PyBytes API (requires Python >= 2.6). - fixed incompatibilities regarding the int/long API - use the Py_TYPE macro - use the PyVarObject_HEAD_INIT macro instead of PyObject_HEAD_INIT * Fixed several issues with different platforms not supporting multithreading or subprocess properly (see tickets #75 and #77). * Now, when trying to use pure Python boolean operators, 'and', 'or' and 'not', an error is issued suggesting that '&', '|' and '~' should be used instead (fixes #24). Changes from 2.0 to 2.0.1 ========================= * Added compatibility with Python 2.5 (2.4 is definitely not supported anymore). * `numexpr.evaluate` is fully documented now, in particular the new `out`, `order` and `casting` parameters. * Reduction operations are fully documented now. * Negative axis in reductions are not supported (they have never been actually), and a `ValueError` will be raised if they are used. Changes from 1.x series to 2.0 ============================== - Added support for the new iterator object in NumPy 1.6 and later. This allows for better performance with operations that implies broadcast operations, fortran-ordered or non-native byte orderings. Performance for other scenarios is preserved (except for very small arrays). - Division in numexpr is consistent now with Python/NumPy. Fixes #22 and #58. - Constants like "2." or "2.0" must be evaluated as float, not integer. Fixes #59. - `evaluate()` function has received a new parameter `out` for storing the result in already allocated arrays. This is very useful when dealing with large arrays, and a allocating new space for keeping the result is not acceptable. Closes #56. - Maximum number of threads raised from 256 to 4096. Machines with a higher number of cores will still be able to import numexpr, but limited to 4096 (which is an absurdly high number already).
2014-01-21Update to 0.7.4.1:wiz3-105/+626
0.7.4.1 These are the release notes for SymPy 0.7.4.1, which was released on December 15, 2013. This version of SymPy has been tested on Python 2.6, 2.7, 3.2, 3.3, and PyPy. This was a small bugfix release to fix an import issue on Windows (https://github.com/sympy/sympy/issues/2681). 0.7.4 These are the release notes for SymPy 0.7.4, which was released on December 9, 2013. This version of SymPy has been tested on Python 2.6, 2.7, 3.2, 3.3, and PyPy. Major changes Python 3 SymPy now uses a single code-base for Python 2 and Python 3. Geometric Algebra The internal representation of a multivector has been changes to more fully use the inherent capabilities of SymPy. A multivector is now represented by a linear combination of real commutative SymPy expressions and a collection of non-commutative SymPy symbols. Each non-commutative symbol represents a base in the geometric algebra of an N-dimensional vector space. The total number of non-commutative bases is 2**N - 1 (N of which are a basis for the vector space) which when including scalars give a dimension for the geometric algebra of 2**N. The different products of geometric algebra are implemented as functions that take pairs of bases symbols and return a multivector for each pair of bases. The LaTeX printing module for multivectors has been rewritten to simply extend the existing sympy LaTeX printing module and the sympy LaTeX module is now used to print the bases coefficients in the multivector representation instead of writing an entire LaTeX printing module from scratch. The main change in the geometric algebra module from the viewpoint of the user is the inteface for the gradient operator and the implementation of vector manifolds: The gradient operator is now implemented as a special vector (the user can name it grad if they wish) so the if F is a multivector field all the operations of grad on F can be written grad*F, F*grad, grad^F, F^grad, grad|F, F|grad, grad<F, F<grad, grad>F, and F>grad where **, ^, |, <, and > are the geometric product, outer product, inner product, left contraction, and right contraction, respectively. The vector manifold is defined as a parametric vector field in an embedding vector space. For example a surface in a 3-dimensional space would be a vector field as a function of two parameters. Then multivector fields can be defined on the manifold. The operations available to be performed on these fields are directional derivative, gradient, and projection. The weak point of the current manifold representation is that all fields on the manifold are represented in terms of the bases of the embedding vector space. Classical Cryptography Implements: Affine ciphers Vigenere ciphers Bifid ciphers Hill ciphers RSA and "kid RSA" linear feedback shift registers. Common Subexpression Elimination (CSE) Major changes have been done in cse internals resulting in a big speedup for larger expressions. Some changes reflect on the user side: Adds and Muls are now recursively matched ([w*x, w*x*y, w*x*y*z] ǹow turns into [(x0, w*x), (x1, x0*y)], [x0, x1, x1*z]) CSE is now not performed on the non-commutative parts of multiplications (it avoids some bugs). Pre and post optimizations are not performed by default anymore. The optimizations parameter still exists and optimizations='basic' can be used to apply previous default optimizations. These optimizations could really slow down cse on larger expressions and are no guarantee of better results. An order parameter has been introduced to control whether Adds and Muls terms are ordered independently of hashing implementation. The default order='canonical' will independently order the terms. order='none' will not do any ordering (hashes order is used) and will represent a major performance improvement for really huge expressions. In general, the output of cse will be slightly different from the previous implementation. Diophantine Equation Module This is a new addition to SymPy as a result of a GSoC project. With the current release, following five types of equations are supported. Linear Diophantine equation, a_{1}x_{1} + a_{2}x_{2} + . . . + a_{n}x_{n} = b General binary quadratic equation, ax^2 + bxy + cy^2 + dx + ey + f = 0 Homogeneous ternary quadratic equation, ax^2 + by^2 + cz^2 + dxy + eyz + fzx = 0 Extended Pythagorean equation, a_{1}x_{1}^2 + a_{2}x_{2}^2 + . . . + a_{n}x_{n}^2 = a_{n+1}x_{n+1}^2 General sum of squares, x_{1}^2 + x_{2}^2 + . . . + x_{n}^2 = k Unification of Sum, Product, and Integral classes A new superclass has been introduced to unify the treatments of indexed expressions, such as Sum, Product, and Integral. This enforced common behavior accross the objects, and provides more robust support for a number of operations. For example, Sums and Integrals can now be factored or expanded. S.subs() can be used to substitute for expressions inside a Sum/Integral/Product that are independent of the index variables, including unknown functions, for instance, Integral(f(x), (x, 1, 3)).subs(f(x), x**2), while Sum.change_index() or Integral.transform are now used for other changes of summation or integration variables. Support for finite and infinite sequence products has also been restored. In addition there were a number of fixes to the evaluation of nested sums and sums involving Kronecker delta functions, see issue 3924 and issue 3987. Series The Order object used to represent the growth of a function in series expansions as a variable tend to zero can now also represent growth as a variable tend to infinity. This also fixed a number of issues with limits. See issue 234 and issue 2670. Division by Order is disallowed, see issue 1756. Addition of Order object is now commutative, see issue 1180. Physics Initial work on gamma matrices, depending on the tensor module. Logic New objects true and false which are Basic versions of the Python builtins True and False. Other Arbitrary comparisons between expressions (like x < y) no longer have a boolean truth value. This means code like if x < y or sorted(exprs) will raise TypeError if x < y is symbolic. A typical fix of the former is if (x < y) is True (assuming the if block should be skipped if x < y is symbolic), and of the latter is sorted(exprs, key=default_sort_key), which will order the expressions in an arbitrary, but consistent way, even across platforms and Python versions. See issue 2832. Arbitrary comparisons between complex numbers (for example, I > 1) now raise TypeError as well (see PR #2510). minpoly now works with algebraic functions, like minpoly(sqrt(x) + sqrt(x + 1), y). exp can now act on any matrix, even those which are not diagonalizable. It is also more comfortable to call it, exp(m) instead of just m.exp(), as was required previously. sympify now has an option evaluate=False that will not automatically simplify expressions like x+x. Deep processing of cancel and simplify functions. simplify is now recursive through the expression tree. See e.g. issue 3923. Improved the modularity of the codebase for potential subclasses, see issue 3652. The SymPy cheatsheet was cleaned up. Backwards compatibility breaks and deprecations Removed deprecated Real class and is_Real property of Basic, see issue 1721. Removed deprecated 'each_char' option for symbols(), see issue 1919. The viewer="StringIO" option to preview() has been deprecated. Use viewer="BytesIO" instead. See issue 3984. TransformationSet has been renamed to ImageSet. Added public facing imageset function. 0.7.3 These are the release notes for SymPy 0.7.3, which was released on July 13, 2013. It can be downloaded from https://github.com/sympy/sympy/releases/tag/sympy-0.7.3. This version of SymPy has been tested on Python 2.5, 2.6, 2.7, 3.2, 3.3, and PyPy. Major changes Integration This release includes Risch integration algorithm from Aaron Meurer's 2010 Google Summer of Code project. This makes integrate much more powerful and much faster for the supported functions. The algorithm is called automatically from integrate(). For now, only transcendental elementary functions containing exp or log are supported. To access the algorithm directly, use integrate(expr, x, risch=True). The algorithm has the ability to prove that integrals are nonelementary. To determine if a function is nonelementary, integrate using risch=True. If the resulting Integral class is an instance of NonElementaryIntegral, then it is not elementary (otherwise, that part of the algorithm has just not been implemented yet). Here is an example integral that could not be computed before: >>> f = x*(x + 1)*(2*x*(x - (2*x**3 + 2*x**2 + x + 1)*log(x + 1))*exp(3*x**2) + (x**2*exp(2*x**2) - log(x + 1)**2)**2)/((x + 1)*log(x + 1)**2 - (x**3 + x**2)*exp(2*x**2))**2 >>> integrate(f, x) x + x*exp(x**2)*log(x + 1)/(x**2*exp(2*x**2) - log(x + 1)**2) - log(x + 1) - log(exp(x**2) - log(x + 1)/x)/2 + log(exp(x**2) + log(x + 1)/x)/2 ODE Built basic infrastructure of the PDE module (PR #1970) Theano Interaction SymPy expressions can now be translated into Theano expressions for numeric evaluation. This includes most standard scalar operations (e.g. sin, exp, gamma, but not beta or MeijerG) and matrices. This system generally outperforms lambdify and autowrap but does require Theano to be installed. Matrix Expressions Assumptions Matrix expressions now support inference using the new assumptions system. New predicates include invertible, symmetric, positive_definite, orthogonal, .... New Operators New operators include Adjoint, HadamardProduct, Determinant, MatrixSlice, DFT. Also, preliminary support exists for factorizations like SVD and LU. Context manager for New Assumptions Added the with assuming(*facts) context manager for new assumptions. See blogpost Backwards compatibility breaks and deprecations This is the last version of SymPy to support Python 2.5. The IPython extension, i.e., %load_ext sympy.interactive.ipythonprinting is deprecated. Use from sympy import init_printing; init_printing() instead. See issue 3914. The viewer='file' option to preview without a file name is deprecated. Use filename='name' in addition to viewer='file'. See issue 3919. The deprecated syntax Symbol('x', dummy=True), which had been deprecated since 0.7.0, has been removed. Use Dummy('x') or symbols('x', cls=Dummy) instead. See issue 3378. The deprecated Expr methods as_coeff_terms and as_coeff_factors, which have been deprecated in favor of as_coeff_mul and as_coeff_add, respectively (see also as_coeff_Mul and as_coeff_Add), were removed. The methods had been deprecated since SymPy 0.7.0. See issue 3377. The spherical harmonics have been completely rewritten. See PR #1510. Minor changes Solvers Added enhancements and improved the methods of solving exact differential equation ((PR #1955)) and ((PR #1823)) Support for differential equations with linear coefficients and those that can be reduced to separable and linear form ((PR #1940), (PR #1864), (PR #1883)) Support for first order linear general PDE's with constant coefficients ((PR #2109)) Return all found independent solutions for underdetermined systems. Handle recursive problems for which y(0) = 0. Handle matrix equations. Integration integrate will split out integrals into Piecewise expressions when conditions must hold for the answer to be true. For example, integrate(x**n, x) now gives Piecewise((log(x), Eq(n, -1), (x**(n + 1)/(n + 1), True)) (previously it just gave x**(n + 1)/(n + 1)) Calculate Gauss-Legendre and Gauss-Laguerre points and weights (PR #1497) Various new error and inverse error functions (PR #1703) Use in heurisch for more symmetric and nicer results Gruntz for expintegrals and all new erf* Li, li logarithmic integrals (PR #1708) Integration of li/Li by heurisch (PR #1712) elliptic integrals, complete and incomplete Integration of complete elliptic integrals by meijerg Integration of Piecewise with symbolic conditions. Fixed many wrong results of DiracDelta integrals. Logic Addition of SOPform and POSform functions to sympy.logic to generate boolean expressions from truth tables. Addition of simplify_logic function and enabling simplify() to reduce logic expressions to their simplest forms. Addition of bool_equals function to check equality of boolean expressions and return a mapping of variables from one expr to other that leads to the equality. Addition of disjunctive normal form methods - to_dnf, is_dnf Others gmpy version 2 is now supported Added is_algebraic_expr() method (PR #2176) Many improvements to the handling of noncommutative symbols: Better support in simplification functions, e.g. factor, trigsimp Better integration with Order() Better pattern matching Improved pattern matching including matching the identity. normalizes Jacobi polynomials Quadrature rules for orthogonal polynomials in arbitrary precision (hermite, laguerre, legendre, gen_legendre, jacobi) summation of harmonic numbers Many improvements of the polygamma functions evaluation at special arguments Connections to harmonic numbers structured full partial fraction decomposition (mainly interesting for developers) besselsimp improvements Karr summation convention New spherical harmonics improved minimal_polynomial using composition of algebraic numbers (PR #2038) faster integer polynomial factorization (PR #2148) Euler-Descartes method for quartic equations (PR #1947) algebraic operations on tensors (PR #1700) tensor canonicalization (PR #1644) Handle the simplification of summations and products over a KroneckerDelta. Implemented LaTeX printing of DiracDelta, Heaviside, KroneckerDelta and LeviCivita, also many Matrix expressions. Improved LaTeX printing of fractions, Mul in general. IPython integration and printing issues have been ironed out. Stats now supports discrete distributions (e.g. Poisson) by relying on Summation objects Added DOT printing for visualization of expression trees Added information about solvability and nilpotency of named groups.