Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'nx' - NumeriX module #6

Open
cadebrown opened this issue Jan 3, 2021 · 0 comments
Open

'nx' - NumeriX module #6

cadebrown opened this issue Jan 3, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request module Relating to a standard module

Comments

@cadebrown
Copy link
Owner

Already started the types, but need more functionality (i.e. transposing, reorganizing, sub-scripting, and so forth)

Operations are started, but of course more can always be added. Some difficulties now:

  • Complex variants of trig functions have a lot of reused code (i.e. sin of complex uses sinh of complex internally), so if we have them all in separate files, there is a lot of duplicated code

Submodules:

nx.rand

Random number generation, the main type is nx.rand.State, which implements methods:

  • randb(num=1): return 'num' random bytes
  • randf(shape=none): return random float in [0, 1)
  • normal(mean=0, stddev=1, shape=none) - Guassian distribution
  • ...

nx.la

Linear algebra library, mainly concerned with solvers, and some BLAS routines. For example:

  • matmul(X, Y, R=none) - calculate matrix multiply between shapes [..., M, N], [..., N, K] (extra dimensions represent batched operations)
  • solve(A, b) - solve for 'x' in the equation Ax = b
  • gmres(A, b, x0, niter=16) - solve for an approximation to the solution Ax = b using the GMres method

nx.fft

FFT (Fast Fourier Transform) library, concerned with applying time and frequency transforms

  • nx.fft(X, axes=none, R=none) - forward FFT
  • nx.ifft(X, axes=none, R=none) - inverse FFT
@cadebrown cadebrown added the enhancement New feature or request label Jan 3, 2021
@gcrois gcrois added this to In Progress in Alpha Release Jan 3, 2021
@gcrois gcrois added the module Relating to a standard module label Jan 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request module Relating to a standard module
Projects
Alpha Release
In Progress
Development

No branches or pull requests

2 participants