Matrix.lua -
This feature applies a given function to every element in a matrix, returning a new matrix with the results.
While the existing library supports basic arithmetic, a dedicated mapping function fills the gap for non-linear operations. matrix.lua
: By integrating this into the core library, you can ensure it handles table indexing in a way that minimizes overhead, which is a common bottleneck for large matrices (e.g., 250x250 or larger). This feature applies a given function to every
-- Example: Apply a sigmoid function to all elements local sigmoid = function(x) return 1 / (1 + math.exp(-x)) end local activated_matrix = matrix.map(my_matrix, sigmoid) Use code with caution. Why this is a "Good" Feature -- Example: Apply a sigmoid function to all
: It moves beyond standard arithmetic (add/sub/mul) to support any mathematical transformation.
: It fits the library's design of returning a new matrix rather than modifying the original, maintaining "immutability". davidm/lua-matrix - GitHub