Makefile update to support OS X (remove -lm flag, making Linux not work)
Fix bugs:
    - Can not declare arrays of size determined at runtime on stack (use malloc)
    - For some reason, (n,j) are the indices for the matrix, causing a confusion of J (coupling constant) vs j (index). Dumb
    - Syntax issues causing improper indexing of arrays `*W[2]` vs `(*W)[2]` apparently makes a huge difference