Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • N NIFTy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 17
    • Issues 17
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

On Thursday, 7th July from 1 to 3 pm there will be a maintenance with a short downtime of GitLab.

  • ift
  • NIFTy
  • Issues
  • #183

Closed
Open
Created Aug 18, 2017 by Martin Reinecke@mtrOwner

Harmonize ConjugateGradient with other minimizers?

In principle, ConjugateGradient is not fundamentally different from our descent minimizers, but its interface (including the form of the callbacks) is very different.

Wouldn't it be helpful to adjust it in a way that it also takes an Energy object for minimization and passes its current energy to the callback in the same way the descent minimizers do? Then we could, for example, replace ConjugateGradient objects with, say, VL_BFGS ones and experiment much more flexibly with different minimizers.

Of course, ConjugateGradient would need a special subclass of Energy to work properly: it would, for example, need to invoke the linear operator within this energy directly. But that should be no fundamental problem ... after all, we already have some energy classes that provide curvature and some that don't.

I would be very interested to hear feedback!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking