Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
30dac3b
Add tested features (Kronecker, isotropic) and their tests
lenardrommel Sep 18, 2025
51c82f8
updated gitignore
lenardrommel Sep 18, 2025
45e36c4
Delete .vscode/lauch.json
lenardrommel Sep 18, 2025
be47767
Delete .vscode/settings.json
lenardrommel Sep 18, 2025
74e5d47
renamed types to typing and some minor styling
lenardrommel Sep 18, 2025
fb4387b
toeplitz has tested matvec and todense
lenardrommel Sep 22, 2025
f8ad79c
tests for toeplitz solve
lenardrommel Sep 22, 2025
5d9ca64
Added tests for shape and kernel
lenardrommel Sep 25, 2025
e61616b
minor changes to base arithmetic functions
lenardrommel Sep 26, 2025
75d09e7
isotropic add with lsolve and lpsolve
lenardrommel Sep 26, 2025
aee1aa4
Enhance linear operator functionality and add comprehensive tests
lenardrommel Sep 29, 2025
ce910b8
Add .DS_Store to .gitignore for macOS compatibility
lenardrommel Sep 29, 2025
dc06325
Remove unused KroneckerVec class and its associated operations
lenardrommel Sep 29, 2025
28118a5
Add validation and vector comparison for inverse operations in tests
lenardrommel Sep 29, 2025
2ae6c88
Remove unused import of LinearOperator from linox in test_decompositi…
lenardrommel Sep 29, 2025
c2e4cb1
Add positive definiteness test for linear operators
lenardrommel Sep 29, 2025
7f1f87f
Add registry module for operator management and registration
lenardrommel Sep 30, 2025
92c0d40
Refactor linear operator modules and add tests for utility functions
lenardrommel Oct 10, 2025
d4dc652
Add comprehensive tests for linear operators and their properties
lenardrommel Oct 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# Dev environment
local_*

Expand All @@ -6,9 +7,24 @@ __pycache__/
*.py[cod]
*$py.class

# IDEs and editors
.vscode/
.DS_Store

# Local files
examples/
benchmarks/
helper/
TODO.md


# C extensions
*.so

# Images

*.png

# Distribution / packaging
.Python
build/
Expand Down
43 changes: 42 additions & 1 deletion linox/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# __init__.py

r"""`linox`: Linear operators in JAX.

This package provides a collection of linear operators for JAX, including:
Expand All @@ -23,19 +25,37 @@

# Import functions from _arithmetic module
from ._arithmetic import (
AddLinearOperator,
InverseLinearOperator,
ProductLinearOperator,
PseudoInverseLinearOperator,
ScaledLinearOperator,
TransposedLinearOperator,
congruence_transform,
diagonal,
is_square,
is_symmetric,
kron,
lcholesky,
ldet,
leigh,
linverse,
lpinverse,
lpsolve,
lqr,
lsolve,
lsqrt,
slogdet,
svd,
symmetrize,
transpose,
)

# Import classes from other modules
from ._block import BlockDiagonal, BlockMatrix, BlockMatrix2x2
from ._eigen import EigenD
from ._isotropicadd import IsotropicAdditiveLinearOperator
from ._kernel import ArrayKernel
from ._kronecker import Kronecker
from ._linear_operator import LinearOperator
from ._low_rank import (
Expand All @@ -46,16 +66,21 @@
)
from ._matrix import Diagonal, Identity, Matrix, Ones, Scalar, Zero
from ._permutation import Permutation
from .utils import todense
from ._toeplitz import Toeplitz
from .utils import allclose, todense

# Explicitly declare public API
__all__ = [
"AddLinearOperator",
"ArrayKernel",
"BlockDiagonal",
"BlockMatrix",
"BlockMatrix2x2",
"Diagonal",
"EigenD",
"Identity",
"InverseLinearOperator",
"IsotropicAdditiveLinearOperator",
"IsotropicScalingPlusSymmetricLowRank",
"Kronecker",
"LinearOperator",
Expand All @@ -64,15 +89,31 @@
"Ones",
"Permutation",
"PositiveDiagonalPlusSymmetricLowRank",
"ProductLinearOperator",
"PseudoInverseLinearOperator",
"Scalar",
"ScaledLinearOperator",
"SymmetricLowRank",
"Toeplitz",
"TransposedLinearOperator",
"Zero",
"allclose",
"congruence_transform",
"diagonal",
"is_square",
"is_symmetric",
"kron",
"lcholesky",
"ldet",
"leigh",
"linverse",
"lpinverse",
"lpsolve",
"lqr",
"lsolve",
"lsqrt",
"slogdet",
"svd",
"symmetrize",
"todense",
"transpose",
Expand Down
Loading