Repository navigation
NumericSwift 0.1.2
NumericSwift 0.1.2
This release adds comprehensive ArraySwift integration for seamless N-dimensional array support in NumericSwift.
ArraySwift Integration
When compiled with NUMERICSWIFT_INCLUDE_ARRAYSWIFT=1, NumericSwift provides:
Type Conversion
LinAlg.Matrix↔NDArraybidirectional conversionmatrix.toNDArray()andLinAlg.Matrix(ndarray: arr)
Linear Algebra on NDArray
- Solvers:
arr.solve(b) - Matrix functions:
arr.inv(),arr.det(),arr.rank(),arr.trace(),arr.norm() - Decompositions:
arr.lu(),arr.qr(),arr.svd(),arr.eig(),arr.cholesky()
Statistics Functions
- Basic:
sum(arr),mean(arr),median(arr) - Variance:
variance(arr),stddev(arr) - Range:
amin(arr),amax(arr),ptp(arr),percentile(arr, p) - Cumulative:
cumsum(arr),cumprod(arr),diff(arr)
Math Functions
- Utility:
clip(arr, min, max),absArray(arr),sqrtArray(arr) - Exponential:
expArray(arr),logArray(arr) - Trigonometric:
sinArray(arr),cosArray(arr),tanArray(arr) - Rounding:
roundArray(arr),floorArray(arr),ceilArray(arr)
Usage
# Build with ArraySwift support
NUMERICSWIFT_INCLUDE_ARRAYSWIFT=1 swift build
# Test with ArraySwift support
NUMERICSWIFT_INCLUDE_ARRAYSWIFT=1 swift testimport NumericSwift
import ArraySwift
let A = NDArray([[3.0, 1.0], [1.0, 2.0]])
let b = NDArray([9.0, 8.0])
let x = A.solve(b) // Solve Ax = b
let (Q, R) = A.qr()! // QR decompositionTest Statistics
- Total tests: 397 (with ArraySwift) / 365 (without)
- New ArraySwift integration tests: 32