Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:48:23

0001 /*
0002  * CombinationFunctionScalarProduct.h
0003  *
0004  *  Created on: Apr 23, 2016
0005  *      Author: Pawel Sznajder
0006  */
0007 
0008 #ifndef COMBINATIONFUNCTIONSCALARPRODUCT_H_
0009 #define COMBINATIONFUNCTIONSCALARPRODUCT_H_
0010 
0011 #include <vector>
0012 
0013 #include "../neural_network_neuron/NeuralNetworkNeuron.h"
0014 #include "CombinationFunction.h"
0015 
0016 namespace NumA {
0017 
0018 class CombinationFunctionScalarProduct: public CombinationFunction {
0019 
0020 public:
0021 
0022     static const unsigned int classId;
0023 
0024     CombinationFunctionScalarProduct();
0025     virtual ~CombinationFunctionScalarProduct();
0026     virtual CombinationFunctionScalarProduct* clone() const;
0027 
0028     virtual double evaluate(const std::vector<NeuralNetworkNeuron*>& neurons,
0029             double bias) const;
0030 
0031     virtual double evaluateFirstPartialDerivativeForCell(
0032             const NeuralNetworkNeuron* const neuron,
0033             const std::vector<NeuralNetworkNeuron*>& neurons,
0034             double bias) const;
0035     virtual double evaluateFirstPartialDerivativeForNeuron(
0036             const NeuralNetworkNeuron* const neuron,
0037             const std::vector<NeuralNetworkNeuron*>& neurons,
0038             double bias) const;
0039     virtual double evaluateFirstPartialDerivativeForBias(
0040             const std::vector<NeuralNetworkNeuron*>& neurons,
0041             double bias) const;
0042 
0043 protected:
0044 
0045     CombinationFunctionScalarProduct(
0046             const CombinationFunctionScalarProduct& other);
0047 };
0048 
0049 }
0050 
0051 #endif /* COMBINATIONFUNCTIONSCALARPRODUCT_H_ */