SyTen
ad_computenode.h File Reference

Automatic differentation of STensor objects infrastructure. More...

#include "inc/stensor/stensor_base.h"
#include <set>
#include <map>
+ Include dependency graph for ad_computenode.h:
+ This graph shows which files directly or indirectly include this file:

Classes

class  syten::STensorImpl::Autodiff::ComputeNode
 Describes an individual function call as part of a computation. More...
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::STensorImpl
 Contains all ‘smart’ tensor related classes and functions.
 
namespace  syten::STensorImpl::Autodiff
 Contains classes and functions to deal with autodifferentiation of STensor objects.
 

Functions

ComputeNodePtr syten::STensorImpl::Autodiff::create (std::string &&opname_, Vec< Pair< ComputeNodePtr, Size > > &&input_nodes_, Vec< STensorId > &&output_ids_, AdjointEvaluator &&func_, Vec< STensor > &&output_shapes_, Vec< AsyncCached< STensor > > &&cached_tensors_={})
 Helper to create a new ComputeNode and return a shared pointer to it. More...
 
ComputeNodePtr syten::STensorImpl::Autodiff::create_primer (ComputeNodePtr input_node_ptr, Size input_node_number, STensorId output_id, std::int8_t value, SBasis basis_on_tensor, STensor const &shapelike)
 Helper to create a priming ComputeNode and a return a shared pointer to it. More...
 
STensorId syten::STensorImpl::Autodiff::new_id ()
 Generates a new tensor ID larger than 999 to be used by auto-generated tensors. More...
 
STensor syten::STensorImpl::Autodiff::return_first_output_adjoint (ComputeNode &node, Size input_number, STensorId const result_id)
 AdjointEvaluator-typed function which simply returns the output adjoint of the first output. More...
 

Detailed Description

Automatic differentation of STensor objects infrastructure.