Swix Versions Save

Swift Matrix Library

v0.31

7 years ago

Renames "ndarray" to "vector". If you want to update to this version, renaming all "ndarray" instances to "vector" should work (and file an issue if it doesn't).

v0.30

8 years ago

This release runs and compiles under the release version of Xcode 7, downloaded from the App Store.

Further modifications were made after integrating swix into another project. This release cleans up the code and removes or adds certain functions/operators. Specifically, it

  • gets rid of the *! operator for scoping issues. Instead of A *! x, use A.dot(x).
  • removes function find. The argwhere function is more clear what find/argwhere does.
  • allows changing the seed for rand, etc
  • removes swixUseCases and implements swix_ios_app
  • updates image functions for Swift 2
  • adds matrix.dot(ndarray).

v0.21

8 years ago

That is, XCode7b4 compatibility

0.2

9 years ago

Significant work has been done to further emulate NumPy. Added functions for stuff I think everyone would find useful, not just me. This library is not under heavy development anymore.

v0.1

9 years ago

A much cleaner and faster library. It calls the Accelerate library in most cases (all operators, some simple functions and all complex functions) and is nicely structured (matrix depends on ndarray depends on [Double]).

In addition, I have implemented a complex signal processing algorithm from Matlab to iOS with this framework. The conversion was almost line for line. For example, here's a real-world example of my Matlab-iOS conversion:

swix

var i = abs(S) < mu/2
S[argwhere(i)] = zeros(i.n)
i = argwhere(1 - i) // equivalent to notting every element
S[i] = S[i] - sign(S[i]) * mu/2;
var S0 = zeros((sm, sn))
S0["diag"] = S
var L_new = U *! (S0 *! V)

matlab

i = abs(S) > mu/2;
S(~i) = 0; 
S(i) = S(i) - sign(S(i))*mu/2; 
S = diag(S);
S0(1:min_snm, 1:min_snm) = S;
L_new = U * S0 * V';

v0.0.1beta

9 years ago

A very preliminary release that details how to integrate OpenCV/Accelerate and includes ScalarArithmetic and swift-complex. This release relies on some very rough behaviors, such as calling a matrix2d an Array of Arrays. I intend to rewrap matrix and matrix2d into structs and integrate the rest of the code to reflect that.

Since this release is beta, the API may change.