You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 26, 2020. It is now read-only.
Apple's Swift is a high level language that's asking for some numerical
library to perform computation fast or at the very least easily. This is a
bare-bones wrapper for that library.
A way to have iOS run high-level code similar to Python or Matlab is something
I've been waiting for, and am incredibly excited to see the results. This will
make porting complex signal processing algorithms to C much easier. Porting
from Python/MATLAB to C was (and is) a pain in the butt, and this library aims
to make the conversion between a Python/Matlab algorithm and a mobile app
simple.
In most cases, this library calls Accelerate or OpenCV. If
you want to speed up some function or add add another feature in those
libraries, feel free to file an issue or submit a pull request (preferred!).
Currently, this library gives you
operators and various functions (sin, etc) that operate on entire arrays
helper function (reshape, reverse, delete, repeat, etc)
easy initializers for 1D and 2D arrays
complex math (dot product, matrix inversion, eigenvalues, etc)
machine learning algorithms (SVM, kNN, SVD/PCA, more to come)
one dimensional Fourier transforms
speed optimization using Accelerate and OpenCV
When I was crafting this library, I primarily followed the footsteps and
example set by NumPy. For the more complex mathematical functions
(e.g., SVD) I tested it against NumPy. Matlab, at least for the SVD, returns
slightly different output.
Additionally, I followed NumPy's syntax whenever possible. For example, NumPy
and Matlab differ in their initializer called ones by ones((M,N)) and
ones(M, N) respectively. If in doubt or getting weird compiler bugs, look at
NumPy for Matlab users or the section on possible swix bugs that may pop
up during the Install or other Bugs you may find.
EERegression -- General purpose
multivaritate and quadratic Regression library for Swift 2.1. This can be
used to fit a polynomial of different degrees to points you draw with your
finger! (and slick gif on readme!)
Not only should you be able to do simple math in arrays like in Surge, Swift
makes it possible to call high level mathematical functions just like in
Python/Matlab.