Skip to main content

Some useful extensions for NumPy

Project description

npx

PyPi Version PyPI pyversions GitHub stars PyPi downloads

gh-actions codecov LGTM Code style: black

NumPy and SciPy are large libraries used everywhere in scientific computing. That's why breaking backwards-compatibility comes as a significant cost and is almost always avoided, even if the API of some methods is arguably lacking. This package provides drop-in wrappers "fixing" those.

If you have a fix for a NumPy method that can't go upstream for some reason, feel free to PR here.

  • npx.dot(a, b)
    

    Forms the dot product between the last axis of a and the first axis of b.

    (Not the second-last axis of b as numpy.dot(a, b).)

  • npx.solve(A, b)
    

    Solves a linear equation system with a matrix of shape (n, n) and an array of shape (n, ...). The output has the same shape as the second argument.

  • npx.sum_at(a, idx, minlength: int = 0)
    npx.add_at(out, idx, a)
    

    Returns an array with entries of a summed up at indices idx with a minumum length of minlength. idx can have any shape as long as it's matching a. The output shape is (minlength,...).

    The numpy equivalent numpy.add.at is much slower:

    memory usage

    (See also this numpy bug.)

  • npx.unique_rows(a, return_inverse=False, return_counts=False)
    

    Returns the unique rows of the integer array a. The numpy alternative np.unique(a, axis=0) is slow.

  • sol, info = npx.cg(A, b, tol=1.0e-10)
    sol, info = npx.minres(A, b, tol=1.0e-10)
    sol, info = npx.gmres(A, b, tol=1.0e-10)
    

    sol is the solution of the linear system A @ x = b (or None if no convergence), and info contains some useful data, e.g., info.resnorms. The methods are wrappers around SciPy's iterative solvers.

License

npx is published under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npx-0.0.6.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

npx-0.0.6-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file npx-0.0.6.tar.gz.

File metadata

  • Download URL: npx-0.0.6.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for npx-0.0.6.tar.gz
Algorithm Hash digest
SHA256 0d0cb8f9c0fd5f920d61b025d6bcaac9bc890befd9fa8d0ee0018ac52c8608bf
MD5 2b4d68422d39404b727a8956519cc261
BLAKE2b-256 f665dd5466131ef8bc21b12a97bfb7d0e7b5fbb200c1beccdcc0a38d3874c5b3

See more details on using hashes here.

File details

Details for the file npx-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: npx-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for npx-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3223b1bece87a80d288813ff35d8956d52375c3d35974d19e1889153f86ad785
MD5 ff2f4b0929c202a36b7d66c2ffdf2d28
BLAKE2b-256 9969c0f78fba39b2a1bdf7573f257f29d33d4822f07be71480decd11927ee19b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page