Skip to content

revamp!: use KrylovKit for type flexibility (beyond Vector), split out preparation#180

Merged
gdalle merged 12 commits intomainfrom
gd/krylovkit
Jul 2, 2025
Merged

revamp!: use KrylovKit for type flexibility (beyond Vector), split out preparation#180
gdalle merged 12 commits intomainfrom
gd/krylovkit

Conversation

@gdalle
Copy link
Copy Markdown
Member

@gdalle gdalle commented Jul 2, 2025

Warning

Breaking changes

Breaking changes

  • Switch IterativeLinearSolver to KrylovKit, hide settings from the public API for now
  • Remove flattening and reshaping and buffering since KrylovKit preserves types and handles higher-order arrays
  • Remove OperatorRepresentation settings since the operator A is now just a function
  • When computing Jacobians with Zygote, one may have to set strict=Val(false) because it doesn't backpropagate the right tangent type
  • Remove preparation-related stuff from the ImplicitFunction constructor, put it in a separate function prepare_implicit (private for now)

Non-breaking changes

  • Add type stability tests

@codecov
Copy link
Copy Markdown

codecov Bot commented Jul 2, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Files with missing lines Coverage Δ
ext/ImplicitDifferentiationChainRulesCoreExt.jl 95.45% <100.00%> (+0.21%) ⬆️
ext/ImplicitDifferentiationForwardDiffExt.jl 100.00% <100.00%> (ø)
src/ImplicitDifferentiation.jl 100.00% <ø> (ø)
src/callable.jl 100.00% <100.00%> (ø)
src/execution.jl 100.00% <100.00%> (+3.73%) ⬆️
src/implicit_function.jl 100.00% <ø> (ø)
src/preparation.jl 100.00% <100.00%> (ø)
src/settings.jl 100.00% <100.00%> (ø)
src/utils.jl 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@gdalle gdalle changed the title revamp!: use KrylovKit for type flexibility (beyond Vector) revamp!: use KrylovKit for type flexibility (beyond Vector), split out preparation Jul 2, 2025
@gdalle gdalle marked this pull request as ready for review July 2, 2025 10:41
@gdalle gdalle merged commit 8c30ba7 into main Jul 2, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant