/usr/lib/petscdir/3.7.7/x86_64-linux-gnu-complex/include/petsc/private/taolinesearchimpl.h is in libpetsc-complex-3.7.7-dev 3.7.7+dfsg1-2build5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #ifndef __TAOLINESEARCH_IMPL_H
#define __TAOLINESEARCH_IMPL_H
#include <petscvec.h>
#include <petsc/private/petscimpl.h>
#include <petsctaolinesearch.h>
typedef struct _TaoLineSearchOps *TaoLineSearchOps;
struct _TaoLineSearchOps {
PetscErrorCode (*computeobjective)(TaoLineSearch, Vec, PetscReal*, void*);
PetscErrorCode (*computegradient)(TaoLineSearch, Vec, Vec, void*);
PetscErrorCode (*computeobjectiveandgradient)(TaoLineSearch, Vec, PetscReal *, Vec, void*);
PetscErrorCode (*computeobjectiveandgts)(TaoLineSearch, Vec, Vec, PetscReal*, PetscReal*,void*);
PetscErrorCode (*setup)(TaoLineSearch);
PetscErrorCode (*apply)(TaoLineSearch,Vec,PetscReal*,Vec,Vec);
PetscErrorCode (*view)(TaoLineSearch,PetscViewer);
PetscErrorCode (*setfromoptions)(PetscOptionItems*,TaoLineSearch);
PetscErrorCode (*reset)(TaoLineSearch);
PetscErrorCode (*destroy)(TaoLineSearch);
};
struct _p_TaoLineSearch {
PETSCHEADER(struct _TaoLineSearchOps);
void *userctx_func;
void *userctx_grad;
void *userctx_funcgrad;
void *userctx_funcgts;
PetscBool setupcalled;
PetscBool usegts;
PetscBool usetaoroutines;
PetscBool hasobjective;
PetscBool hasgradient;
PetscBool hasobjectiveandgradient;
void *data;
/* bounds used for some line searches */
Vec lower;
Vec upper;
PetscInt bounded;
Vec start_x;
Vec stepdirection;
PetscReal f_fullstep;
PetscReal new_f;
Vec new_x;
Vec new_g;
PetscReal step;
PetscReal initstep;
PetscInt max_funcs;
PetscInt nfeval;
PetscInt ngeval;
PetscInt nfgeval;
TaoLineSearchConvergedReason reason;
PetscReal rtol; /* relative tol for acceptable step (rtol>0) */
PetscReal ftol; /* tol for sufficient decr. condition (ftol>0) */
PetscReal gtol; /* tol for curvature condition (gtol>0)*/
PetscReal stepmin; /* lower bound for step */
PetscReal stepmax; /* upper bound for step */
Tao tao;
};
extern PetscLogEvent TaoLineSearch_ApplyEvent, TaoLineSearch_EvalEvent;
#endif
|