Skip to content

Conversation

@Maximilian-Stefan-Ernst
Copy link
Collaborator

No description provided.

alyst and others added 21 commits August 11, 2024 13:13
does not seem to be used anywhere;
also the method signature does not match Julia conventions
* replace has_meanstrcture and approximate_hessian fields with trait-like typeparams
* remove methods for has_meanstructure-based dispatch
the intent of this commit is to refactor the API for objective,
gradient and hessian evaluation, such that the evaluation code
does not have to be duplicates across functions that calculate different
combinations of those functions

* introduce EvaluationTargets class that handles selection of what to evaluate
* add evaluate!(EvalTargets, ...) methods for loss and imply objs
that evaluate only what is required
* objective!(), obj_grad!() etc calls are just a wrapper of evaluate!() with proper targets
* explicitly use Cholesky factorization
remove unnecesary arguments
by dispatching over optimizer
by dispatching over optimizer
to reduce allocations
to reduce allocations
to avoid extra allocation
Co-authored-by: Maximilian Ernst <[email protected]>
Refactor objective/gradient/hessian evaluation
@Maximilian-Stefan-Ernst Maximilian-Stefan-Ernst merged commit 6aa591e into release/v0.3.0 Oct 29, 2024
2 of 3 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.

3 participants