summaryrefslogtreecommitdiff
path: root/math
AgeCommit message (Collapse)AuthorFilesLines
2015-05-30Update to 1.1.2wen2-6/+6
No upstream changelog.
2015-05-26Fix symbol visibility, package now builds on SunOS.jperkin2-1/+16
2015-05-26Put back missing PLIST entries lost in previous update.jperkin1-1/+15
2015-05-15Disable assembler on ARM, it doesn't work with EABI. Don't put ajoerg3-3/+48
variable with C linkage in a namespace, clang (correctly) complains about the shadowing (re)declarations. Bump revision.
2015-05-13Update to 3.2.0ryoon5-53/+62
Changelog: CHANGES IN 3.2.0: NEW FEATURES: * anyNA() gains a recursive argument. * When x is missing and names is not false (including the default value), Sys.getenv(x, names) returns an object of class "Dlist" and hence prints tidily. * (Windows.) shell() no longer consults the environment variable SHELL: too many systems have been encountered where it was set incorrectly (usually to a path where software was compiled, not where it was installed). R_SHELL, the preferred way to select a non-default shell, can be used instead. * Some unusual arguments to embedFonts() can now be specified as character vectors, and the defaults have been changed accordingly. * Functions in the Summary group duplicate less. (PR#15798) * (Unix-alikes.) system(cmd, input = ) now uses 'shell-execution-environment' redirection, which will be more natural if cmd is not a single command (but requires a POSIX-compliant shell). (Wish of PR#15508) * read.fwf() and read.DIF() gain a fileEncoding argument, for convenience. * Graphics devices can add attributes to their description in .Device and .Devices. Several of those included with R use a "filepath" attribute. * pmatch() uses hashing in more cases and so is faster at the expense of using more memory. (PR#15697) * pairs() gains new arguments to select sets of variables to be plotted against each other. * file.info(, extra_cols = FALSE) allows a minimal set of columns to be computed on Unix-alikes: on some systems without properly-configured caching this can be significantly faster with large file lists. * New function dir.exists() in package base to test efficiently whether one or more paths exist and are directories. * dput() and friends gain new controls hexNumeric and digits17 which output double and complex quantities as, respectively, binary fractions (exactly, see sprintf("%a")) and as decimals with up to 17 significant digits. * save(), saveRDS() and serialize() now support ascii = NA which writes ASCII files using sprintf("%a") for double/complex quantities. This is read-compatible with ascii = TRUE but avoids binary->decimal->binary conversions with potential loss of precision. Unfortunately the Windows C runtime's lack of C99 compliance means that the format cannot be read correctly there in R before 3.1.2. * The default for formatC(decimal.mark =) has been changed to be getOption("OutDec"); this makes it more consistent with format() and suitable for use in print methods, e.g. those for classes "density", "ecdf", "stepfun" and "summary.lm". getOption("OutDec") is now consulted by the print method for class "kmeans", by cut(), dendrogram(), plot.ts() and quantile() when constructing labels and for the report from legend(trace = TRUE). (In part, wish of PR#15819.) * printNum() and hence format() and formatC() give a warning if big.mark and decimal.mark are set to the same value (period and comma are not uncommonly used for each, and this is a check that conventions have not got mixed). * merge() can create a result which uses long vectors on 64-bit platforms. * dget() gains a new argument keep.source which defaults to FALSE for speed (dput() and dget() are most often used for data objects where this can make dget() many times faster). * Packages may now use a file of common macro definitions in their help files, and may import definitions from other packages. * A number of macros have been added in the new share/Rd directory for use in package overview help pages, and promptPackage() now makes use of them. * tools::parse_Rd() gains a new permissive argument which converts unrecognized macros into text. This is used by utils:::format.bibentry to allow LaTeX markup to be ignored. * options(OutDec =) can now specify a multi-byte character, e.g., options(OutDec = "\u00b7") in a UTF-8 locale. * is.recursive(x) is no longer true when x is an external pointer, a weak reference or byte code; the first enables all.equal(x, x) when x <- getClass(.). * ls() (aka objects()) and as.list.environment() gain a new argument sorted. * The "source" attribute (which has not been added to functions by R since before R version 2.14.0) is no longer treated as special. * Function returnValue() has been added to give on.exit() code access to a function's return value for debugging purposes. * crossprod(x, y) allows more matrix coercions when x or y are vectors, now equalling t(x) %*% y in these cases (also reported by Radford Neal). Similarly, tcrossprod(x,y) and %*% work in more cases with vector arguments. * Utility function dynGet() useful for detecting cycles, aka infinite recursions. * The byte-code compiler and interpreter include new instructions that allow many scalar subsetting and assignment and scalar arithmetic operations to be handled more efficiently. This can result in significant performance improvements in scalar numerical code. * apply(m, 2, identity) is now the same as the matrix m when it has _named_ row names. * A new function debuggingState() has been added, allowing to temporarily turn off debugging. * example() gets a new optional argument run.donttest and tools::Rd2ex() a corresponding commentDonttest, with a default such that example(..) in help examples will run \donttest code only if used interactively (a change in behaviour). * rbind.data.frame() gains an optional argument make.row.names, for potential speedup. * New function extSoftVersion() to report on the versions of third-party software in use in this session. Currently reports versions of zlib, bzlib, the liblzma from xz, PCRE, ICU, TRE and the iconv implementation. A similar function grSoftVersion() in package grDevices reports on third-party graphics software. Function tcltk::tclVersion() reports the Tcl/Tk version. * Calling callGeneric() without arguments now works with primitive generics to some extent. * vapply(x, FUN, FUN.VALUE) is more efficient notably for large length(FUN.VALUE); as extension of PR#16061. * as.table() now allows tables with one or more dimensions of length 0 (such as as.table(integer())). * names(x) <- NULL now clears the names of call and ... objects. * library() will report a warning when an insufficient dependency version is masking a sufficient one later on the library search path. * A new plot() method for class "raster" has been added. * New check_packages_in_dir_changes() function in package tools for conveniently analyzing how changing sources impacts the check results of their reverse dependencies. * Speed-up from Peter Haverty for ls() and methods:::.requirePackage() speeding up package loading. (PR#16133) * New get0() function, combining exists() and get() in one call, for efficiency. * match.call() gains an envir argument for specifying the environment from which to retrieve the ... in the call, if any; this environment was wrong (or at least undesirable) when the definition argument was a function. * topenv() has been made .Internal() for speedup, based on Peter Haverty's proposal in PR#16140. * getOption() no longer calls options() in the main case. * Optional use of libcurl (version 7.28.0 from Oct 2012 or later) for Internet access: * capabilities("libcurl") reports if this is available. * libcurlVersion() reports the version in use, and other details of the "libcurl" build including which URL schemes it supports. * curlGetHeaders() retrieves the headers for http://, https://, ftp:// and ftps:// URLs: analysis of these headers can provide insights into the `existence' of a URL (it might for example be permanently redirected) and is so used in R CMD check --as-cran. * download.file() has a new optional method "libcurl" which will handle more URL schemes, follow redirections, and allows simultaneous downloads of multiple URLs. * url() has a new method "libcurl" which handles more URL schemes and follows redirections. The default method is controlled by a new option url.method, which applies also to the opening of URLs _via_ file() (which happens implicitly in functions such as read.table.) * When file() or url() is invoked with a https:// or ftps:// URL which the current method cannot handle, it switches to a suitable method if one is available. * (Windows.) The DLLs internet.dll and internet2.dll have been merged. In this version it is safe to switch (repeatedly) between the internal and Windows internet functions within an R session. The Windows internet functions are still selected by flag --internet2 or setInternet2(). This can be overridden for an url() connection _via_ its new method argument. download.file() has new method "wininet", selected as the default by --internet2 or setInternet2(). * parent.env<- can no longer modify the parent of a locked namespace or namespace imports environment. Contributed by Karl Millar. * New function isLoadedNamespace() for readability and speed. * names(env) now returns all the object names of an environment env, equivalently to ls(env, all.names = TRUE, sorted = FALSE) and also to the names of the corresponding list, names(as.list(env, all.names = TRUE)). Note that although names() returns a character vector, the names have no particular ordering. * The memory manager now grows the heap more aggressively. This reduces the number of garbage collections, in particular while data or code are loaded, at the expense of slightly increasing the memory footprint. * New function trimws() for removing leading/trailing whitespace. * cbind() and rbind() now consider S4 inheritance during S3 dispatch and also obey deparse.level. * cbind() and rbind() will delegate recursively to methods::cbind2 (methods::rbind2) when at least one argument is an S4 object and S3 dispatch fails (due to ambiguity). * (Windows.) download.file(quiet = FALSE) now uses text rather than Windows progress bars in non-interactive use. * New function hsearch_db() in package utils for building and retrieving the help search database used by help.search(), along with functions for inspecting the concepts and keywords in the help search database. * New function .getNamespaceInfo(), a no-check version of getNamespaceInfo() mostly for internal speedups. * The help search system now takes \keyword entries in Rd files which are not standard keywords (as given in KEYWORDS in the R documentation directory) as concepts. For standard keyword entries the corresponding descriptions are additionally taken as concepts. * New lengths() function for getting the lengths of all elements in a list. * New function toTitleCase() in package tools, tailored to package titles. * The matrix methods of cbind() and rbind() allow matrices as inputs which have 2^31 or more elements. (For cbind(), wish of PR#16198.) * The default method of image() has an explicit check for a numeric or logical matrix (which was always required). * URLencode() will not by default encode further URLs which appear to be already encoded. * BIC(mod) and BIC(mod, mod2) now give non-NA numbers for arima() fitted models, as nobs(mod) now gives the number of "used" observations for such models. This fixes PR#16198, quite differently than proposed there. * The print() methods for "htest", "pairwise.htest" and "power.htest" objects now have a digits argument defaulting to (a function of) getOption("digits"), and influencing all printed numbers coherently. Unavoidably, this changes the display of such test results in some cases. * Code completion for namespaces now recognizes all loaded namespaces, rather than only the ones that are also attached. * The code completion mechanism can now be replaced by a user-specified completer function, for (temporary) situations where the usual code completion is inappropriate. * unzip() will now warn if it is able to detect truncation when unpacking a file of 4GB or more (related to PR#16243). * methods() reports S4 in addition to S3 methods; output is simplified when the class argument is used. .S3methods() and methods::.S4methods() report S3 and S4 methods separately. * Higher order functions such as the apply functions and Reduce() now force arguments to the functions they apply in order to eliminate undesirable interactions between lazy evaluation and variable capture in closures. This resolves PR#16093. INSTALLATION and INCLUDED SOFTWARE: * The \donttest sections of R's help files can be tested by make check TEST_DONTTEST=TRUE . * It is possible to request the use of system valgrind headers _via_ configure option --with-system-valgrind-headers: note the possible future incompatibility of such headers discussed in the 'R Installation and Administration' manual. (Wish of PR#16068.) * The included version of liblzma has been updated to xz-utils 5.0.7 (minor bug fixes from 5.0.5). * configure options --with-system-zlib, --with-system-bzlib and --with-system-pcre are now the default. For the time being there is fallback to the versions included in the R sources if no system versions are found or (unlikely) if they are too old. Linux users should check that the -devel or -dev versions of packages zlib, bzip2/libbz2 and pcre as well as xz-devel/liblzma-dev (or similar names) are installed. * configure by default looks for the texi2any script from texinfo 5.1 or later, rather than the makeinfo program. (makeinfo is a link to the Perl script texi2any in texinfo 5.x.) * R CMD INSTALL gains an option --built-timestamp=STAMP allowing 100% reproducible package building, thanks to Dirk Eddelbuettel. UTILITIES: * There is support for testing the \dontrun and \donttest parts of examples in packages. tools::testInstalledPackage() accepts new arguments commentDontrun = FALSE and commentDonttest = FALSE. R CMD check gains options --run-dontrun and --run-donttest. * The HTML generated by tools::Rd2HTML() and tools::toHTML() methods is now 'XHTML 1.0 Strict'. * The compiler package's utility function setCompilerOptions() now returns the old values invisibly. The initial optimization level can also be set with the environment variable R_COMPILER_OPTIMIZE. * R CMD build adds a NeedsCompilation field if one is not already present in the DESCRIPTION file. * R CMD check gains option --test-dir to specify an alternative set of tests to run. * R CMD check will now by default continue with testing after many types of errors, and will output a summary count of errors at the end if any have occurred. * R CMD check now checks that the Title and Description fields are correctly terminated. * R CMD check --as-cran now: * checks a README.md file can be processed: this needs pandoc installed. * checks the existence and accessibility of URLs in the DESCRIPTION, CITATION, NEWS.Rd and README.md files and in the help files (provided the build has libcurl support). * reports non-ASCII characters in R source files when there is no package encoding declared in the DESCRIPTION file. * reports (apparent) S3 methods exported but not registered. * reports overwriting registered S3 methods from base/recommended packages. (Such methods are replaced in the affected package for the rest of the session, even if the replacing namespace is unloaded.) * reports if the Title field does not appear to be in title case (see 'Writing R Extensions': there may be false positives, but note that technical words should be single-quoted and will then be accepted). Most of these checks can also be selected by environment variables: see the 'R Internals' manual. C-LEVEL FACILITIES: * New C API utility logspace_sum(logx[], n). * Entry points rbinom_mu, rnbinom_mu and rmultinom are remapped (by default) to Rf_rbinom_mu etc. This requires packages using them to be re-installed. * .C(DUP = FALSE) and .Fortran(DUP = FALSE) are now ignored, so arguments are duplicated if DUP = TRUE would do so. As their help has long said, .Call() is much preferred. * New entry point R_allocLD, like R_alloc but guaranteed to have sufficient alignment for long double pointers. * isPairList() now returns TRUE for DOTSXP. WINDOWS BUILD CHANGES: A number of changes to the Windows build system are in development. The following are currently in place. * Installation using external binary distributions of zlib, bzip2, liblzma, pcre, libpng, jpeglib and libtiff is now required, and the build instructions have been revised. * A new make target rsync-extsoft has been added to obtain copies of the external libraries from CRAN. * Building the manuals now requires texi2any from texinfo 5.1 or later. CRAN binary builds include the manuals, but by default builds from source will not, and they will be accessed from CRAN. See the comments in src/gnuwin32/MkRules.dist for how to specify the location of texi2any. * (Windows) Changes have been made to support an experimental Windows toolchain based on GCC 4.9.2. The default toolchain continues to be based on GCC 4.6.3, as the new toolchain is not yet stable enough. A change to a new toolchain is expected during the R 3.2.x lifetime. PACKAGE INSTALLATION: * (Windows) The use of macro ZLIB_LIBS in file src/Makevars.win (which has not been documented for a long time) now requires an external libz.a to be available (it is part of the 'goodies' used to compile Windows binary packages). It would be simpler to use -lz instead. * The default for option pkgType on platforms using binary packages is now "both", so source packages will be tried if binary versions are not available or not up to date. There are options for what install.packages(type = "both") (possibly called _via_ update.packages()) will do if compilation of a source package is desirable: see ?options (under utils). If you intend not to accept updates as source packages, you should use update.packages(type = "binary"). DEPRECATED AND DEFUNCT: * download.file(method = "lynx") is defunct. * Building R using the included versions of zlib, bzip2, xz and PCRE is deprecated: these are frozen (bar essential bug-fixes) and will be removed for R 3.3.0. * The configure option --with-valgrind-instrumentation=3 has been withdrawn, as it did not work with recent valgrind headers: it is now treated as level 2. * The MethodsList class in package methods had been deprecated in R 2.11.0 and is defunct now. Functions using it are defunct if they had been deprecated in R 2.11.0, and are deprecated now, otherwise. BUG FIXES: * Fixed two obscure bugs in pairlist subassignment, reported by Radford Neal as part of pqR issue 16. * Fixes for bugs in handling empty arguments and argument matching by name in log(). * all.equal() gains methods for environments and refClasses. * [<- and [[<- gain S4 data.frame methods to avoid corruption of S4 class information by the S3 methods. * callNextMethod() should now work within a .local call when ... is absent from formals(.local). * dput(pairlist(x)) generates a call to the pairlist constructor instead of the list constructor. * Fix missing() when arguments are propagated through ... . (PR#15707) * eigen(m) now defaults to symmetric = TRUE even when the dimnames are asymmetric if the matrix is otherwise symmetric. (PR#16151) * Fix issues with forwarding ... through callGeneric() and callNextMethod(). (PR#16141) * callGeneric() now works after a callNextMethod(). * Subclass information is kept consistent when replacing an ordinary S4 class with an "old class" _via_ the S4Class argument to setOldClass(). Thus, for example, a data.frame is valid for a list argument in the signature, and a factor is valid for vector arguments. * In qbeta() the inversion of pbeta() is much more sophisticated. This works better in corner cases some of which failed completely previously (PR#15755), or were using too many iterations. * Auto-printing no longer duplicates objects when printing is dispatched to a method. * kmeans(x, k) would fail when nrow(x) >= 42949673. (Comment 6 of PR#15364) * 'Abbreviated' locale-specific day and month names could have been truncated in those rare locales where there are the same as the full names. * An irrelevant warning message from updating subclass information was silenced (the namespace would not be writable in this case). CHANGES IN R 3.1.3: NEW FEATURES: * The internal method of download.file() can now handle files larger than 2GB on 32-bit builds which support such files (tested on 32-bit R running on 64-bit Windows). * kruskal.test() warns on more types of suspicious input. * The as.dendrogram() method for "hclust" objects gains a check argument protecting against memory explosion for invalid inputs. * capabilities() has a new item long.double which indicates if the build uses a long double type which is longer than double. * nlm() no longer modifies the callback argument in place (a new vector is allocated for each invocation, which mimics the implicit duplication that occurred in R < 3.1.0); note that this is a change from the previously documented behavior. (PR#15958) * icuSetCollate() now accepts locale = "ASCII" which uses the basic C function strcmp and so collates strings byte-by-byte in numerical order. * sessionInfo() tries to report the OS version in use (not just that compiled under, and including details of Linux distributions). * model.frame() (used by lm() and many other modelling functions) now warns when it drops contrasts from factors. (Wish of PR#16119) * install.packages() and friends now accept the value type = "binary" as a synonym for the native binary type on the platform (if it has one). * Single source or binary files can be supplied for install.packages(type = "both") and the appropriate type and repos = NULL will be inferred. * New function pcre_config() to report on some of the configuration options of the version of PCRE in use. In particular, this reports if regular expressions using \p{xx} are supported. * (Windows.) download.file(cacheOK = FALSE) is now supported when internet2.dll is used. * browseURL() has been updated to work with Firefox 36.0 which has dropped support for the -remote interface. INSTALLATION and INCLUDED SOFTWARE: * The included version of PCRE has been updated to 8.36. * configure accepts MAKEINFO=texi2any as another way to ensure texinfo 5.x is used when both 5.x and 4.x are installed. UTILITIES: * R CMD check now checks the packages used in \donttest sections of the examples are specified in the DESCRIPTION file. (These are needed to run the examples interactively.) * R CMD check checks for the undeclared use of GNU extensions in Makefiles, and for Makefiles with a missing final linefeed. R CMD build will correct line endings in all Makefiles, not just those in the src directory. * R CMD check notes uses of library() and require() in package code: see the section 'Suggested packages' of 'Writing R Extensions' for good practice. DEPRECATED AND DEFUNCT: * The configure option --with-valgrind-instrumentation=3 is deprecated and will be removed in R 3.2.0. BUG FIXES: * (Windows.) Rscript.exe was missing a manifest specifying the modern style for common controls (e.g., the download progress bar). * If a package had extra documentation files but no vignette, the HTML help system produced an empty index page. * The parser now gives an error if a null character is included in a string using Unicode escapes. (PR#16046) * qr.Q() failed on complex arguments due to pre-3.0(!) typo. (PR#16054) * abs() failed with named arguments when the argument was complex. (PR#16047) * "noquote" objects may now be used as columns in dataframes. (PR#15997) * Some values with extremely long names were printed incorrectly. (PR#15999) * Extremely large exponents on zero expressed in scientific notation (e.g. 0.0e50000) could give NaN. (PR#15976) * download.file() reported downloaded sizes as 0KB if less than 1MB, only for R 3.1.2 and only on big-endian platforms. * prompt() did not escape percent signs in the automatically generated usage section of help files. * drop.terms() dropped some of the attributes of the object it was working with. (PR#16029) * (Windows.) The command completion in Rgui.exe messed up the console. (PR#15791) * (Windows.) The choose.files() command returned a blank string when the user asked for a single file but cancelled the request. (PR#16074) * Math2 S4 group generics failed to correctly dispatch "structure"- and "nonStructure"-derived classes. * loadNamespace() imposed undocumented restrictions on the versionCheck parameter. (Reported by Geoff Lee.) * Rare over-runs detected by AddressSanitizer in substr() and its replacement version have been avoided. _Inter alia_ that fix gives the documented behaviour for substr(x, 1, 2) <- "" (subsequently reported as PR#16214). * Loading packages incorrectly defining an S4 generic followed by a function of the same name caused an erroneous cyclic namespace dependency error. * Declared vignette encodings are now always passed to the vignette engine. * Port Tomas Kalibera's fix from R-devel that restores the loadMethod() fast path, effectively doubling the speed of S4 dispatch. * power.t.test() and power.prop.test() now make use of the extendInt option of uniroot() and hence work in more extreme cases. (PR#15792) * If a package was updated and attached when its namespace was already loaded, it could end up with parts from one version and parts from the other. (PR#16120) * tools:::.Rdconv() didn't accept --encoding= due to a typo. (PR#16121) * Unix-alike builds without a suitable makeinfo were documented to link the missing HTML manuals to CRAN, but did not. * save(*, ascii=TRUE) and load() now correctly deal with NaN's. (PR#16137) * split.Date() retains fractional representations while avoiding incomplete class propagation. * R_ext/Lapack.h had not been updated for changes made by LAPACK to the argument lists of its (largely internal) functions dlaed2 and dlaed3. (PR#16157) * RShowDoc("NEWS", "txt") had not been updated for the layout changes of R 3.1.0. * The xtfrm() method for class "Surv" has been corrected and its description expanded. * mode(x) <- y would incorrectly evaluate x before changing its mode. (PR#16215) * besselJ(1, 2^64) and besselY(..) now signal a warning, returning NaN instead of typically segfaulting. (Issue 3 of PR#15554) * HTML conversion of \href markup in .Rd files did not remove the backslash from \% and so gave an invalid URL. In a related change, the \ escape is now required in such URLs. CHANGES IN R 3.1.2: NEW FEATURES: * embedFonts() now defaults to format = "ps2write" for .ps and .eps files. This is available in Ghostscript 9.x (since 2010) whereas the previous default, format = "pswrite", was removed in Ghostscript 9.10. * For consistency with [dpqr]norm(), [dp]lnorm(sdlog = 0) model a point mass at exp(mulog) rather than return NaN (for an error). * capabilities() now reports if ICU is compiled in for use for collation (it is only actually used if a suitable locale is set for collation, and never for a C locale). * (OS X only.) Package tcltk checks when loaded if it is linked against the CRAN X11-based Tcl/Tk and if so that the Tcl/Tk component and the X11 libraries are installed. This allows more informative error messages to be given advising the installation of the missing component or of XQuartz. The X11() device and X11-based versions of the data editor and viewer (invoked by edit() and View() for data frames and matrices from command-line R) check that the X11 libraries are installed and if not advises installing XQuartz. * icuSetCollate() allows locale = "default", and locale = "none" to use OS services rather than ICU for collation. Environment variable R_ICU_LOCALE can be used to set the default ICU locale, in case the one derived from the OS locale is inappropriate (this is currently necessary on Windows). * New function icuGetCollate() to report on the ICU collation locale in use (if any). * utils::URLencode() was updated to use unreserved and reserved characters from RFC 3986 (<URL: http://tools.ietf.org/html/rfc3986>) instead of RFC 1738. * unique(warnings()) and c(warnings()) are now supported. * The Bioconductor 'version' used by setRepositories() now defaults to 3.0. (It can be set at runtime _via_ environment variable R_BIOC_VERSION.) * Omegahat is no longer listed as providing Windows binary packages, e.g. by setRepositories(). It has no binary packages available for R 3.1.x and those for earlier versions were 32-bit only. INSTALLATION and INCLUDED SOFTWARE: * The configure script reports on the more important capabilities/options which will not be compiled in. More types of external BLAS are recognized by name in that report. * When building R as a shared library, the -L${R_HOME}/lib${R_ARCH} flag is placed earlier in the link commands used during installation and when packages are installed: this helps ensure that the current build has priority if an R shared library has already been installed by e.g. install-libR in a library mentioned in LDFLAGS (and not in 'your system's library directory' as documented). (Wish of PR#15790.) * LaTeX package upquote is no longer required for R's use of inconsolata. * (Windows only) If both 32- and 64-bit versions of R are installed, the bin/R.exe and bin/Rscript.exe executables now run 64-bit R. (To run 32-bit R, overwrite these files with copies of bin/i386/Rfe.exe.) UTILITIES: * Running R CMD check with _R_CHECK_DEPENDS_ONLY_ true now makes the VignetteBuilder packages available even if they are listed in Suggests, since they are needed to recognise and process non-Sweave vignettes. * R CMD check now reports empty importFrom declarations in a NAMESPACE file, as these are common errors (writing importFrom(Pkg) where import(Pkg) was intended). * R CMD check now by default checks code usage directly on the package namespace without loading and attaching the package and its suggests and enhances. For good practice with packages in the Suggests field, see SS1.1.3.1 of 'Writing R Extensions'. For use of lazy-data objects in the package's own code, see ?data. BUG FIXES: * dmultinom() did not handle non-finite probabilities correctly. * prettyNum(x, zero.print=*) now also works when x contains NAs. * A longstanding bug exhibited by nlminb() on Windows was traced to a compiler bug in gcc 4.6.3; a workaround has been put in place. (PR#15244 and PR#15914). * Rendering of \command in HTML versions of help pages has been improved: this is particularly evident on the help page for INSTALL. * as.hexmode(x) and as.octmode(x) now behave correctly for some numeric x, e.g., c(NA, 1) or c(1, pi). * drop1() failed if the scope argument had no variables to drop. (PR#15935) * edit() (and hence fix()) failed if an object had a non-character attribute named "source" (an attribute that had been used in R prior to version 2.14.0). * callGeneric() could fail if the generic had ... as a formal argument. (PR#15937). * Forking in package parallel called C entry point exit in the child. This was unsafe (_exit should have been called), and could flush stdin of the main R process (seen most often on Solaris). As good practice, stdout is now flushed before forking a child. * R objects such as list(`a\b` = 1) now print correctly. * getAnywhere("C_pbinom") now returns correctly a single object (rather than unlisting it). * The confint() method for nls() fits failed it these has specified parameter limits despite using an algorithm other than "port". (PR#15960) * Subclassing an S4 class failed if the class required arguments to the generator, through its initialize() method. * removeSource() did not properly handle expressions containing arguments that were supplied as missing, e.g. x[i,]. (PR#15957) * as.environment(list()) now works, and as.list() of such an environment is now the same as list(). * Several tcltk functions failed when run in unusual environments. (PR#15970) * options(list()) now works (trivially). (PR#15979) * merge(<dendrogram>, ..) now works correctly for two `independent' dendrograms (PR#15648), and still compatibly via adjust = "auto" e.g. for two branches of an existing dendrogram. * The plot method for "hclust" objects gets an optional argument check; When that is true (the default) it checks more carefully for valid input. * (Windows only) If a user chose to install 64 bit R but not 32 bit R, the bin/R and bin/Rscript executables failed to run. (PR#15981) * Various possible buffer overruns have been prevented, and missed memory protection added. (PR#15990) * Rscript no longer passes --args to R when there are no extra ("user") arguments. * objects like getClass("refClass")@prototype now print() and str() without error. * identical() now also looks at the S4 bit. * hist(x, breaks) is more robust in adding a small fuzz to few breaks when some are very large. (PR#15988) * sub() and gsub() did not handle regular expressions like "\s{2,}" properly if the text contained NA or non-ascii elements in a UTF-8 locale. Part of this was due to a bug in the TRE library. (PR#16009) * RShowDoc("NEWS") now displays the PDF version. * Matrices and arrays with last dimension zero did not print at all or incompletely. (PR#16012) * plot.histogram() and hence hist() now respect the xaxs, yaxs and lab graphics parameters. (PR#16021) * bw.SJ(x) and other bw.*() no longer segfault when x contains non-finite values. (PR#16024) * R CMD Rd2pdf unintentionally ignored its --os option. * The internal method of download.file() was not reporting file sizes and progress correctly on files larger than 2GB (inherited from libxml2). This is corrected for 64-bit builds (32-bit platforms may not support such files, but where possible will be supported in future versions of R). * Work around a bug in OS X Yosemite where key environment variables may be duplicated causing issues in subprocesses. The duplicates are now removed on R startup (via Rprofile). (PR#16042) * Adjust X11 auto-launch detection in DISPLAY on OS X to recognize latest XQuartz.
2015-05-09Because this error:szptvlfn2-4/+4
ERROR: hs-primitive>=0.5.4 is not installed; can't buildlink files. Bump PKGREVISION for hs-primitive-0.5.4.0
2015-05-05Reduce tex dependencies. Bump PKGREVISION.wiz1-3/+6
2015-05-02Be more explicit in TeX dependencies.markd1-3/+4
2015-04-28Update to 1.32wen2-7/+7
Add LICENSE Upstream changes: 1.32 2015-04-28 - Specify minimum version of perl as 5.8.x - CPANTS / Kwalitee 1.31 2015-03-25 - Convert n2 in _spctrm to "double" so it won't overflow as an int - Fix https://rt.cpan.org/Ticket/Display.html?id=22068 - Thanks to thomas.poleschner@gmx.de for the report. 1.30 2015-03-25 - Convert the test files to Test::More and do some other cleanups. 1.29 2015-03-05 - Convert to Dist-Zilla. - Reformatted the code. - Get rid of trailing space. - Got to 100% POD coverage. - Other cleanups. - As the original maintainer (Randy Kobes) passed away, the distribution was adopted by Shlomi Fish (SHLOMIF).
2015-04-26Add tex-apnum{,-doc}markd1-1/+3
2015-04-26Add tex-apnum{,-doc} 1.1markd8-0/+49
Arbitrary precision numbers implemented by TeX macros
2015-04-25Recursive revbump following MesaLib update, categories g through n.tnn31-59/+62
2015-04-25Fix PLIST for python-3.x -- weave is only built for python-2.x.wiz1-321/+321
2015-04-23install .oct loadable modules with INSTALL_LIB to avoid stripping themdbj6-7/+84
regenerate patch sums in distinfo bump PKGREVISION
2015-04-23don't install lib/charset.alias which is reserved for libiconvdbj1-2/+2
2015-04-23don't assume gnuplot is configured with libaquaterm on macdbj1-0/+16
2015-04-23avoid obsolete darwin api for CGDisplayBitsPerPixeldbj1-0/+25
use CGDisplayModeCopyPixelEncoding instead
2015-04-23install private zoneinfo files on Darwin where default is ↵dbj1-0/+596
--with-internal-tzcode=yes
2015-04-17Revbump after updating devel/boost-libsadam7-10/+14
2015-04-17Update to 0.15.1wen3-235/+186
Upstream changes: SciPy 0.15.1 is a bug-fix release with no new features compared to 0.15.0. Issues fixed - ------------ * `#4413 <https://github.com/scipy/scipy/pull/4413>`__: BUG: Tests too strict, f2py doesn't have to overwrite this array * `#4417 <https://github.com/scipy/scipy/pull/4417>`__: BLD: avoid using NPY_API_VERSION to check not using deprecated... * `#4418 <https://github.com/scipy/scipy/pull/4418>`__: Restore and deprecate scipy.linalg.calc_work SciPy 0.15.0 Release Notes ========================== .. contents:: SciPy 0.15.0 is the culmination of 6 months of hard work. It contains several new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Moreover, our development attention will now shift to bug-fix releases on the 0.16.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.2-3.4 and NumPy 1.5.1 or greater. New features ============ Linear Programming Interface - ---------------------------- The new function `scipy.optimize.linprog` provides a generic linear programming similar to the way `scipy.optimize.minimize` provides a generic interface to nonlinear programming optimizers. Currently the only method supported is *simplex* which provides a two-phase, dense-matrix-based simplex algorithm. Callbacks functions are supported, allowing the user to monitor the progress of the algorithm. Differential evolution, a global optimizer - ------------------------------------------ A new `scipy.optimize.differential_evolution` function has been added to the ``optimize`` module. Differential Evolution is an algorithm used for finding the global minimum of multivariate functions. It is stochastic in nature (does not use gradient methods), and can search large areas of candidate space, but often requires larger numbers of function evaluations than conventional gradient based techniques. ``scipy.signal`` improvements - ----------------------------- The function `scipy.signal.max_len_seq` was added, which computes a Maximum Length Sequence (MLS) signal. ``scipy.integrate`` improvements - -------------------------------- It is now possible to use `scipy.integrate` routines to integrate multivariate ctypes functions, thus avoiding callbacks to Python and providing better performance. ``scipy.linalg`` improvements - ----------------------------- The function `scipy.linalg.orthogonal_procrustes` for solving the procrustes linear algebra problem was added. BLAS level 2 functions ``her``, ``syr``, ``her2`` and ``syr2`` are now wrapped in ``scipy.linalg``. ``scipy.sparse`` improvements - ----------------------------- `scipy.sparse.linalg.svds` can now take a ``LinearOperator`` as its main input. ``scipy.special`` improvements - ------------------------------ Values of ellipsoidal harmonic (i.e. Lame) functions and associated normalization constants can be now computed using ``ellip_harm``, ``ellip_harm_2``, and ``ellip_normal``. New convenience functions ``entr``, ``rel_entr`` ``kl_div``, ``huber``, and ``pseudo_huber`` were added. ``scipy.sparse.csgraph`` improvements - ------------------------------------- Routines ``reverse_cuthill_mckee`` and ``maximum_bipartite_matching`` for computing reorderings of sparse graphs were added. ``scipy.stats`` improvements - ---------------------------- Added a Dirichlet multivariate distribution, `scipy.stats.dirichlet`. The new function `scipy.stats.median_test` computes Mood's median test. The new function `scipy.stats.combine_pvalues` implements Fisher's and Stouffer's methods for combining p-values. `scipy.stats.describe` returns a namedtuple rather than a tuple, allowing users to access results by index or by name. Deprecated features =================== The `scipy.weave` module is deprecated. It was the only module never ported to Python 3.x, and is not recommended to be used for new code - use Cython instead. In order to support existing code, ``scipy.weave`` has been packaged separately: https://github.com/scipy/weave. It is a pure Python package, and can easily be installed with ``pip install weave``. `scipy.special.bessel_diff_formula` is deprecated. It is a private function, and therefore will be removed from the public API in a following release. ``scipy.stats.nanmean``, ``nanmedian`` and ``nanstd`` functions are deprecated in favor of their numpy equivalents. Backwards incompatible changes ============================== scipy.ndimage - ------------- The functions `scipy.ndimage.minimum_positions`, `scipy.ndimage.maximum_positions`` and `scipy.ndimage.extrema` return positions as ints instead of floats. scipy.integrate - --------------- The format of banded Jacobians in `scipy.integrate.ode` solvers is changed. Note that the previous documentation of this feature was erroneous. SciPy 0.14.1 Release Notes ========================== SciPy 0.14.1 is a bug-fix release with no new features compared to 0.14.0. Issues closed - ------------- - - `#3630 <https://github.com/scipy/scipy/issues/3630>`__: NetCDF reading results in a segfault - - `#3631 <https://github.com/scipy/scipy/issues/3631>`__: SuperLU object not working as expected for complex matrices - - `#3733 <https://github.com/scipy/scipy/issues/3733>`__: segfault from map_coordinates - - `#3780 <https://github.com/scipy/scipy/issues/3780>`__: Segfault when using CSR/CSC matrix and uint32/uint64 - - `#3781 <https://github.com/scipy/scipy/pull/3781>`__: BUG: sparse: fix omitted types in sparsetools typemaps - - `#3802 <https://github.com/scipy/scipy/issues/3802>`__: 0.14.0 API breakage: _gen generators are missing from scipy.stats.distributions API - - `#3805 <https://github.com/scipy/scipy/issues/3805>`__: ndimage test failures with numpy 1.10 - - `#3812 <https://github.com/scipy/scipy/issues/3812>`__: == sometimes wrong on csr_matrix - - `#3853 <https://github.com/scipy/scipy/issues/3853>`__: Many scipy.sparse test errors/failures with numpy 1.9.0b2 - - `#4084 <https://github.com/scipy/scipy/pull/4084>`__: fix exception declarations for Cython 0.21.1 compatibility - - `#4093 <https://github.com/scipy/scipy/pull/4093>`__: BUG: fitpack: avoid a memory error in splev(x, tck, der=k) - - `#4104 <https://github.com/scipy/scipy/pull/4104>`__: BUG: Workaround SGEMV segfault in Accelerate (maintenance 0.14.x) - - `#4143 <https://github.com/scipy/scipy/pull/4143>`__: BUG: fix ndimage functions for large data - - `#4149 <https://github.com/scipy/scipy/issues/4149>`__: Bug in expm for integer arrays - - `#4154 <https://github.com/scipy/scipy/issues/4154>`__: Backport gh-4041 for 0.14.1 (Ensure that the 'size' argument of PIL's 'resize' method is a tuple) - - `#4163 <https://github.com/scipy/scipy/issues/4163>`__: Backport #4142 (ZeroDivisionError in scipy.sparse.linalg.lsqr) - - `#4164 <https://github.com/scipy/scipy/issues/4164>`__: Backport gh-4153 (remove use of deprecated numpy API in lib/lapack/ f2py wrapper) - - `#4180 <https://github.com/scipy/scipy/pull/4180>`__: backport pil resize support tuple fix - - `#4168 <https://github.com/scipy/scipy/issues/4168>`__: Lots of arpack test failures on windows 32 bits with numpy 1.9.1 - - `#4203 <https://github.com/scipy/scipy/issues/4203>`__: Matrix multiplication in 0.14.x is more than 10x slower compared... - - `#4218 <https://github.com/scipy/scipy/pull/4218>`__: attempt to make ndimage interpolation compatible with numpy relaxed... - - `#4225 <https://github.com/scipy/scipy/pull/4225>`__: BUG: off-by-one error in PPoly shape checks - - `#4248 <https://github.com/scipy/scipy/pull/4248>`__: BUG: optimize: fix issue with incorrect use of closure for slsqp. SciPy 0.14.0 Release Notes ========================== .. contents:: SciPy 0.14.0 is the culmination of 8 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Moreover, our development attention will now shift to bug-fix releases on the 0.14.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.2-3.4 and NumPy 1.5.1 or greater. New features ============ ``scipy.interpolate`` improvements ---------------------------------- A new wrapper function `scipy.interpolate.interpn` for interpolation on regular grids has been added. `interpn` supports linear and nearest-neighbor interpolation in arbitrary dimensions and spline interpolation in two dimensions. Faster implementations of piecewise polynomials in power and Bernstein polynomial bases have been added as `scipy.interpolate.PPoly` and `scipy.interpolate.BPoly`. New users should use these in favor of `scipy.interpolate.PiecewisePolynomial`. `scipy.interpolate.interp1d` now accepts non-monotonic inputs and sorts them. If performance is critical, sorting can be turned off by using the new ``assume_sorted`` keyword. Functionality for evaluation of bivariate spline derivatives in ``scipy.interpolate`` has been added. The new class `scipy.interpolate.Akima1DInterpolator` implements the piecewise cubic polynomial interpolation scheme devised by H. Akima. Functionality for fast interpolation on regular, unevenly spaced grids in arbitrary dimensions has been added as `scipy.interpolate.RegularGridInterpolator` . ``scipy.linalg`` improvements ----------------------------- The new function `scipy.linalg.dft` computes the matrix of the discrete Fourier transform. A condition number estimation function for matrix exponential, `scipy.linalg.expm_cond`, has been added. ``scipy.optimize`` improvements ------------------------------- A set of benchmarks for optimize, which can be run with ``optimize.bench()``, has been added. `scipy.optimize.curve_fit` now has more controllable error estimation via the ``absolute_sigma`` keyword. Support for passing custom minimization methods to ``optimize.minimize()`` and ``optimize.minimize_scalar()`` has been added, currently useful especially for combining ``optimize.basinhopping()`` with custom local optimizer routines. ``scipy.stats`` improvements ---------------------------- A new class `scipy.stats.multivariate_normal` with functionality for multivariate normal random variables has been added. A lot of work on the ``scipy.stats`` distribution framework has been done. Moment calculations (skew and kurtosis mainly) are fixed and verified, all examples are now runnable, and many small accuracy and performance improvements for individual distributions were merged. The new function `scipy.stats.anderson_ksamp` computes the k-sample Anderson-Darling test for the null hypothesis that k samples come from the same parent population. ``scipy.signal`` improvements ----------------------------- ``scipy.signal.iirfilter`` and related functions to design Butterworth, Chebyshev, elliptical and Bessel IIR filters now all use pole-zero ("zpk") format internally instead of using transformations to numerator/denominator format. The accuracy of the produced filters, especially high-order ones, is improved significantly as a result. The new function `scipy.signal.vectorstrength` computes the vector strength, a measure of phase synchrony, of a set of events. ``scipy.special`` improvements ------------------------------ The functions `scipy.special.boxcox` and `scipy.special.boxcox1p`, which compute the Box-Cox transformation, have been added. ``scipy.sparse`` improvements ----------------------------- - Significant performance improvement in CSR, CSC, and DOK indexing speed. - When using Numpy >= 1.9 (to be released in MM 2014), sparse matrices function correctly when given to arguments of ``np.dot``, ``np.multiply`` and other ufuncs. With earlier Numpy and Scipy versions, the results of such operations are undefined and usually unexpected. - Sparse matrices are no longer limited to ``2^31`` nonzero elements. They automatically switch to using 64-bit index data type for matrices containing more elements. User code written assuming the sparse matrices use int32 as the index data type will continue to work, except for such large matrices. Code dealing with larger matrices needs to accept either int32 or int64 indices. Deprecated features =================== ``anneal`` ---------- The global minimization function `scipy.optimize.anneal` is deprecated. All users should use the `scipy.optimize.basinhopping` function instead. ``scipy.stats`` --------------- ``randwcdf`` and ``randwppf`` functions are deprecated. All users should use distribution-specific ``rvs`` methods instead. Probability calculation aliases ``zprob``, ``fprob`` and ``ksprob`` are deprecated. Use instead the ``sf`` methods of the corresponding distributions or the ``special`` functions directly. ``scipy.interpolate`` --------------------- ``PiecewisePolynomial`` class is deprecated. Backwards incompatible changes ============================== scipy.special.lpmn ------------------ ``lpmn`` no longer accepts complex-valued arguments. A new function ``clpmn`` with uniform complex analytic behavior has been added, and it should be used instead. scipy.sparse.linalg ------------------- Eigenvectors in the case of generalized eigenvalue problem are normalized to unit vectors in 2-norm, rather than following the LAPACK normalization convention. The deprecated UMFPACK wrapper in ``scipy.sparse.linalg`` has been removed due to license and install issues. If available, ``scikits.umfpack`` is still used transparently in the ``spsolve`` and ``factorized`` functions. Otherwise, SuperLU is used instead in these functions. scipy.stats ----------- The deprecated functions ``glm``, ``oneway`` and ``cmedian`` have been removed from ``scipy.stats``. ``stats.scoreatpercentile`` now returns an array instead of a list of percentiles. scipy.interpolate ----------------- The API for computing derivatives of a monotone piecewise interpolation has changed: if `p` is a ``PchipInterpolator`` object, `p.derivative(der)` returns a callable object representing the derivative of `p`. For in-place derivatives use the second argument of the `__call__` method: `p(0.1, der=2)` evaluates the second derivative of `p` at `x=0.1`. The method `p.derivatives` has been removed. SciPy 0.13.3 Release Notes SciPy 0.13.3 is a bug-fix release with no new features compared to 0.13.2. Both the weave and the ndimage.label bugs were severe regressions in 0.13.0, hence this release. Issues fixed 3148: fix a memory leak in ndimage.label. 3216: fix weave issue with too long file names for MSVC. Other changes Update Sphinx theme used for html docs so >>> in examples can be toggled. SciPy 0.13.2 Release Notes SciPy 0.13.2 is a bug-fix release with no new features compared to 0.13.1. Issues fixed 3096: require Cython 0.19, earlier versions have memory leaks in fused types 3079: ndimage.label fix swapped 64-bitness test 3108: optimize.fmin_slsqp constraint violation SciPy 0.13.1 Release Notes SciPy 0.13.1 is a bug-fix release with no new features compared to 0.13.0. The only changes are several fixes in ndimage, one of which was a serious regression in ndimage.label (Github issue 3025), which gave incorrect results in 0.13.0. Issues fixed 3025: ndimage.label returns incorrect results in scipy 0.13.0 1992: ndimage.label return type changed from int32 to uint32 1992: ndimage.find_objects doesn't work with int32 input in some cases SciPy 0.13.0 Release Notes ========================== .. contents:: SciPy 0.13.0 is the culmination of 7 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Moreover, our development attention will now shift to bug-fix releases on the 0.13.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.1-3.3 and NumPy 1.5.1 or greater. Highlights of this release are: - support for fancy indexing and boolean comparisons with sparse matrices - interpolative decompositions and matrix functions in the linalg module - two new trust-region solvers for unconstrained minimization New features ============ ``scipy.integrate`` improvements -------------------------------- N-dimensional numerical integration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A new function `scipy.integrate.nquad`, which provides N-dimensional integration functionality with a more flexible interface than ``dblquad`` and ``tplquad``, has been added. ``dopri*`` improvements ^^^^^^^^^^^^^^^^^^^^^^^ The intermediate results from the ``dopri`` family of ODE solvers can now be accessed by a *solout* callback function. ``scipy.linalg`` improvements ----------------------------- Interpolative decompositions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Scipy now includes a new module `scipy.linalg.interpolative` containing routines for computing interpolative matrix decompositions (ID). This feature is based on the ID software package by P.G. Martinsson, V. Rokhlin, Y. Shkolnisky, and M. Tygert, previously adapted for Python in the PymatrixId package by K.L. Ho. Polar decomposition ^^^^^^^^^^^^^^^^^^^ A new function `scipy.linalg.polar`, to compute the polar decomposition of a matrix, was added. BLAS level 3 functions ^^^^^^^^^^^^^^^^^^^^^^ The BLAS functions ``symm``, ``syrk``, ``syr2k``, ``hemm``, ``herk`` and ``her2k`` are now wrapped in `scipy.linalg`. Matrix functions ^^^^^^^^^^^^^^^^ Several matrix function algorithms have been implemented or updated following detailed descriptions in recent papers of Nick Higham and his co-authors. These include the matrix square root (``sqrtm``), the matrix logarithm (``logm``), the matrix exponential (``expm``) and its Frechet derivative (``expm_frechet``), and fractional matrix powers (``fractional_matrix_power``). ``scipy.optimize`` improvements ------------------------------- Trust-region unconstrained minimization algorithms ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The ``minimize`` function gained two trust-region solvers for unconstrained minimization: ``dogleg`` and ``trust-ncg``. ``scipy.sparse`` improvements ----------------------------- Boolean comparisons and sparse matrices ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All sparse matrix types now support boolean data, and boolean operations. Two sparse matrices `A` and `B` can be compared in all the expected ways `A < B`, `A >= B`, `A != B`, producing similar results as dense Numpy arrays. Comparisons with dense matrices and scalars are also supported. CSR and CSC fancy indexing ^^^^^^^^^^^^^^^^^^^^^^^^^^ Compressed sparse row and column sparse matrix types now support fancy indexing with boolean matrices, slices, and lists. So where A is a (CSC or CSR) sparse matrix, you can do things like:: >>> A[A > 0.5] = 1 # since Boolean sparse matrices work >>> A[:2, :3] = 2 >>> A[[1,2], 2] = 3 ``scipy.sparse.linalg`` improvements ------------------------------------ The new function ``onenormest`` provides a lower bound of the 1-norm of a linear operator and has been implemented according to Higham and Tisseur (2000). This function is not only useful for sparse matrices, but can also be used to estimate the norm of products or powers of dense matrices without explictly building the intermediate matrix. The multiplicative action of the matrix exponential of a linear operator (``expm_multiply``) has been implemented following the description in Al-Mohy and Higham (2011). Abstract linear operators (`scipy.sparse.linalg.LinearOperator`) can now be multiplied, added to each other, and exponentiated, producing new linear operators. This enables easier construction of composite linear operations. ``scipy.spatial`` improvements ------------------------------ The vertices of a `ConvexHull` can now be accessed via the `vertices` attribute, which gives proper orientation in 2-D. ``scipy.signal`` improvements ----------------------------- The cosine window function `scipy.signal.cosine` was added. ``scipy.special`` improvements ------------------------------ New functions `scipy.special.xlogy` and `scipy.special.xlog1py` were added. These functions can simplify and speed up code that has to calculate ``x * log(y)`` and give 0 when ``x == 0``. ``scipy.io`` improvements ------------------------- Unformatted Fortran file reader ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The new class `scipy.io.FortranFile` facilitates reading unformatted sequential files written by Fortran code. ``scipy.io.wavfile`` enhancements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scipy.io.wavfile.write` now accepts a file buffer. Previously it only accepted a filename. `scipy.io.wavfile.read` and `scipy.io.wavfile.write` can now handle floating point WAV files. ``scipy.interpolate`` improvements ---------------------------------- B-spline derivatives and antiderivatives ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scipy.interpolate.splder` and `scipy.interpolate.splantider` functions for computing B-splines that represent derivatives and antiderivatives of B-splines were added. These functions are also available in the class-based FITPACK interface as ``UnivariateSpline.derivative`` and ``UnivariateSpline.antiderivative``. ``scipy.stats`` improvements ---------------------------- Distributions now allow using keyword parameters in addition to positional parameters in all methods. The function `scipy.stats.power_divergence` has been added for the Cressie-Read power divergence statistic and goodness of fit test. Included in this family of statistics is the "G-test" (http://en.wikipedia.org/wiki/G-test). `scipy.stats.mood` now accepts multidimensional input. An option was added to `scipy.stats.wilcoxon` for continuity correction. `scipy.stats.chisquare` now has an `axis` argument. `scipy.stats.mstats.chisquare` now has `axis` and `ddof` arguments. Deprecated features =================== ``expm2`` and ``expm3`` ----------------------- The matrix exponential functions `scipy.linalg.expm2` and `scipy.linalg.expm3` are deprecated. All users should use the numerically more robust `scipy.linalg.expm` function instead. ``scipy.stats`` functions ------------------------- `scipy.stats.oneway` is deprecated; `scipy.stats.f_oneway` should be used instead. `scipy.stats.glm` is deprecated. `scipy.stats.ttest_ind` is an equivalent function; more full-featured general (and generalized) linear model implementations can be found in statsmodels. `scipy.stats.cmedian` is deprecated; ``numpy.median`` should be used instead. Backwards incompatible changes ============================== LIL matrix assignment --------------------- Assigning values to LIL matrices with two index arrays now works similarly as assigning into ndarrays:: >>> x = lil_matrix((3, 3)) >>> x[[0,1,2],[0,1,2]]=[0,1,2] >>> x.todense() matrix([[ 0., 0., 0.], [ 0., 1., 0.], [ 0., 0., 2.]]) rather than giving the result:: >>> x.todense() matrix([[ 0., 1., 2.], [ 0., 1., 2.], [ 0., 1., 2.]]) Users relying on the previous behavior will need to revisit their code. The previous behavior is obtained by ``x[numpy.ix_([0,1,2],[0,1,2])] = ...`. Deprecated ``radon`` function removed ------------------------------------- The ``misc.radon`` function, which was deprecated in scipy 0.11.0, has been removed. Users can find a more full-featured ``radon`` function in scikit-image. Removed deprecated keywords ``xa`` and ``xb`` from ``stats.distributions`` -------------------------------------------------------------------------- The keywords ``xa`` and ``xb``, which were deprecated since 0.11.0, have been removed from the distributions in ``scipy.stats``. Changes to MATLAB file readers / writers ---------------------------------------- The major change is that 1D arrays in numpy now become row vectors (shape 1, N) when saved to a MATLAB 5 format file. Previously 1D arrays saved as column vectors (N, 1). This is to harmonize the behavior of writing MATLAB 4 and 5 formats, and adapt to the defaults of numpy and MATLAB - for example ``np.atleast_2d`` returns 1D arrays as row vectors. Trying to save arrays of greater than 2 dimensions in MATLAB 4 format now raises an error instead of silently reshaping the array as 2D. ``scipy.io.loadmat('afile')`` used to look for `afile` on the Python system path (``sys.path``); now ``loadmat`` only looks in the current directory for a relative path filename. Other changes ============= Security fix: ``scipy.weave`` previously used temporary directories in an insecure manner under certain circumstances. Cython is now required to build *unreleased* versions of scipy. The C files generated from Cython sources are not included in the git repo anymore. They are however still shipped in source releases. The code base received a fairly large PEP8 cleanup. A ``tox pep8`` command has been added; new code should pass this test command. Scipy cannot be compiled with gfortran 4.1 anymore (at least on RH5), likely due to that compiler version not supporting entry constructs well.
2015-04-17Update to 1.9.2wen9-250/+53
Reviewed by: wiz@ Upstream changes: NumPy 1.9.2 Release Notes ************************* This is a bugfix only release in the 1.9.x series. Issues fixed ============ * `#5316 <https://github.com/numpy/numpy/issues/5316>`__: fix too large dtype alignment of strings and complex types * `#5424 <https://github.com/numpy/numpy/issues/5424>`__: fix ma.median when used on ndarrays * `#5481 <https://github.com/numpy/numpy/issues/5481>`__: Fix astype for structured array fields of different byte order * `#5354 <https://github.com/numpy/numpy/issues/5354>`__: fix segfault when clipping complex arrays * `#5524 <https://github.com/numpy/numpy/issues/5524>`__: allow np.argpartition on non ndarrays * `#5612 <https://github.com/numpy/numpy/issues/5612>`__: Fixes ndarray.fill to accept full range of uint64 * `#5155 <https://github.com/numpy/numpy/issues/5155>`__: Fix loadtxt with comments=None and a string None data * `#4476 <https://github.com/numpy/numpy/issues/4476>`__: Masked array view fails if structured dtype has datetime component * `#5388 <https://github.com/numpy/numpy/issues/5388>`__: Make RandomState.set_state and RandomState.get_state threadsafe * `#5390 <https://github.com/numpy/numpy/issues/5390>`__: make seed, randint and shuffle threadsafe * `#5374 <https://github.com/numpy/numpy/issues/5374>`__: Fixed incorrect assert_array_almost_equal_nulp documentation * `#5393 <https://github.com/numpy/numpy/issues/5393>`__: Add support for ATLAS > 3.9.33. * `#5313 <https://github.com/numpy/numpy/issues/5313>`__: PyArray_AsCArray caused segfault for 3d arrays * `#5492 <https://github.com/numpy/numpy/issues/5492>`__: handle out of memory in rfftf * `#4181 <https://github.com/numpy/numpy/issues/4181>`__: fix a few bugs in the random.pareto docstring * `#5359 <https://github.com/numpy/numpy/issues/5359>`__: minor changes to linspace docstring * `#4723 <https://github.com/numpy/numpy/issues/4723>`__: fix a compile issues on AIX NumPy 1.9.1 Release Notes ************************* This is a bugfix only release in the 1.9.x series. Issues fixed ============ * gh-5184: restore linear edge behaviour of gradient to as it was in < 1.9. The second order behaviour is available via the `edge_order` keyword * gh-4007: workaround Accelerate sgemv crash on OSX 10.9 * gh-5100: restore object dtype inference from iterable objects without `len()` * gh-5163: avoid gcc-4.1.2 (red hat 5) miscompilation causing a crash * gh-5138: fix nanmedian on arrays containing inf * gh-5240: fix not returning out array from ufuncs with subok=False set * gh-5203: copy inherited masks in MaskedArray.__array_finalize__ * gh-2317: genfromtxt did not handle filling_values=0 correctly * gh-5067: restore api of npy_PyFile_DupClose in python2 * gh-5063: cannot convert invalid sequence index to tuple * gh-5082: Segmentation fault with argmin() on unicode arrays * gh-5095: don't propagate subtypes from np.where * gh-5104: np.inner segfaults with SciPy's sparse matrices * gh-5251: Issue with fromarrays not using correct format for unicode arrays * gh-5136: Import dummy_threading if importing threading fails * gh-5148: Make numpy import when run with Python flag '-OO' * gh-5147: Einsum double contraction in particular order causes ValueError * gh-479: Make f2py work with intent(in out) * gh-5170: Make python2 .npy files readable in python3 * gh-5027: Use 'll' as the default length specifier for long long * gh-4896: fix build error with MSVC 2013 caused by C99 complex support * gh-4465: Make PyArray_PutTo respect writeable flag * gh-5225: fix crash when using arange on datetime without dtype set * gh-5231: fix build in c99 mode NumPy 1.9.0 Release Notes ************************* This release supports Python 2.6 - 2.7 and 3.2 - 3.4. Highlights ========== * Numerous performance improvements in various areas, most notably indexing and operations on small arrays are significantly faster. Indexing operations now also release the GIL. * Addition of `nanmedian` and `nanpercentile` rounds out the nanfunction set. Dropped Support =============== * The oldnumeric and numarray modules have been removed. * The doc/pyrex and doc/cython directories have been removed. * The doc/numpybook directory has been removed. * The numpy/testing/numpytest.py file has been removed together with the importall function it contained. Future Changes ============== * The numpy/polynomial/polytemplate.py file will be removed in NumPy 1.10.0. * Default casting for inplace operations will change to 'same_kind' in Numpy 1.10.0. This will certainly break some code that is currently ignoring the warning. * Relaxed stride checking will be the default in 1.10.0 * String version checks will break because, e.g., '1.9' > '1.10' is True. A NumpyVersion class has been added that can be used for such comparisons. * The diagonal and diag functions will return writeable views in 1.10.0 * The `S` and/or `a` dtypes may be changed to represent Python strings instead of bytes, in Python 3 these two types are very different. Compatibility notes =================== The diagonal and diag functions return readonly views. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In NumPy 1.8, the diagonal and diag functions returned readonly copies, in NumPy 1.9 they return readonly views, and in 1.10 they will return writeable views. Special scalar float values don't cause upcast to double anymore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In previous numpy versions operations involving floating point scalars containing special values ``NaN``, ``Inf`` and ``-Inf`` caused the result type to be at least ``float64``. As the special values can be represented in the smallest available floating point type, the upcast is not performed anymore. For example the dtype of: ``np.array([1.], dtype=np.float32) * float('nan')`` now remains ``float32`` instead of being cast to ``float64``. Operations involving non-special values have not been changed. Percentile output changes ~~~~~~~~~~~~~~~~~~~~~~~~~ If given more than one percentile to compute numpy.percentile returns an array instead of a list. A single percentile still returns a scalar. The array is equivalent to converting the list returned in older versions to an array via ``np.array``. If the ``overwrite_input`` option is used the input is only partially instead of fully sorted. ndarray.tofile exception type ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All ``tofile`` exceptions are now ``IOError``, some were previously ``ValueError``. Invalid fill value exceptions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Two changes to numpy.ma.core._check_fill_value: * When the fill value is a string and the array type is not one of 'OSUV', TypeError is raised instead of the default fill value being used. * When the fill value overflows the array type, TypeError is raised instead of OverflowError. Polynomial Classes no longer derived from PolyBase ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This may cause problems with folks who depended on the polynomial classes being derived from PolyBase. They are now all derived from the abstract base class ABCPolyBase. Strictly speaking, there should be a deprecation involved, but no external code making use of the old baseclass could be found. Using numpy.random.binomial may change the RNG state vs. numpy < 1.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A bug in one of the algorithms to generate a binomial random variate has been fixed. This change will likely alter the number of random draws performed, and hence the sequence location will be different after a call to distribution.c::rk_binomial_btpe. Any tests which rely on the RNG being in a known state should be checked and/or updated as a result. Random seed enforced to be a 32 bit unsigned integer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.random.seed`` and ``np.random.RandomState`` now throw a ``ValueError`` if the seed cannot safely be converted to 32 bit unsigned integers. Applications that now fail can be fixed by masking the higher 32 bit values to zero: ``seed = seed & 0xFFFFFFFF``. This is what is done silently in older versions so the random stream remains the same. Argmin and argmax out argument ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``out`` argument to ``np.argmin`` and ``np.argmax`` and their equivalent C-API functions is now checked to match the desired output shape exactly. If the check fails a ``ValueError`` instead of ``TypeError`` is raised. Einsum ~~~~~~ Remove unnecessary broadcasting notation restrictions. ``np.einsum('ijk,j->ijk', A, B)`` can also be written as ``np.einsum('ij...,j->ij...', A, B)`` (ellipsis is no longer required on 'j') Indexing ~~~~~~~~ The NumPy indexing has seen a complete rewrite in this version. This makes most advanced integer indexing operations much faster and should have no other implications. However some subtle changes and deprecations were introduced in advanced indexing operations: * Boolean indexing into scalar arrays will always return a new 1-d array. This means that ``array(1)[array(True)]`` gives ``array([1])`` and not the original array. * Advanced indexing into one dimensional arrays used to have (undocumented) special handling regarding repeating the value array in assignments when the shape of the value array was too small or did not match. Code using this will raise an error. For compatibility you can use ``arr.flat[index] = values``, which uses the old code branch. (for example ``a = np.ones(10); a[np.arange(10)] = [1, 2, 3]``) * The iteration order over advanced indexes used to be always C-order. In NumPy 1.9. the iteration order adapts to the inputs and is not guaranteed (with the exception of a *single* advanced index which is never reversed for compatibility reasons). This means that the result is undefined if multiple values are assigned to the same element. An example for this is ``arr[[0, 0], [1, 1]] = [1, 2]``, which may set ``arr[0, 1]`` to either 1 or 2. * Equivalent to the iteration order, the memory layout of the advanced indexing result is adapted for faster indexing and cannot be predicted. * All indexing operations return a view or a copy. No indexing operation will return the original array object. (For example ``arr[...]``) * In the future Boolean array-likes (such as lists of python bools) will always be treated as Boolean indexes and Boolean scalars (including python ``True``) will be a legal *boolean* index. At this time, this is already the case for scalar arrays to allow the general ``positive = a[a > 0]`` to work when ``a`` is zero dimensional. * In NumPy 1.8 it was possible to use ``array(True)`` and ``array(False)`` equivalent to 1 and 0 if the result of the operation was a scalar. This will raise an error in NumPy 1.9 and, as noted above, treated as a boolean index in the future. * All non-integer array-likes are deprecated, object arrays of custom integer like objects may have to be cast explicitly. * The error reporting for advanced indexing is more informative, however the error type has changed in some cases. (Broadcasting errors of indexing arrays are reported as ``IndexError``) * Indexing with more then one ellipsis (``...``) is deprecated. Non-integer reduction axis indexes are deprecated ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Non-integer axis indexes to reduction ufuncs like `add.reduce` or `sum` are deprecated. ``promote_types`` and string dtype ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``promote_types`` function now returns a valid string length when given an integer or float dtype as one argument and a string dtype as another argument. Previously it always returned the input string dtype, even if it wasn't long enough to store the max integer/float value converted to a string. ``can_cast`` and string dtype ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``can_cast`` function now returns False in "safe" casting mode for integer/float dtype and string dtype if the string dtype length is not long enough to store the max integer/float value converted to a string. Previously ``can_cast`` in "safe" mode returned True for integer/float dtype and a string dtype of any length. astype and string dtype ~~~~~~~~~~~~~~~~~~~~~~~ The ``astype`` method now returns an error if the string dtype to cast to is not long enough in "safe" casting mode to hold the max value of integer/float array that is being casted. Previously the casting was allowed even if the result was truncated. `npyio.recfromcsv` keyword arguments change ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `npyio.recfromcsv` no longer accepts the undocumented `update` keyword, which used to override the `dtype` keyword. The ``doc/swig`` directory moved ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``doc/swig`` directory has been moved to ``tools/swig``. The ``npy_3kcompat.h`` header changed ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The unused ``simple_capsule_dtor`` function has been removed from ``npy_3kcompat.h``. Note that this header is not meant to be used outside of numpy; other projects should be using their own copy of this file when needed. Negative indices in C-Api ``sq_item`` and ``sq_ass_item`` sequence methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When directly accessing the ``sq_item`` or ``sq_ass_item`` PyObject slots for item getting, negative indices will not be supported anymore. ``PySequence_GetItem`` and ``PySequence_SetItem`` however fix negative indices so that they can be used there. NDIter ~~~~~~ When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. When a multi index is being tracked and an iterator is not buffered, it is possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink in size. Because the total size of an iterator is limited, the iterator may be too large before these calls. In this case its size will be set to ``-1`` and an error issued not at construction time but when removing the multi index, setting the iterator range, or getting the next function. This has no effect on currently working code, but highlights the necessity of checking for an error return if these conditions can occur. In most cases the arrays being iterated are as large as the iterator so that such a problem cannot occur. This change was already applied to the 1.8.1 release. ``zeros_like`` for string dtypes now returns empty strings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To match the `zeros` function `zeros_like` now returns an array initialized with empty strings instead of an array filled with `'0'`. New Features ============ Percentile supports more interpolation options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.percentile`` now has the interpolation keyword argument to specify in which way points should be interpolated if the percentiles fall between two values. See the documentation for the available options. Generalized axis support for median and percentile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.median`` and ``np.percentile`` now support generalized axis arguments like ufunc reductions do since 1.7. One can now say axis=(index, index) to pick a list of axes for the reduction. The ``keepdims`` keyword argument was also added to allow convenient broadcasting to arrays of the original shape. Dtype parameter added to ``np.linspace`` and ``np.logspace`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The returned data type from the ``linspace`` and ``logspace`` functions can now be specified using the dtype parameter. More general ``np.triu`` and ``np.tril`` broadcasting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For arrays with ``ndim`` exceeding 2, these functions will now apply to the final two axes instead of raising an exception. ``tobytes`` alias for ``tostring`` method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``ndarray.tobytes`` and ``MaskedArray.tobytes`` have been added as aliases for ``tostring`` which exports arrays as ``bytes``. This is more consistent in Python 3 where ``str`` and ``bytes`` are not the same. Build system ~~~~~~~~~~~~ Added experimental support for the ppc64le and OpenRISC architecture. Compatibility to python ``numbers`` module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All numerical numpy types are now registered with the type hierarchy in the python ``numbers`` module. ``increasing`` parameter added to ``np.vander`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ordering of the columns of the Vandermonde matrix can be specified with this new boolean argument. ``unique_counts`` parameter added to ``np.unique`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The number of times each unique item comes up in the input can now be obtained as an optional return value. Support for median and percentile in nanfunctions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``np.nanmedian`` and ``np.nanpercentile`` functions behave like the median and percentile functions except that NaNs are ignored. NumpyVersion class added ~~~~~~~~~~~~~~~~~~~~~~~~ The class may be imported from numpy.lib and can be used for version comparison when the numpy version goes to 1.10.devel. For example:: >>> from numpy.lib import NumpyVersion >>> if NumpyVersion(np.__version__) < '1.10.0'): ... print('Wow, that is an old NumPy version!') Allow saving arrays with large number of named columns ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The numpy storage format 1.0 only allowed the array header to have a total size of 65535 bytes. This can be exceeded by structured arrays with a large number of columns. A new format 2.0 has been added which extends the header size to 4 GiB. `np.save` will automatically save in 2.0 format if the data requires it, else it will always use the more compatible 1.0 format. Full broadcasting support for ``np.cross`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.cross`` now properly broadcasts its two input arrays, even if they have different number of dimensions. In earlier versions this would result in either an error being raised, or wrong results computed. Improvements ============ Better numerical stability for sum in some cases ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pairwise summation is now used in the sum method, but only along the fast axis and for groups of the values <= 8192 in length. This should also improve the accuracy of var and std in some common cases. Percentile implemented in terms of ``np.partition`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.percentile`` has been implemented in terms of ``np.partition`` which only partially sorts the data via a selection algorithm. This improves the time complexity from ``O(nlog(n))`` to ``O(n)``. Performance improvement for ``np.array`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The performance of converting lists containing arrays to arrays using ``np.array`` has been improved. It is now equivalent in speed to ``np.vstack(list)``. Performance improvement for ``np.searchsorted`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For the built-in numeric types, ``np.searchsorted`` no longer relies on the data type's ``compare`` function to perform the search, but is now implemented by type specific functions. Depending on the size of the inputs, this can result in performance improvements over 2x. Optional reduced verbosity for np.distutils ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not print anything on the output. This is mostly for other packages using numpy.distutils. Covariance check in ``np.random.multivariate_normal`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A ``RuntimeWarning`` warning is raised when the covariance matrix is not positive-semidefinite. Polynomial Classes no longer template based ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The polynomial classes have been refactored to use an abstract base class rather than a template in order to implement a common interface. This makes importing the polynomial package faster as the classes do not need to be compiled on import. More GIL releases ~~~~~~~~~~~~~~~~~ Several more functions now release the Global Interpreter Lock allowing more efficient parallization using the ``threading`` module. Most notably the GIL is now released for fancy indexing, ``np.where`` and the ``random`` module now uses a per-state lock instead of the GIL. MaskedArray support for more complicated base classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Built-in assumptions that the baseclass behaved like a plain array are being removed. In particalur, ``repr`` and ``str`` should now work more reliably. C-API ~~~~~ Deprecations ============ Non-integer scalars for sequence repetition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using non-integer numpy scalars to repeat python sequences is deprecated. For example ``np.float_(2) * [1]`` will be an error in the future. ``select`` input deprecations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The integer and empty input to ``select`` is deprecated. In the future only boolean arrays will be valid conditions and an empty ``condlist`` will be considered an input error instead of returning the default. ``rank`` function ~~~~~~~~~~~~~~~~~ The ``rank`` function has been deprecated to avoid confusion with ``numpy.linalg.matrix_rank``. Object array equality comparisons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the future object array comparisons both `==` and `np.equal` will not make use of identity checks anymore. For example: >>> a = np.array([np.array([1, 2, 3]), 1]) >>> b = np.array([np.array([1, 2, 3]), 1]) >>> a == b will consistently return False (and in the future an error) even if the array in `a` and `b` was the same object. The equality operator `==` will in the future raise errors like `np.equal` if broadcasting or element comparisons, etc. fails. Comparison with `arr == None` will in the future do an elementwise comparison instead of just returning False. Code should be using `arr is None`. All of these changes will give Deprecation- or FutureWarnings at this time. C-API ~~~~~ The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the internal buffering python 3 applies to its file objects. To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are declared in npy_3kcompat.h and the old functions are deprecated. Due to the fragile nature of these functions it is recommended to instead use the python API when possible. This change was already applied to the 1.8.1 release. NumPy 1.8.2 Release Notes ************************* This is a bugfix only release in the 1.8.x series. Issues fixed ============ * gh-4836: partition produces wrong results for multiple selections in equal ranges * gh-4656: Make fftpack._raw_fft threadsafe * gh-4628: incorrect argument order to _copyto in in np.nanmax, np.nanmin * gh-4642: Hold GIL for converting dtypes types with fields * gh-4733: fix np.linalg.svd(b, compute_uv=False) * gh-4853: avoid unaligned simd load on reductions on i386 * gh-4722: Fix seg fault converting empty string to object * gh-4613: Fix lack of NULL check in array_richcompare * gh-4774: avoid unaligned access for strided byteswap * gh-650: Prevent division by zero when creating arrays from some buffers * gh-4602: ifort has issues with optimization flag O2, use O1 NumPy 1.8.1 Release Notes ************************* This is a bugfix only release in the 1.8.x series. Issues fixed ============ * gh-4276: Fix mean, var, std methods for object arrays * gh-4262: remove insecure mktemp usage * gh-2385: absolute(complex(inf)) raises invalid warning in python3 * gh-4024: Sequence assignment doesn't raise exception on shape mismatch * gh-4027: Fix chunked reading of strings longer than BUFFERSIZE * gh-4109: Fix object scalar return type of 0-d array indices * gh-4018: fix missing check for memory allocation failure in ufuncs * gh-4156: high order linalg.norm discards imaginary elements of complex arrays * gh-4144: linalg: norm fails on longdouble, signed int * gh-4094: fix NaT handling in _strided_to_strided_string_to_datetime * gh-4051: fix uninitialized use in _strided_to_strided_string_to_datetime * gh-4093: Loading compressed .npz file fails under Python 2.6.6 * gh-4138: segfault with non-native endian memoryview in python 3.4 * gh-4123: Fix missing NULL check in lexsort * gh-4170: fix native-only long long check in memoryviews * gh-4187: Fix large file support on 32 bit * gh-4152: fromfile: ensure file handle positions are in sync in python3 * gh-4176: clang compatibility: Typos in conversion_utils * gh-4223: Fetching a non-integer item caused array return * gh-4197: fix minor memory leak in memoryview failure case * gh-4206: fix build with single-threaded python * gh-4220: add versionadded:: 1.8.0 to ufunc.at docstring * gh-4267: improve handling of memory allocation failure * gh-4267: fix use of capi without gil in ufunc.at * gh-4261: Detect vendor versions of GNU Compilers * gh-4253: IRR was returning nan instead of valid negative answer * gh-4254: fix unnecessary byte order flag change for byte arrays * gh-3263: numpy.random.shuffle clobbers mask of a MaskedArray * gh-4270: np.random.shuffle not work with flexible dtypes * gh-3173: Segmentation fault when 'size' argument to random.multinomial * gh-2799: allow using unique with lists of complex * gh-3504: fix linspace truncation for integer array scalar * gh-4191: get_info('openblas') does not read libraries key * gh-3348: Access violation in _descriptor_from_pep3118_format * gh-3175: segmentation fault with numpy.array() from bytearray * gh-4266: histogramdd - wrong result for entries very close to last boundary * gh-4408: Fix stride_stricks.as_strided function for object arrays * gh-4225: fix log1p and exmp1 return for np.inf on windows compiler builds * gh-4359: Fix infinite recursion in str.format of flex arrays * gh-4145: Incorrect shape of broadcast result with the exponent operator * gh-4483: Fix commutativity of {dot,multiply,inner}(scalar, matrix_of_objs) * gh-4466: Delay npyiter size check when size may change * gh-4485: Buffered stride was erroneously marked fixed * gh-4354: byte_bounds fails with datetime dtypes * gh-4486: segfault/error converting from/to high-precision datetime64 objects * gh-4428: einsum(None, None, None, None) causes segfault * gh-4134: uninitialized use for for size 1 object reductions Changes ======= NDIter ~~~~~~ When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. When a multi index is being tracked and an iterator is not buffered, it is possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink in size. Because the total size of an iterator is limited, the iterator may be too large before these calls. In this case its size will be set to ``-1`` and an error issued not at construction time but when removing the multi index, setting the iterator range, or getting the next function. This has no effect on currently working code, but highlights the necessity of checking for an error return if these conditions can occur. In most cases the arrays being iterated are as large as the iterator so that such a problem cannot occur. Optional reduced verbosity for np.distutils ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not print anything on the output. This is mostly for other packages using numpy.distutils. Deprecations ============ C-API ~~~~~ The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the internal buffering python 3 applies to its file objects. To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are declared in npy_3kcompat.h and the old functions are deprecated. Due to the fragile nature of these functions it is recommended to instead use the python API when possible.
2015-04-14Remove more references to python-2.6.wiz1-5/+2
2015-04-13Removing python26. EOL'd quite some ago and discussed a couple times onrodent2-4/+3
tech-pkg@ and pkgsrc-users@.
2015-04-13Update to 1.8.1, changes not found.wiz3-7/+13
libreoffice4 still builds for me after this update.
2015-04-12Add py-sqlite3 dependency. Fixes last issue from PR 49817.wiz1-2/+4
Bump PKGREVISION.
2015-04-11Needs gmake to process Makefile correctly. Likely fixes build on Darwin.rodent2-15/+15
Light cleanup of pkgsrc Makefile. From website: Version 3.20 released on November 15, 2014. It conducts some minor fixes.
2015-04-10Fix interpreter path in installed file.wiz1-1/+4
Bump PKGREVISION.
2015-04-10Fix packaging with py33. Disable for py26.wiz2-3/+16
2015-04-10Fix PLIST for python-2.x.wiz1-1/+2
2015-04-10Update 0.14 to 0.14.1mef2-6/+6
--------------------- version: 0.14.1 date: Thu Apr 9 12:57:23 CEST 2015 changes: - fix bug in affine expression normalization - fix handling of conditional validity constraints
2015-04-07Update to 2.5.6, in the hope it addresses PR 49817.wiz3-10/+52
Release 2.5.6 ============= Bugs fixed ---------- - Detection of the R version during setup on Win8 (issues #255 and #258) - Segmentation fault when converting :mod:`pandas` :class:`Series` with elements of type object (issue #264) - The default converter from Python (non-rpy2) objects to rinterface-level objects was producing robjects-level objects whenever the input was of type :class:`list` (discovered while fixing issue #264) - Implemented suggested fix for issue with unlinking files on Windows (issue #191) - Testing rpy2 in the absence of ipython no longer stops with an error (issue #266) Release 2.5.5 ============= Bugs fixed ---------- - Crash (segfault) when querying an R object in an R environment triggers an error (symbol exists, but associated values resolves to an error - issue #251) - Change in the signature of `rcall` was not updated in the documentation (issue #259) - Minor update to the documentation (issue #257) Release 2.5.4 ============= Bugs fixed ---------- - Filter PNG files on size, preventing empty files causing trouble to be ipython notebook rendering of graphics later on (slight modification of the pull request #39) - Fix installation left unresolved with rpy2-2.5.3 (issue #248) - Possible segfault with Python 3.4 (issue #249) Release 2.5.3 ============= Changes ------- - `setup.py` has `install_requires` in addition to `requires` in the hope to fix the missing dependency with Python 2 (:mod:`singledispatch` is required but not installed). Bugs fixed ---------- - Extracting configuration information from should now work when R is emitting a warning (issue #247) - On OS X the library discovery step can yield nothing (see issue #246). A tentative fix is to issue a warning and keep moving. Release 2.5.2 ============= Bugs fixed ---------- - String representation of :class:`robjects.R` (issue #238) - Check during `build_ext` if unsupported version of R (pull request #32) - HTMl display of columns of factors in a DataFrame (issue #236) - HTML display of factors (issue #242) Release 2.5.1 ============= Bugs fixed ---------- - Require singledispatch if Python 3.3 (issue #232) - Fixed bug when R spits out a warning when asked configuration information (issue #233) - Restored printing of compilation information when running `setup.py` - Fixed installation issue on some systems (issue #234) - Workaround obscure failure message from unittest if Python < 3.4 and :mod:`singledispatch` cannot be imported (issue #235) Release 2.5.0 ============= New features ------------ - Experimental alternative way to preserve R objects from garbage collection. This can be activated with `rinterface.initr(r_preservehash=True)` (default is `False`. - :class:`GGPlot` object getting a method :meth:`save` mirroring R's `ggplot2::ggsave()`. - The conversion system is now using generics/single dispatch. - New module :mod:`rpy2.ipython.html` with HTML display for rpy2 objects - [Experimental] New function :func:`robjects.methods.rs4instance_factory` to type RS4 objects with more specificity. Changes ------- - The script `setup.py` was rewritten for clarity and ease of maintenance. Now it only uses `setuptools`. Release 2.4.4 ============= Bugs fixed ---------- - Use `input` rather than `raw_input` in the default console callback with Python 3 (fixes issue #222) - Issues with conversions, pandas, and rmagic (fixes issue #218 and more) Release 2.4.3 ============= Bugs fixed ---------- - `geom_raster` was missing from `rpy2.robjects.lib.ggplot2` (pull request #30) - Fixed issue with SVG rendering in ipython notebook (issue #217) - Regression with `rx2()` introduced with new conversion (issue #219) - Fixed documentation (missing `import`) (issue #213) Release 2.4.2 ============= Bugs fixed ---------- - Assigning an R `DataFrame` into an environment was failing if the conversion for Pandas was activated. (Issue #207) Release 2.4.1 ============= Bugs fixed ---------- - :meth:`rpy2.ipython` fixed spurious output to notebook cells. Release 2.4.0 ============= Changes ------- - Conversion system slightly changed, with the optional conversions for :mod:`numpy` and :mod:`pandas` modified accordingly. The changes should only matter if using third-party conversion functions. - The Python 3 version is now a first class citizen. `2to3` is no longer used, and the code base is made directly compatible with Python. This lowers significantly the installation time with Python 3 (which matters when developping rpy2). - The default options to initialize R (`rpy2.rinterface.initoptions') are no longer `('rpy2', '--quiet', '--vanilla', '--no-save')` but now `('rpy2', '--quiet', '--no-save')`. - :class:`robjects.vectors.ListVector` can be instanciated from any objects with a method `items()` with the expectation that the method returns an iterable of (name, value) tuples, or even be an iterable of (name, value) tuples. New features ------------ - For instances of :class:`rpy2.robjects.Function`, the `__doc__` is now a property fetching information about the parameters in the R signature. - Convenience function :func:`rpy2.robjects.packages.data` to extract the datasets in an R pacakges - :mod:`ipython`'s `rmagic` is now part of :mod:`rpy`. To use, `%load_ext rpy2.ipython` from within IPython. - new method :meth:`rpy2.rinterface.SexpEnvironment.keys`, returnings the names in the environment as a tuple of Python strings. - convenience class :class:`robjects.packages.InstalledPackages`, with a companion function :func:`robjects.packages.isinstalled`. - new class :class:`rinterface.SexpSymbol` to represent R symbols Bugs fixed ---------- - :meth:`rpy2.rinterface.Sexp.do_slot` was crashing when the parameter was an empty string (PR #155) Release 2.3.10 ============== Bugs fixed ---------- - `setup.py build` was broken when new R compiled with OpenMP (Issue #183) Release 2.3.9 ============= - Changes in pandas 0.13.0 broke the rpy2 conversion layer (Issue #173) Release 2.3.8 ============= Bugs fixed ---------- - Crash with R-3.0.2. Changes in R-3.0.2's C API coupled to a strange behaviour with R promises caused the problem. (PR #150) Release 2.3.7 ============= Bugs fixed ---------- - ggplot2's "guides" were missing - ggplot2's "theme_classic" was missing (PR #143) - ggplot2's "element_rect" was missing (PR #144) - :func:`rpy2.interactive.packages` was broken (PR #142) Release 2.3.6 ============= Bugs fixed ---------- - Several reports of segfault on OS X (since rpy2-2.3.1 - PR #109) - More fixes in converting `DataFrames` with dates from `pandas` Relase 2.3.5 ============ Bugs fixed ---------- - Missing mapping to ggplot2's `scale_shape_discrete` function - Better handling of dates in Pandas - Constructor for POSIXct improved (and fixed) Changes ------- - The attribute :attr:`rclass` is no longer read-only and can be set (since R allows it) - Importing the module :mod:`rpy2.interactive` no longer activates event processing by default (triggering concurrency errors when used with ipython). New features ------------ - New module :mod:`rpy2.interactive.ipython` (so far plotting automatically a ggplot2 figure in the iPython's console) - It is now possible to set the :attr:`rclass`. Relase 2.3.4 ============ Bugs fixed ---------- - Spurious error when running unit tests with Python 3 and numpy installed - Missing mapping to ggplot2's `geom_dotplot` function - Warnings are not longer printed (see Changes below) Changes ------- - Bumped target version of ggplot2 to 0.9.3.1 - Warnings are not longer printed. The C-level function in R became hidden in R-3.0, and the cost of an R-level check/print is relatively high if the R code called is very short. This might evolve into printing warnings only if interactive mode in Python (if this can be checked reliably). Release 2.3.3 ============= Bugs fixed ---------- - Some of the data.frames converted from :mod:`pandas` were triggering a :class:`TypeError` when calling :func:`repr` - In :mod:`rpy2.robjects.lib.ggplot2`, a mapping to `coord_fixed` was missing (PR #120) - Using the parameter `lib_loc` in a call to :func:`rpy2.robjects.packages.importr` was resulting in an error (PR #119) - Creating a `layer` through the `rpy2.robjects.lib.ggplot2` interface did not accept parameters (PR #122) - Testing the Python version was crashing of a number of unsupported Python versions (<= 2.6) (PR #117) New features ------------ - New module pandas2ri to convert from mod:`pandas` `DataFrame` objects - New classes :class:`rpy2.robjects.lib.grid.Unit` and :class:`rpy2.robjects.lib.grid.Gpar` to model their counterparts in R's `grid` package as they were previously missing from rpy2. Release 2.3.2 ============= Bug fixed --------- - Building on Win64 (pull request #6) - Fetching data from an R package through `importr` was masking any R object called `data` in that package. The data are now under the attribute name `__rdata__`. This is not completely safe either, although much less likely, a warning will be issued if still masking anything. Changes ------- - More informative error message when failing to build because `R CMD config` does not return what is expected Release 2.3.1 ============= Bugs fixed ---------- - default console print callback with Python (issue #112 linked to it) - deprecation warnings with ggplot2 (issue #111 and contributed patch)
2015-04-03Recursive bump for vala-0.28.0 update.wiz1-1/+2
2015-03-31SSE2 support only makes sense on X86, but configure doesn't reallyjoerg1-1/+7
check. Use a blunt object to help it.
2015-03-31Support NetBSD platforms with non-fixed endianess. Remove patch backupsjoerg3-4/+25
just before install to make patch updates easier.
2015-03-17Package requires GCC runtime.jperkin1-1/+3
2015-03-15needs cursestnn1-1/+2
2015-03-15Set MAINTAINER to pkgsrc-users.hiramatsu2-4/+4
2015-03-15Set MAINTAINER to pkgsrc-users.hiramatsu1-2/+2
2015-03-15needs cursestnn1-1/+2
2015-03-14Update pear-Numbers_Words to 0.18.0.taca2-6/+6
0.18.0 Release date: 2014-10-24 17:28 UTC Release state: beta Changelog: * Fixed bug #19453: Incorrect spelling of Hungarian numbers [kouber] * Fixed bug #19543: Better handling of decimal mark and thousands separators [kouber] * Fixed bug #19855: Do not emit E_NOTICE when calling toWords() statically [cweiske] * Fixed pl unicode [Jakub Roszkiewicz] * Fixed ru_RU currency codes [Vital Leshchyk] * Fixed tr_TR unicode [Shahriyar Imanov] * Added en_IN - Indian English [Abhinav Nayak] * Added lv - Latvian [Andrius] * Added ro_RO - Romanian [Bogdan Stancescu] * Added ua - Ukrainian [Vital Leshchyk] * Unify locale loading code [cweiske] * Use PEAR class-to-filename convention [cweiske] This release changes class names and locations of locale files. This is a backwards compatibility break.
2015-03-13Update ruby-spreadsheet to 1.0.3.taca2-6/+6
### 1.0.3 / 10.03.2015 Author: Robert Eshleman <c.robert.eshleman@gmail.com> Date: Mon Mar 9 09:47:59 2015 -0400 * Update `ruby-ole` to `1.2.11.8` ** `ruby-ole` <= `1.2.11.7` throws a duplicated key warning in Ruby 2.2. ** This commit updates `ruby-ole` to `1.2.11.8`, which fixes this warning. ** Related discussion: [aquasync/ruby-ole#15] - [aquasync/ruby-ole#15]: https://github.com/aquasync/ruby-ole/issues/15 ### 1.0.2 / 05.03.2015 Author: cantin <cantin2010@gmail.com> Date: Thu Mar 5 16:13:59 2015 +0800 * add Rational support * add rational requirement * use old rational syntax in test
2015-03-12needs soelimtnn1-2/+2
2015-03-12fix parse error in fftw.texi when makeinfo is provided by gtexinfotnn2-4/+20
2015-03-08Update ruby-gsl to 1.16.0.4.taca11-556/+206
* Switch to rb-gsl gem. Fri Dec 19 2014 * Ruby/GSL 1.16.0.4 * Optimize and extract multiplication and division operations on Fixnum and Float. Pull request #8 by Veselin Vasilev. * Fixed division in GSL::Oper for GSL::Vector::Col. Issue #9. Tue Oct 21 2014 * Ruby/GSL 1.16.0.3 * Fixed RDoc issues. Issue #6 by @bigtunacan. * Fixed $LOAD_PATH problem. Pull request #7 by Takahiro SATOH. Wed Jul 9 2014 * Ruby/GSL 1.16.0.2 * Fixed linking problem. Thu Apr 24 2014 * Ruby/GSL 1.16.0.1 * Extensive cleanup. * Fixed linking problems. * Required Ruby version >= 1.8.7. Fri Jan 24 2014 * Ruby/GSL 1.16.0 * GSL-1.16 support.
2015-03-08Add ${GEM_EXTSDIR}/gem.build_complete for new rubygems and updated ruby.taca1-1/+2
2015-03-02LLVM's correlated value propagation pass is known to require a lot ofjoerg1-6/+3
memory and CPU time for certain input. Provide a variable (CLANG_NO_VALUE_PROPAGATION_PASS) for selectively disabling it in those places known to trigger it.
2015-02-28Always build PIC. Bump revision.joerg3-3/+31
2015-02-27Update to 2.07mef2-7/+6
-------------- 2.07 2014-01-26 Hugo - Go direct to XS for more speed - add lcm/blcm, bsqrt, bmodinv
2015-02-21Update to 1.0.3:wiz2-6/+6
Changes in version 1.0.3: - Fixed mpc_pow, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2014-October/001315.html - #18257: Switched to libtool 2.4.5.
2015-02-20Update to 1.06wen2-7/+6
Upstream changes: 1.06 2014-11-25 07:09:08-05:00 America/New_York [Fixed] - Make 0 and 0 compare equal with a relative epsilon [Documented] - Added SEE ALSO with Number::Tolerant and Test::Deep::NumberTolerant 1.05 2014-11-24 11:08:11-05:00 America/New_York [Fixed] - relative comparison of array reference elements now works as intended - diagnostics of delta_not_ok and delta_not_within clarified under relative comparison 1.04 2013-11-20 18:43:32 America/New_York - Modernized distribution metadata and licensing - Distribution now managed with Dist::Zilla