Revision b53644ddd23ee650c2515b35bf4e8625aece65a8 authored by Matt Bauman on 03 October 2015, 17:10:58 UTC, committed by Matt Bauman on 13 October 2015, 15:14:50 UTC
Renamings: * Rename sparse module to SparseArrays, and improve its separation from base. This makes it very simple to dynamically reload the sparse module. Move docstrings to their proper place * _copy_convert → collect * Rename sparsevector to the existing spzeros and sparsevec. * Use call overloading instead of call Remove functionality from SparseVectors.jl: * Simplify and remove some functors * Remove SparseVectorView * Remove no-longer-needed ambiguity preventers Add functionality for SparseVectors: * Add similar for SparseVector * Allow sparsevec(::AbstractArray), not just vectors * Add spzeros(n); adapt some tests to SparseVector * Allow CHOLMOD linalg with vectors * Implement (c)transpose(::SparseVector). Returns a dense vector since a one-row CSC structure is effectively dense but with worse performance. * Add vector sprandbool and allow passing RNG to all vector sprand* functions. Harden tests against random failures. * Implement, test and doc spones(::SparseVector) Improve performance for SparseVector indexing: * Punt to SparseMatrix for some indexing behaviors. Since the datastructures are compatible and SparseMatrix's routines are more optimized, it is easiest to just construct a temporary SparseMatrix and index into that. This is faster in all but the smallest of cases (N<10) * Use searchsorted for indexing SparseVector by UnitRange. This is about 20% slower on very small vectors, but is faster in general. Change SparseMatrix behaviors to take advantage of vectors * Add indexing behaviors for SparseMatrix->SparseVector * `vec` and `sparsevec` for CSC return SparseVectors * Update documentation to incorporate vectors Minor bugfixes and changes to SparseVectors: * Compare to literal 0 in vector construction and setindex. This matches SparseMatrix semantics, and makes indexing semantics consistent with regard to stored zeros * Use checkbounds more thoroughly * Use error types that are consistent with SparseMatrixCSC * Minor sparse vector display tweaks. Turn on output limiting by default, remove unused variable `k`, implement and use Base.summary * Fix missing return, add test Add some tests: * Add a test and comment to ensure nobody else tries to share data between vectors and matrices * Ensure indexing is consistent between one-column sparse matrices and sparse vectors, with special attention to stored zeros.
1 parent 9802263
File | Mode | Size |
---|---|---|
base | ||
contrib | ||
deps | ||
doc | ||
etc | ||
examples | ||
src | ||
test | ||
ui | ||
.gitignore | -rw-r--r-- | 207 bytes |
.mailmap | -rw-r--r-- | 9.5 KB |
.travis.yml | -rw-r--r-- | 3.9 KB |
CONTRIBUTING.md | -rw-r--r-- | 16.1 KB |
DEBUGGER.md | -rw-r--r-- | 1.2 KB |
DISTRIBUTING.md | -rw-r--r-- | 8.8 KB |
LICENSE.md | -rw-r--r-- | 4.7 KB |
Make.inc | -rw-r--r-- | 28.3 KB |
Make.powerpc | -rw-r--r-- | 1.2 KB |
Makefile | -rw-r--r-- | 25.9 KB |
NEWS.md | -rw-r--r-- | 74.9 KB |
README.arm.md | -rw-r--r-- | 3.0 KB |
README.md | -rw-r--r-- | 26.6 KB |
README.windows.md | -rw-r--r-- | 17.0 KB |
VERSION | -rw-r--r-- | 10 bytes |
Windows.inc | -rw-r--r-- | 1.5 KB |
appveyor.yml | -rw-r--r-- | 1.6 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...