LinAlgKit

Release Notes

This document contains detailed release notes for each version of LinAlgKit.


v0.2.1 - Performance Optimizations (2025-12-24)

🚀 Performance Improvements

This release introduces significant performance optimizations using Numba JIT compilation.

Benchmark Results (5M elements)

Function Standard Fast (JIT) Speedup
mse_loss 33.75ms 2.82ms 12.0x
mae_loss 34.86ms 2.67ms 13.1x
leaky_relu 30.16ms 6.81ms 4.4x
gelu 200.78ms 76.44ms 2.6x
tanh 37.33ms 15.29ms 2.4x
swish 100.27ms 54.62ms 1.8x
elu 65.14ms 40.06ms 1.6x
sigmoid 80.98ms 54.71ms 1.5x
softplus 108.80ms 70.88ms 1.5x

New Features

fast Module

A new high-performance module with Numba JIT-compiled functions:

from LinAlgKit import fast

# 12x faster loss computation
loss = fast.fast_mse_loss(predictions, targets)

# 4.4x faster activation
output = fast.fast_leaky_relu(x, alpha=0.01)

Available fast functions:

In-Place Operations

New in-place methods that avoid memory allocation:

A.add_(B)      # A += B in-place
A.sub_(B)      # A -= B in-place
A.mul_(2.0)    # A *= 2.0 in-place
A.hadamard_(B) # Element-wise multiply in-place

Zero-Copy Access

Dependencies


v0.2.0 - Deep Learning Expansion (2025-12-24)

🧠 Deep Learning Functions

Major expansion with 50+ mathematical functions for deep learning.

Activation Functions

Loss Functions

Normalization

Convolution Operations

Weight Initialization

Utility Functions

Matrix Decompositions

Eigenvalue Methods

Linear Solvers

Matrix Analysis


v0.1.0 - Initial Release (2025-12-24)

Core Features

Matrix Classes

Static Constructors

Matrix.identity(3)   # 3x3 identity
Matrix.zeros(2, 3)   # 2x3 zeros
Matrix.ones(4, 4)    # 4x4 ones

Matrix Operations

Arithmetic Operators

NumPy Interoperability

# From NumPy
A = Matrix.from_numpy(np_array)

# To NumPy
np_array = A.to_numpy()

Element Access

val = A[i, j]    # Get element
A[i, j] = 5.0    # Set element

Upgrade Guide

From v0.1.0 to v0.2.0

No breaking changes. All v0.1.0 code works unchanged.

New imports available:

import LinAlgKit as lk

# New activation functions
output = lk.relu(x)
output = lk.softmax(logits)

# New matrix methods
L = A.cholesky()
eigenvalues, eigenvectors = A.eig()
x = A.solve(b)

From v0.2.0 to v0.2.1

No breaking changes. Install numba for automatic acceleration:

pip install numba

Use fast module for best performance:

from LinAlgKit import fast

# Check if Numba is available
import LinAlgKit as lk
print(lk.HAS_NUMBA)  # True if numba installed

Roadmap

See EXPANSION_PLAN.md for the complete roadmap.

Upcoming Features

v0.3.0 (Q1 2025)

v0.4.0 (Q2 2025)

v1.0.0 (2027)