pulsatrix
Loading...
Searching...
No Matches
datalog_dual_semiring.hpp File Reference

Forward-mode-automatic-differentiation semiring (DualNumber<T>/DualSemiring<T>) – a second, differentiable real-valued instantiation of Mission 1's generic Semiring trait shape, carrying a value and its derivative w.r.t. one seeded scalar through every ⊕/⊗ the weighted engine performs. Phase 3 Mission 2 of campaign_exai_dl_library_neuro_symbolic (Neural-Predicate Integration). More...

#include <cmath>
#include <type_traits>
Include dependency graph for datalog_dual_semiring.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pulsatrix::datalog::DualNumber< T >
 A dual number (value, grad): value is the ordinary real-valued semiring result, grad is its derivative w.r.t. whichever single base fact's weight was seeded with grad = 1 (every other base fact's weight is seeded with grad = 0, i.e. treated as a constant). More...
 
struct  pulsatrix::datalog::DualSemiring< T >
 The dual-number semiring: ⊕/⊗ are ordinary dual-number addition/multiplication (sum rule / product rule), zero = (0, 0), one = (1, 0) – the multiplicative identity carries no derivative of its own, matching the fact that a constant contributes nothing to any derivative. More...
 

Namespaces

namespace  pulsatrix
 
namespace  pulsatrix::datalog
 

Detailed Description

Forward-mode-automatic-differentiation semiring (DualNumber<T>/DualSemiring<T>) – a second, differentiable real-valued instantiation of Mission 1's generic Semiring trait shape, carrying a value and its derivative w.r.t. one seeded scalar through every ⊕/⊗ the weighted engine performs. Phase 3 Mission 2 of campaign_exai_dl_library_neuro_symbolic (Neural-Predicate Integration).