[petsc-dev] Tao unusable from complex??

Stefano Zampini stefano.zampini at gmail.com
Wed Dec 12 08:23:44 CST 2018


If I compile PETSc with complex support, all of the TAO methods are not
registered.
Fare enough? not really, I can imagine at least three valid reasons to use
those

1) I want to check that my code works for complex builds, even if I have
pure real function evaluations. I may need complex support in other parts
or the code (not when using TAO), or I just want to be a diligent PETSc
developer
2) I want to test REAL gradients or Hessians using built-in capability,
instead of writing my own
3) I want to use the complex differentiation trick to compute REAL gradients

Last time I checked, at least option 2) was available; However, from
commit 5921d7004dad83427f45468906667b100d2e2b6e, no Tao methods are
registered when PETSC_USE_COMPLEX is defined, and code like the one below
fail at runtime:

TaoCreate()
TaoSetFromOption()
TaoSetObjectiveRoutine()
TaoTestGradient()

[0]PETSC ERROR: Unknown type. Check for miss-spelling or missing package:
http://www.mcs.anl.gov/petsc/documentation/installation.html#external
[0]PETSC ERROR: Unable to find requested Tao type lmvm


-- 
Stefano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20181212/c495484c/attachment.html>


More information about the petsc-dev mailing list