scijs/scijs-ndarray-for-matlab-users

Scijs api changes/enhancements

rreusser opened this issue · 0 comments

For starters:

  • tile function: tile(a, […]) to repeat an array should be easy
  • row concatenation function (first n-1 dimensions must match, concatenates along last dimension)
  • column concatenation function (last n-1 dimensions must match, concatenates along first dimension
  • convenience wrapper for linear algebra. They manage memory well, but it wasn't until I tried to summarize quickly how to use them that I realized it's really pretty opaque
  • apply condition to ndarrays—equivalent of, e.g. a[numpy.where(a < 0.5)] = 0. Maybe it returns a list of index tuples and there's a function that knows how to iterate over those pairs. Maybe a sparse array somehow?
  • function to create interleaved complex ndarray—could just add a trailing dimension, I think. Does dimension ordering complicate this? Also then a function to create real and a imaginary views. Wouldn't do anything special or force any convention upon anyone; just a convenience function that makes complex numbers consistent and predictable if interleaving works for you.
  • linspace
  • meshgrid
  • squeeze (and unsqueeze since reshape would be nice, but it's a slightly more complicated operation (requires copying, right?) than adding a singleton dimension.)
  • rfft
  • fftfreq for simplifying dealing with fft frequency