Loading...
Searching...
No Matches
XtsciEindir.h File Reference
#include "eon/ObjectiveFunction.h"
#include <cstddef>
#include <cstdint>
#include <string>

Go to the source code of this file.

Classes

struct  eonc::xtsci_eindir::View
 Semantic objective contract shared with eindir_objective_descriptor_t. More...

Namespaces

namespace  eonc
 RAII resource manager for the ARTn C library with global synchronization.
namespace  eonc::xtsci_eindir

Functions

View eonc::xtsci_eindir::eon_requirement ()
 What an eOn minimization may consume: eV, angstrom, analytic forces.
View eonc::xtsci_eindir::rgpot_ev_angstrom ()
 rgpot producer advertising the same units and tensor contract.
bool eonc::xtsci_eindir::compatible (const View &actual, const View &required)
 Nonzero when actual satisfies required. Schema id is never a wildcard.
bool eonc::xtsci_eindir::abi_accepts_gradient (std::uint32_t major, std::uint32_t expected_major, std::uint64_t features)
 Major must match and the gradient feature bit must be set.
const std::string & eonc::xtsci_eindir::provenance ()
 Stamp text from the last successful eindir bind. Empty when unused.
State * eonc::xtsci_eindir::bind (ObjectiveFunction *objective, Eigen::VectorXd *cached)
 Borrow an ObjectiveFunction as an eindir objective.
void eonc::xtsci_eindir::release (State *state)
int eonc::xtsci_eindir::eval_grad (State *state, const DLManagedTensorVersioned *x, double *value, DLManagedTensorVersioned *gradient)
 One fused energy and gradient through the borrowed eindir handle.
int eonc::xtsci_eindir::minimize (State *state, double *x, std::size_t n, std::size_t maxiter, double gtol, double istep, std::size_t memory, int method, double *value_out)
 xts_minimize_eindir on a caller-owned buffer. The caller keeps State.

Variables

constexpr const char * eonc::xtsci_eindir::kSchemaId = "eindir.objective-descriptor.v1"
constexpr std::uint64_t eonc::xtsci_eindir::kOpEnergy = 1ull << 0
constexpr std::uint64_t eonc::xtsci_eindir::kOpForces = 1ull << 1
constexpr int eonc::xtsci_eindir::kDeviceCpu = 1
constexpr int eonc::xtsci_eindir::kDtypeFloat = 2
constexpr std::uint32_t eonc::xtsci_eindir::kLayoutContiguous = 1
constexpr std::uint32_t eonc::xtsci_eindir::kLifetimeBorrowed = 1
constexpr std::uint64_t eonc::xtsci_eindir::kFeatureGradient = 1ull << 0