#pragma once #include #include "./utils/vector.h" #include "./utils/matrix.h" namespace numerics{ template T exponential(const T a){ return std::exp(a); } template utils::Vector exponential(const utils::Vector& a){ utils::Vector b = a; for (uint64_t i = 0; i < a.size(); ++i){ b[i] = numerics::exponential(a[i]); } return b; } template utils::Matrix exponential(const utils::Matrix& A){ utils::Matrix B = A; for (uint64_t i = 0; i < A.rows(); ++i){ for (uint64_t j = 0; j < A.cols(); ++j){ B(i,j) = numerics::exponential(A(i,j)); } } return B; } } // namespace numerics