Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
a8b3ffb
add a linear operator computing the descent update
BalzaniEdoardo May 3, 2025
956329e
removed unused cls
BalzaniEdoardo May 3, 2025
9380261
added update hessian state dict
BalzaniEdoardo May 4, 2025
36a9d3c
partial applied to fn
BalzaniEdoardo May 5, 2025
30669b4
allow pytree at set
BalzaniEdoardo May 6, 2025
c0be4bc
added fixes
BalzaniEdoardo May 6, 2025
45a8f69
added import lbfgs
BalzaniEdoardo May 6, 2025
925a73c
linted
BalzaniEdoardo May 12, 2025
f5e8bc5
improved varnames
BalzaniEdoardo May 12, 2025
f2aa7a6
linted
BalzaniEdoardo May 12, 2025
3ccac0f
fixed docstrings
BalzaniEdoardo May 12, 2025
a5d16ef
revert unnecessary change
BalzaniEdoardo May 12, 2025
d29374e
do not use threshold
BalzaniEdoardo May 12, 2025
5822ad5
improved comment
BalzaniEdoardo May 12, 2025
3dbd061
removed todo
BalzaniEdoardo May 12, 2025
689c876
use hist len attr
BalzaniEdoardo May 13, 2025
b5ba14d
renamed variable
BalzaniEdoardo May 14, 2025
d81fe10
remove unused linear solver
BalzaniEdoardo May 14, 2025
090df71
test lbfgs linear op
BalzaniEdoardo May 14, 2025
85fe537
remove jit
BalzaniEdoardo May 14, 2025
c0a09b9
added LBFGS to tests, added a test for the operator
BalzaniEdoardo May 14, 2025
b83db06
test pre-commit
BalzaniEdoardo May 14, 2025
080afd2
test pre-commit 2
BalzaniEdoardo May 14, 2025
60c9dee
lined
BalzaniEdoardo May 14, 2025
3a8524b
started linting
BalzaniEdoardo May 14, 2025
5956e33
linted test
BalzaniEdoardo May 14, 2025
d4e3624
changes for fixing pyright
BalzaniEdoardo May 15, 2025
0660afc
add assertion to pass pyright
BalzaniEdoardo May 15, 2025
a1d5f17
fix typing
BalzaniEdoardo May 15, 2025
af7be91
forced commit adding back typevars
BalzaniEdoardo May 15, 2025
5c375e8
fix output
BalzaniEdoardo May 15, 2025
1c8f620
remove search from init args
BalzaniEdoardo May 15, 2025
5543c15
hist len second to last
BalzaniEdoardo May 15, 2025
13b2052
reflect arg order in docstrings
BalzaniEdoardo May 15, 2025
ab3a5d9
fix convergence
BalzaniEdoardo May 15, 2025
da41125
linted
BalzaniEdoardo May 15, 2025
43fdd7f
fix var names
BalzaniEdoardo May 15, 2025
677b84c
move state update into update
BalzaniEdoardo May 15, 2025
db3d0a9
add hessian update compute
BalzaniEdoardo May 19, 2025
ed555bf
test identity
BalzaniEdoardo May 19, 2025
2e2d56c
test identity
BalzaniEdoardo May 19, 2025
b05fa4c
fix indexing
BalzaniEdoardo May 28, 2025
96d6c89
added compact repr
BalzaniEdoardo May 31, 2025
be43422
fix linalg
BalzaniEdoardo Jun 2, 2025
3ffedaf
removed debug code
BalzaniEdoardo Jun 2, 2025
6a3add4
fix conversion in strict mode
BalzaniEdoardo Jun 2, 2025
013b029
fix tests
BalzaniEdoardo Jun 2, 2025
424bd51
fix roll_and_set comments
BalzaniEdoardo Jun 2, 2025
33d35b0
lint
BalzaniEdoardo Jun 2, 2025
9eaae6e
removed unused func
BalzaniEdoardo Jun 2, 2025
9082f5e
fixed typing
BalzaniEdoardo Jun 2, 2025
f2c078e
removed verbose options
BalzaniEdoardo Jun 2, 2025
442bbbd
removed verbose options
BalzaniEdoardo Jun 2, 2025
4e967f5
improved docstrings
BalzaniEdoardo Jun 2, 2025
de6c15b
add test for warm-up state
BalzaniEdoardo Jun 2, 2025
47bd5f6
warm-up state test fix
BalzaniEdoardo Jun 2, 2025
84ad3f2
add multiple extra hist
BalzaniEdoardo Jun 2, 2025
b1f801e
add an assertion
BalzaniEdoardo Jun 2, 2025
3a64a5b
renamed parameter back to inner_history
BalzaniEdoardo Jun 3, 2025
7b74a86
add a linear operator computing the descent update
BalzaniEdoardo May 3, 2025
8eb96c0
removed unused cls
BalzaniEdoardo May 3, 2025
2788d2d
added update hessian state dict
BalzaniEdoardo May 4, 2025
ab816f1
partial applied to fn
BalzaniEdoardo May 5, 2025
1f4e217
allow pytree at set
BalzaniEdoardo May 6, 2025
1307644
added fixes
BalzaniEdoardo May 6, 2025
2937fd6
added import lbfgs
BalzaniEdoardo May 6, 2025
a6b5bc1
linted
BalzaniEdoardo May 12, 2025
4896842
improved varnames
BalzaniEdoardo May 12, 2025
644b9ed
linted
BalzaniEdoardo May 12, 2025
b6a9a02
fixed docstrings
BalzaniEdoardo May 12, 2025
0a50627
revert unnecessary change
BalzaniEdoardo May 12, 2025
0239c68
do not use threshold
BalzaniEdoardo May 12, 2025
6caf975
improved comment
BalzaniEdoardo May 12, 2025
32c5d8b
removed todo
BalzaniEdoardo May 12, 2025
92648ac
use hist len attr
BalzaniEdoardo May 13, 2025
16e72ae
renamed variable
BalzaniEdoardo May 14, 2025
263effa
remove unused linear solver
BalzaniEdoardo May 14, 2025
8ae60c7
test lbfgs linear op
BalzaniEdoardo May 14, 2025
cdc9748
remove jit
BalzaniEdoardo May 14, 2025
751a2ec
added LBFGS to tests, added a test for the operator
BalzaniEdoardo May 14, 2025
f5d9ebe
test pre-commit
BalzaniEdoardo May 14, 2025
26154fe
test pre-commit 2
BalzaniEdoardo May 14, 2025
f44e79d
lined
BalzaniEdoardo May 14, 2025
2db0b5a
started linting
BalzaniEdoardo May 14, 2025
8ccf14e
linted test
BalzaniEdoardo May 14, 2025
ba84546
changes for fixing pyright
BalzaniEdoardo May 15, 2025
6a753a8
add assertion to pass pyright
BalzaniEdoardo May 15, 2025
0b1f018
fix typing
BalzaniEdoardo May 15, 2025
25b6e4d
forced commit adding back typevars
BalzaniEdoardo May 15, 2025
a8e33ad
fix output
BalzaniEdoardo May 15, 2025
353c85b
remove search from init args
BalzaniEdoardo May 15, 2025
405df6c
hist len second to last
BalzaniEdoardo May 15, 2025
87c2118
reflect arg order in docstrings
BalzaniEdoardo May 15, 2025
fe8922d
fix convergence
BalzaniEdoardo May 15, 2025
a80823f
linted
BalzaniEdoardo May 15, 2025
e746f3c
fix var names
BalzaniEdoardo May 15, 2025
46e14b5
move state update into update
BalzaniEdoardo May 15, 2025
921f5a3
add hessian update compute
BalzaniEdoardo May 19, 2025
0721680
test identity
BalzaniEdoardo May 19, 2025
3d7fe9d
test identity
BalzaniEdoardo May 19, 2025
cf551b4
fix indexing
BalzaniEdoardo May 28, 2025
3a413c1
added compact repr
BalzaniEdoardo May 31, 2025
89b6f73
fix linalg
BalzaniEdoardo Jun 2, 2025
0d6e298
removed debug code
BalzaniEdoardo Jun 2, 2025
7a0342d
fix conversion in strict mode
BalzaniEdoardo Jun 2, 2025
7cc524c
fix tests
BalzaniEdoardo Jun 2, 2025
1dac261
fix roll_and_set comments
BalzaniEdoardo Jun 2, 2025
9764d54
lint
BalzaniEdoardo Jun 2, 2025
a845bb4
removed unused func
BalzaniEdoardo Jun 2, 2025
8a712f4
fixed typing
BalzaniEdoardo Jun 2, 2025
99d4a7e
removed verbose options
BalzaniEdoardo Jun 2, 2025
b5e77f1
removed verbose options
BalzaniEdoardo Jun 2, 2025
552b74d
improved docstrings
BalzaniEdoardo Jun 2, 2025
8eaf147
add test for warm-up state
BalzaniEdoardo Jun 2, 2025
189b7aa
warm-up state test fix
BalzaniEdoardo Jun 2, 2025
1ba895a
add multiple extra hist
BalzaniEdoardo Jun 2, 2025
5cde2c7
add an assertion
BalzaniEdoardo Jun 2, 2025
c6e2aca
renamed parameter back to inner_history
BalzaniEdoardo Jun 3, 2025
ea10532
re-organising quasi-newton, pyright fixes and some simplifications
Jun 14, 2025
fab3658
ruff + pyupgrade after rebase on latest dev
Jun 14, 2025
adcdbcf
ruff + pyupgrade after rebase on latest dev
Jun 14, 2025
0058b73
re-organising quasi-newton, pyright fixes and some simplifications
Jun 14, 2025
c769268
rebase on dev, pyupgrade + fixes
Jun 14, 2025
093ce74
marking a To-Do for Johanna
Jun 14, 2025
8617111
typo fix: spurious
Jun 14, 2025
c5b8f66
small fixes
Jun 15, 2025
43320a0
split module and create separate file for L-BFGS, mark TODOs for PR c…
Jun 15, 2025
ef6f8b0
take operator test out of rotation for now (relies on private imports)
Jun 15, 2025
647ce42
tiny doc tweaks
Jun 15, 2025
411206c
simplify update
BalzaniEdoardo Jun 16, 2025
ad8d2f5
linted
BalzaniEdoardo Jun 16, 2025
be6853d
merged latest commits
BalzaniEdoardo Jun 17, 2025
36ae69f
Merge pull request #1 from BalzaniEdoardo/simplify_update
BalzaniEdoardo Jun 17, 2025
9d3e953
remove unused import
Jun 18, 2025
367ce4f
formatting fix
Jun 18, 2025
4c29f4a
cleaning the To-Dos
Jun 18, 2025
eb17414
double where trick addressed
BalzaniEdoardo Jun 19, 2025
7a65e2e
use concatenate
BalzaniEdoardo Jun 19, 2025
7da438d
document pyright: ignore in Quasi Newton
Jun 22, 2025
aabde0f
address pyright issues
Jun 22, 2025
836e48e
fix names and some doc tweaks
Jun 22, 2025
2e6cac0
addressed remaining issues: naming, better type hints.
Jun 22, 2025
2a8df02
small fixes
Jul 8, 2025
c6c46be
teeny tiny fix
Jul 8, 2025
6e76c03
move a comment
Jul 8, 2025
e466ced
implement .conj method (abstract in Lineax)
Jul 8, 2025
6d334b7
more small fixes
Jul 8, 2025
523cfed
add safe divide for inner and comment
BalzaniEdoardo Jul 9, 2025
422f839
linted
BalzaniEdoardo Jul 9, 2025
329bac5
Merge branch 'hess_approx' of github.com:BalzaniEdoardo/optimistix in…
BalzaniEdoardo Jul 9, 2025
77dba7a
add as array
BalzaniEdoardo Jul 9, 2025
6cf0725
add asarray
BalzaniEdoardo Jul 9, 2025
d724a4d
write the history length into the state
Jul 12, 2025
02a69b7
fix history length in L-BFGS special tst
Jul 12, 2025
a85bca4
reorder and improve documentation of inverse operator function + some…
Jul 13, 2025
e7a55b3
add comments explicating our strategy for Cholesky solves of partly f…
Jul 13, 2025
89bc63d
document hessian update state in quasi-Newton
Jul 13, 2025
bd09b85
document choice for computation of gamma
Jul 14, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ examples/data
.idea
.venv
.DS_Store
.devcontainer
.benchmarks
3 changes: 3 additions & 0 deletions benchmarks/levenberg-marquardt.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ def compute(self, state, vector, options):
def transpose(self, state, options):
assert False

def conj(self, state, options):
assert False

def allow_dependent_columns(self, operator):
assert False

Expand Down
1 change: 1 addition & 0 deletions optimistix/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
hestenes_stiefel as hestenes_stiefel,
IndirectDampedNewtonDescent as IndirectDampedNewtonDescent,
IndirectLevenbergMarquardt as IndirectLevenbergMarquardt,
LBFGS as LBFGS,
LearningRate as LearningRate,
LevenbergMarquardt as LevenbergMarquardt,
LinearTrustRegion as LinearTrustRegion,
Expand Down
1 change: 1 addition & 0 deletions optimistix/_custom_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
SolverState = TypeVar("SolverState")
SearchState = TypeVar("SearchState")
DescentState = TypeVar("DescentState")
HessianUpdateState = TypeVar("HessianUpdateState")
Y = TypeVar("Y")

Fn: TypeAlias = Callable[[Y, Args], tuple[Out, Aux]]
Expand Down
1 change: 1 addition & 0 deletions optimistix/_solver/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
IndirectLevenbergMarquardt as IndirectLevenbergMarquardt,
LevenbergMarquardt as LevenbergMarquardt,
)
from .limited_memory_bfgs import LBFGS as LBFGS
from .nelder_mead import NelderMead as NelderMead
from .newton_chord import Chord as Chord, Newton as Newton
from .nonlinear_cg import (
Expand Down
Loading