From 35023cb7e132404bc6152df4d0483120a0d60d9f Mon Sep 17 00:00:00 2001 From: Gitea CI Date: Tue, 7 Oct 2025 11:09:55 +0000 Subject: [PATCH] Sync public subset from Flux --- assets/logo/logo_openbuild_1600.png | Bin 0 -> 202966 bytes .../activation_functions/Activation_ReLU.h | 24 +++++ .../{Softmax.h => Activation_Softmax.h} | 13 ++- .../activation_functions/ReLU.h | 28 ------ .../modules/neural_networks/datasets/spiral.h | 8 +- .../layers/{dense_layer.h => Dense_Layer.h} | 19 ++-- .../loss/Loss _CategoricalCrossentrophy.h | 34 ------- .../neural_networks/loss/{loss.h => Loss.h} | 14 ++- .../loss/Loss_CategoricalCrossentrophy.h | 55 +++++++++++ .../modules/neural_networks/neural_networks.h | 9 +- include/numerics/exp.h | 18 ++++ include/numerics/exponential.h | 39 -------- include/numerics/log.h | 25 +++++ include/numerics/matclip.h | 76 +++++++++++++++ include/numerics/matdot.h | 63 +++++++++++++ include/numerics/matexp.h | 22 +++++ include/numerics/matlog.h | 34 +++++++ include/numerics/matmax.h | 52 +++++++++++ include/numerics/matmean.h | 88 ++++++++++++++++++ include/numerics/matsum.h | 2 +- include/numerics/max.h | 60 ------------ include/numerics/mean.h | 31 ------ include/numerics/numerics.h | 18 +++- include/numerics/vecclip.h | 69 ++++++++++++++ include/numerics/vecexp.h | 19 ++++ include/numerics/veclog.h | 30 ++++++ include/numerics/vecmax.h | 22 +++++ include/numerics/vecmean.h | 28 ++++++ include/utils/matcast.h | 35 +++++++ include/utils/utils.h | 1 + 30 files changed, 707 insertions(+), 229 deletions(-) create mode 100644 assets/logo/logo_openbuild_1600.png create mode 100644 include/modules/neural_networks/activation_functions/Activation_ReLU.h rename include/modules/neural_networks/activation_functions/{Softmax.h => Activation_Softmax.h} (59%) delete mode 100644 include/modules/neural_networks/activation_functions/ReLU.h rename include/modules/neural_networks/layers/{dense_layer.h => Dense_Layer.h} (69%) delete mode 100644 include/modules/neural_networks/loss/Loss _CategoricalCrossentrophy.h rename include/modules/neural_networks/loss/{loss.h => Loss.h} (75%) create mode 100644 include/modules/neural_networks/loss/Loss_CategoricalCrossentrophy.h create mode 100644 include/numerics/exp.h delete mode 100644 include/numerics/exponential.h create mode 100644 include/numerics/log.h create mode 100644 include/numerics/matclip.h create mode 100644 include/numerics/matdot.h create mode 100644 include/numerics/matexp.h create mode 100644 include/numerics/matlog.h create mode 100644 include/numerics/matmax.h create mode 100644 include/numerics/matmean.h delete mode 100644 include/numerics/mean.h create mode 100644 include/numerics/vecclip.h create mode 100644 include/numerics/vecexp.h create mode 100644 include/numerics/veclog.h create mode 100644 include/numerics/vecmax.h create mode 100644 include/numerics/vecmean.h create mode 100644 include/utils/matcast.h diff --git a/assets/logo/logo_openbuild_1600.png b/assets/logo/logo_openbuild_1600.png new file mode 100644 index 0000000000000000000000000000000000000000..f80981939245a30e0d267239c389f77747ddb335 GIT binary patch literal 202966 zcmXt91yqym+g}h$I+5-%QbIzylmQzkDw30u6h?Quy^2ggVwAM;C{lv75>5pXsn;n( zdZNOMNJ;nifd6mj>~PNZaP7LUj^BOvvV|!-ivSA*0%6Bu(3TJgli}g}7!&x3I9qBd z_~&>a#y$iB5j%QAvy^rJ0YBsqHMR@A8sHfkaXr`r5)l!h=-$tz!p!-xtvR4u|XTZ zQM5ak?gKw3`3M$u4k}AE|L?X449Kk9NQ=9}_O4fNrhiOlCueddsy`%PdZA_DAMDe@ zFd8oDSnuJhQWb+cWyfN7((X}YyUZB@I|e%eJ2t-KDG(lJ6Ygq-Yr3g&`uZ@tV|GtV zuHKVhpY{9Zde9#2`k$ZTlBEIO88W@L^;O6v+5le)T_N&QemgA|v9z+a9_xj9@+_8I zZS@jaimm30rnR0zgzRXgNVp5Tk7jaow~=Aa}|zqE2>MEq`eW{_ppgjAC^ zE*?K1dmKG-vJj%I3cm0sv8-^nWVeJVK2~|o%CB<`KQY__Jxe3yEO@05%%J3F!VIA_ z`TKEt+0<5M=d#*TD0;Oj^5}o-m;zxPN5|zbPIzwyxWDJ~kyd{X`^Z(+aM$G=`3Jv? zS+&82MV2n3t_VU^rPKT9r^EmE)2A^wA-lXRIv;b&;>=c(X4&jn>;SD!@o4kBpd5FD1K$cEY+Hruwv{*TbqV*u8e%lh#|H}xQ4&~dPLr- z^Z1EFvGzQ|gjTZqLN5Hb)~sj|e7~VWmNHKfZW9Su?gfd154`#NAYKmJL&jOHSp@q+ zDxvaON-C;?CRd}vEPsU4*Gc!uXXOr`p1WZ|xDTq>-Ux%coAuT1b)-XD)^EN7RYg_2 z_oYm-ctplYi3sv^O5}-_LsMY?AKNy(pmr-V$%5BTb>&c!w7#p#y*Y>-a#qd0$F+X-*w?*Y-4D% zl-<)vkzRp}BW88}{=Rl0@Pv2|%Pl+#4`8tQ06spvRKVoGc>yVD{QMrt>(3qcLw5Uq zFpv&K!JJXA>21#^1`uf8ww6B?}dhX=Y!n3=Yp7*YO< z*KbGFpbbQw8wW~wp(fn;Tm}pN#N0OQCoOLu#x z0@UnYtd@)XnN+JMuJdzIJSd~*j8b7{wf`QT=kxz`@d#CgF$?zP{B7dn*KnEkpfah9 zk~Ouw>@={mzm-9X6t_)Rk4>V5R!c};d=EX%4SpOYR3rC%$|r1v*h0W#R?z$W2+p7E z-5}N8?eBlJkepu6Q3J1W3#!c4K+bt^Eb%SLECp82T!LI8%V`!Tk-X}RZwMPv?JU=0G`P2PM7}mg9=kx&~2NddD3G{*lYLY1}c^Dt>5J zVWNNS>dv`Ouo-sXW2$hH+bl>eZI-gvxeO`$=R3lZyGw$?g-|wdj`Zvk_ZGKg>@KH# z?ELOS$p={K8kPb#zNy^HI`)#OS)f@T={a+B_R5w2NtD4jp-Yh9nCy1V; z=7xd6p-w#HC=C0iqpB{HFMO?vbdU`|3x6}FE7C12A3dJgx`j}d_HyxTBmkX+vxK!6 zVZn4yL4|Ck+SFw})^ekL9z>c~YS*E$DEvK|O$P9U;AeOF+Y7A+mFF6&+Xsd8(m10< z676G7->KWMN?z6V$K;#3-crqD92Do0aP^svJhY0DfBqf}o?d^f<~Zv~kpLJ^pMcd) z-bZ|_lyW7%&>~HyS zW)jVb=7b7egF_>K^*4&r!cg}lts{Qh3q7u5`f?cS&|T~ZWyt`HC#@>Fk9W4{ls&JV zrk8_)uXdUCkCXIEh-JIK^01m8!S-53}UB!f0%AM#fcm8>x&YDRDzNa zn7`}`f{!e9#OxF8$3?&_EskLQ$0W-d(gYuZ9w4nF#zg)q1q{9l7X)hCxyvlwuUQ7S z70j6E!FEM9g#)u+cO4Sa2|6N#D+VM9<3v3|8<86%)Yn5%0A30YL2jn~O&7Fb)IFr6 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

o^NIj>MtW9(gUoU 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%0AHuv^D0lo*Q4$ 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 DY?p=B literal 0 HcmV?d00001 diff --git a/include/modules/neural_networks/activation_functions/Activation_ReLU.h b/include/modules/neural_networks/activation_functions/Activation_ReLU.h new file mode 100644 index 0000000..add7906 --- /dev/null +++ b/include/modules/neural_networks/activation_functions/Activation_ReLU.h @@ -0,0 +1,24 @@ +#pragma once + +#include "./core/omp_config.h" + +#include "./utils/vector.h" +#include "./utils/matrix.h" + + +namespace neural_networks{ + + template + struct Activation_ReLU{ + + //utils::Matrix inputs; + utils::Matrix outputs; + + void forward(const utils::Matrix& inputs){ + outputs = numerics::matclip_low(inputs, T{0}); + } + }; + + + +} // end namespace neural_networks \ No newline at end of file diff --git a/include/modules/neural_networks/activation_functions/Softmax.h b/include/modules/neural_networks/activation_functions/Activation_Softmax.h similarity index 59% rename from include/modules/neural_networks/activation_functions/Softmax.h rename to include/modules/neural_networks/activation_functions/Activation_Softmax.h index a6431f8..2be0034 100644 --- a/include/modules/neural_networks/activation_functions/Softmax.h +++ b/include/modules/neural_networks/activation_functions/Activation_Softmax.h @@ -5,27 +5,30 @@ #include "./utils/vector.h" #include "./utils/matrix.h" -#include "./numerics/max.h" +#include "./numerics/matmax.h" #include "./numerics/matsubtract.h" -#include "./numerics/exponential.h" +#include "./numerics/matexp.h" #include "./numerics/matdiv.h" namespace neural_networks{ template - struct activation_softmax{ + struct Activation_Softmax{ utils::Matrix exp_values; utils::Matrix probabilities; utils::Matrix outputs; - void forward(const utils::Matrix inputs){ + void forward(const utils::Matrix& inputs){ + // Get unnormalized probabilities + exp_values = numerics::matexp(numerics::matsubtract(inputs, numerics::matmax(inputs, "rows"), "col")); - exp_values = numerics::exponential(numerics::matsubtract(inputs, numerics::max(inputs, "rows"), "col")); + // Normalize them for each sample probabilities = numerics::matdiv(exp_values, numerics::matsum(exp_values, "col"), "col"); + outputs = probabilities; } diff --git a/include/modules/neural_networks/activation_functions/ReLU.h b/include/modules/neural_networks/activation_functions/ReLU.h deleted file mode 100644 index 9e38e10..0000000 --- a/include/modules/neural_networks/activation_functions/ReLU.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "./core/omp_config.h" - -#include "./utils/vector.h" -#include "./utils/matrix.h" -#include "./utils/random.h" - - -namespace neural_networks{ - - template - struct activation_ReLU{ - - utils::Matrix outputs; - - void forward(utils::Matrix inputs){ - outputs = numerics::max(inputs, T{0}); - //outputs.print(); - } - - - - }; - - - -} // end namespace neural_networks \ No newline at end of file diff --git a/include/modules/neural_networks/datasets/spiral.h b/include/modules/neural_networks/datasets/spiral.h index 4b95a8b..b5e5836 100644 --- a/include/modules/neural_networks/datasets/spiral.h +++ b/include/modules/neural_networks/datasets/spiral.h @@ -11,7 +11,7 @@ namespace neural_networks{ template - void create_spital_data(const uint64_t samples, const uint64_t classes, utils::Matrix& X, utils::Vector& y) { + void create_spital_data(const uint64_t samples, const uint64_t classes, utils::Matrix& X, utils::Matrix& y) { const uint64_t rows = samples*classes; TX r, t; @@ -21,8 +21,8 @@ namespace neural_networks{ if ((rows != X.rows()) || (X.cols() != 2)){ X.resize(samples*classes, 2); } - if (rows != y.size()){ - y.resize(rows); + if (rows != y.rows()){ + y.resize(rows, 1); } for (uint64_t i = 0; i < classes; ++i){ @@ -33,7 +33,7 @@ namespace neural_networks{ X(row_idx, 0) = r*std::cos(t*2.5) + utils::random(TX{-0.15}, TX{0.15}); X(row_idx, 1) = r*std::sin(t*2.5) + utils::random(TX{-0.15}, TX{0.15}); - y[row_idx] = static_cast(i); + y(row_idx, 0) = static_cast(i); } } } diff --git a/include/modules/neural_networks/layers/dense_layer.h b/include/modules/neural_networks/layers/Dense_Layer.h similarity index 69% rename from include/modules/neural_networks/layers/dense_layer.h rename to include/modules/neural_networks/layers/Dense_Layer.h index 51a8ba7..4acc229 100644 --- a/include/modules/neural_networks/layers/dense_layer.h +++ b/include/modules/neural_networks/layers/Dense_Layer.h @@ -10,31 +10,28 @@ namespace neural_networks{ template - struct dense_layer{ + struct Dense_Layer{ + + //utils::Matrix _inputs; utils::Matrix weights; utils::Vector biases; utils::Matrix outputs; + // Default Constructor - dense_layer() = default; + Dense_Layer() = default; // Constructor - dense_layer(const uint64_t n_inputs, const uint64_t n_neurons){ + Dense_Layer(const uint64_t n_inputs, const uint64_t n_neurons){ weights.random(n_inputs, n_neurons, -1, 1); biases.resize(n_neurons, T{0}); - //weights.print(); - //outputs.resize() } - - void forward(utils::Matrix inputs){ - outputs = numerics::matadd(numerics::matmul_auto(inputs, (weights)), biases, "row"); + void forward(utils::Matrix& inputs){ + outputs = numerics::matadd(numerics::matmul_auto(inputs, weights), biases, "row"); } - - - }; diff --git a/include/modules/neural_networks/loss/Loss _CategoricalCrossentrophy.h b/include/modules/neural_networks/loss/Loss _CategoricalCrossentrophy.h deleted file mode 100644 index fa4c6c2..0000000 --- a/include/modules/neural_networks/loss/Loss _CategoricalCrossentrophy.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "./core/omp_config.h" - -#include "./utils/vector.h" -#include "./utils/matrix.h" - - -namespace neural_networks{ - - template - struct Loss{ - - utils::Matrix sample_losses; - Td data_losses; - - virtual utils::Vector forward(const utils::Matrix& output, const utils::Matrix& y) = 0; - - Td calculate(const utils::Matrix& output, const utils::Matrix& y){ - // Calculate sample losses - sample_losses = forward(output, y); - - // Calculate mean loss - data_losses = numerics::mean(sample_losses); - return data_losses; - - } - - - }; - - - -} // end namespace neural_networks \ No newline at end of file diff --git a/include/modules/neural_networks/loss/loss.h b/include/modules/neural_networks/loss/Loss.h similarity index 75% rename from include/modules/neural_networks/loss/loss.h rename to include/modules/neural_networks/loss/Loss.h index fa4c6c2..5b3b634 100644 --- a/include/modules/neural_networks/loss/loss.h +++ b/include/modules/neural_networks/loss/Loss.h @@ -5,30 +5,28 @@ #include "./utils/vector.h" #include "./utils/matrix.h" +#include "./numerics/vecmean.h" namespace neural_networks{ template struct Loss{ - utils::Matrix sample_losses; - Td data_losses; + utils::Vector sample_losses; + Td data_loss; virtual utils::Vector forward(const utils::Matrix& output, const utils::Matrix& y) = 0; Td calculate(const utils::Matrix& output, const utils::Matrix& y){ + // Calculate sample losses sample_losses = forward(output, y); // Calculate mean loss - data_losses = numerics::mean(sample_losses); - return data_losses; + data_loss = numerics::vecmean(sample_losses); + return data_loss; } - - }; - - } // end namespace neural_networks \ No newline at end of file diff --git a/include/modules/neural_networks/loss/Loss_CategoricalCrossentrophy.h b/include/modules/neural_networks/loss/Loss_CategoricalCrossentrophy.h new file mode 100644 index 0000000..33f07ea --- /dev/null +++ b/include/modules/neural_networks/loss/Loss_CategoricalCrossentrophy.h @@ -0,0 +1,55 @@ +#pragma once + +#include "./core/omp_config.h" + +#include "./utils/vector.h" +#include "./utils/matrix.h" +#include "./utils/matcast.h" + +#include "./numerics/matclip.h" +#include "./numerics/veclog.h" + +#include "./Loss.h" + + +namespace neural_networks{ + + template + struct Loss_CategoricalCrossentrophy : Loss { + + utils::Vector forward(const utils::Matrix& y_pred, const utils::Matrix& y_true) override{ + + utils::Vector correct_confidences(y_true.rows(), Td{0}); + utils::Matrix cast_y_true = utils::matcast(y_true); + + // Number of samles in a batch + const uint64_t samples = y_true.rows(); + + // Clip data to prevent dividning by 0 + // Clip both sides to not drag mean towards any value + utils::Matrix y_pred_clipped = numerics::matclip(y_pred, Td{1e-7}, Td{1.0} - Td{1e-7}); + + // Probabilities for taget values + // only if categorical labes + if (y_true.cols() == 1){ + for (uint64_t i = 0; i < y_true.rows(); ++i){ + const uint64_t idx = static_cast(y_true(i, 0)); + correct_confidences[i] = y_pred_clipped(i, idx); + } + }else{ // Mask values - only for one-hot encoded labels + correct_confidences = numerics::matdot_row(y_pred_clipped, cast_y_true); + + } + // Losses + utils::Vector negative_log_likelihoods(samples, Td{0}); + for (uint64_t i = 0; i < samples; ++i){ + negative_log_likelihoods[i] = -std::log(static_cast(correct_confidences[i])); + } + + return negative_log_likelihoods; + } + }; + + + +} // end namespace neural_networks \ No newline at end of file diff --git a/include/modules/neural_networks/neural_networks.h b/include/modules/neural_networks/neural_networks.h index c0d32ab..3db2b2b 100644 --- a/include/modules/neural_networks/neural_networks.h +++ b/include/modules/neural_networks/neural_networks.h @@ -3,10 +3,11 @@ #include "datasets/spiral.h" -#include "layers/dense_layer.h" +#include "layers/Dense_Layer.h" -#include "activation_functions/ReLU.h" -#include "activation_functions/Softmax.h" +#include "activation_functions/Activation_ReLU.h" +#include "activation_functions/Activation_Softmax.h" -#include "loss/loss.h" \ No newline at end of file +#include "loss/Loss.h" // Base +#include "loss/Loss_CategoricalCrossentrophy.h" diff --git a/include/numerics/exp.h b/include/numerics/exp.h new file mode 100644 index 0000000..238e988 --- /dev/null +++ b/include/numerics/exp.h @@ -0,0 +1,18 @@ +#pragma once + +#include + +#include "./utils/vector.h" +#include "./utils/matrix.h" + + +namespace numerics{ + + template + T exp(const T a){ + return std::exp(a); + } + + +} // namespace numerics + diff --git a/include/numerics/exponential.h b/include/numerics/exponential.h deleted file mode 100644 index cfe59a7..0000000 --- a/include/numerics/exponential.h +++ /dev/null @@ -1,39 +0,0 @@ -#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 - diff --git a/include/numerics/log.h b/include/numerics/log.h new file mode 100644 index 0000000..d178580 --- /dev/null +++ b/include/numerics/log.h @@ -0,0 +1,25 @@ +#pragma once + + +#include "./utils/vector.h" +#include "./utils/matrix.h" + + +namespace numerics{ + + + template + void inplace_log(T a){ + a = std::log(a); + } + + template + T log(const T a){ + T b = a; + inplace_log(b); + return b; + } + + +} // namespace numerics + diff --git a/include/numerics/matclip.h b/include/numerics/matclip.h new file mode 100644 index 0000000..3ddc46c --- /dev/null +++ b/include/numerics/matclip.h @@ -0,0 +1,76 @@ +#pragma once + +#include "./utils/matrix.h" + + +namespace numerics{ + + template + void inplace_matclip_high(utils::Matrix& A, T high){ + uint64_t rows = A.rows(); + uint64_t cols = A.cols(); + + for (uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + if (A(i,j) > high){ + A(i,j) = high; + } + } + } + } + template + void inplace_matclip_low(utils::Matrix& A, T low){ + uint64_t rows = A.rows(); + uint64_t cols = A.cols(); + + for (uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + if (A(i,j) < low){ + A(i,j) = low; + } + } + } + } + template + void inplace_matclip(utils::Matrix& A, T low, T high){ + uint64_t rows = A.rows(); + uint64_t cols = A.cols(); + + for (uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + if (A(i,j) > high){ + A(i,j) = high; + }else if (A(i,j) < low){ + A(i,j) = low; + } + } + } + } + template + utils::Matrix matclip_high(const utils::Matrix& A, Td high){ + + utils::Matrix B = A; + inplace_matclip_high(B, high); + + return B; + } + template + utils::Matrix matclip_low(const utils::Matrix& A, Td low){ + + utils::Matrix B = A; + inplace_matclip_low(B, low); + + return B; + } + + template + utils::Matrix matclip(const utils::Matrix& A, Td low, Td high){ + + utils::Matrix B = A; + inplace_matclip(B, low, high); + + return B; + } + +} // namespace numerics + diff --git a/include/numerics/matdot.h b/include/numerics/matdot.h new file mode 100644 index 0000000..5de22b6 --- /dev/null +++ b/include/numerics/matdot.h @@ -0,0 +1,63 @@ +#pragma once + +#include "./core/omp_config.h" + +#include "./utils/matrix.h" +#include "./utils/vector.h" + + +namespace numerics{ + + + template + utils::Vector matdot_row(const utils::Matrix& A, const utils::Matrix& B){ + + if (A.rows() != B.rows() || A.cols() != B.cols()){ + throw std::runtime_error("matmul: dimension mismatch"); + } + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + + utils::Vector c(rows, T{0}); + + for (uint64_t i = 0; i < rows; ++i){ + T sum = T{0}; + for (uint64_t j = 0; j < cols; ++j){ + sum += A(i,j) * A(i,j); + } + c[i] = sum; + } + return c; + } + + template + utils::Vector matdot_col(const utils::Matrix& A, const utils::Matrix& B){ + + if (A.rows() != B.rows() || A.cols() != B.cols()){ + throw std::runtime_error("matmul: dimension mismatch"); + } + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + + utils::Vector c(cols, T{0}); + + for (uint64_t j = 0; j < cols; ++j){ + T sum = T{0}; + for (uint64_t i = 0; i < rows; ++i){ + sum += A(i,j) * A(i,j); + } + c[j] = sum; + } + return c; + } + + + + + +} // namespace numerics + diff --git a/include/numerics/matexp.h b/include/numerics/matexp.h new file mode 100644 index 0000000..dd7f6be --- /dev/null +++ b/include/numerics/matexp.h @@ -0,0 +1,22 @@ +#pragma once + +#include "./utils/matrix.h" + +namespace numerics{ + + + template + utils::Matrix matexp(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::exp(A(i,j)); + } + } + return B; + } + + + +} // namespace numerics + diff --git a/include/numerics/matlog.h b/include/numerics/matlog.h new file mode 100644 index 0000000..00c3469 --- /dev/null +++ b/include/numerics/matlog.h @@ -0,0 +1,34 @@ +#pragma once + + +#include "./utils/vector.h" +#include "./utils/matrix.h" + + +namespace numerics{ + + + template + void inplace_matlog(utils::Matrix& A){ + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + for (uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + numerics::inplace_log(A(i,j)); + } + } + } + + template + utils::Matrix log(const utils::Matrix& A){ + + utils::Matrix B = A; + inplace_matlog(B); + return B; + } + + +} // namespace numerics + diff --git a/include/numerics/matmax.h b/include/numerics/matmax.h new file mode 100644 index 0000000..74b2102 --- /dev/null +++ b/include/numerics/matmax.h @@ -0,0 +1,52 @@ +#pragma once + +#include "./utils/matrix.h" + +namespace numerics{ + + template + T matmax(const utils::Matrix& A){ + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + T max_value(T{0}); + + for (uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + max_value = numerics::max(max_value, A(i,j)); + } + } + return max_value; + } + + template + utils::Vector matmax(const utils::Matrix& A, std::string method){ + + utils::Vector b; + + if (method == "cols"){ + b.resize(A.cols(), T{0}); + for (uint64_t i = 0; i < A.cols(); ++i){ + for (uint64_t j = 0; j < A.rows(); ++j){ + b[i] = numerics::max(A(j, i), b[i]); + } + } + }else if (method == "rows"){ + b.resize(A.rows(), T{0}); + for (uint64_t i = 0; i < A.rows(); ++i){ + for (uint64_t j = 0; j < A.cols(); ++j){ + b[i] = numerics::max(A(i, j), b[i]); + } + } + }else{ + throw std::runtime_error("max: choose 'rows or 'cols'"); + } + return b; + + } + + + +} // namespace numerics + diff --git a/include/numerics/matmean.h b/include/numerics/matmean.h new file mode 100644 index 0000000..ccceccc --- /dev/null +++ b/include/numerics/matmean.h @@ -0,0 +1,88 @@ +#ifndef _mean_n_ +#define _mean_n_ + +#include "./utils/vector.h" +#include "./utils/matrix.h" +#include "./core/omp_config.h" + +namespace numerics{ + + template + T matmean(utils::Matrix& A) { + + T mean(T{0}); + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + + for (uint64_t i = 0; i < cols; ++i) { + for (uint64_t j = 0; j < rows; ++j) { + mean += A(j, i); + } + } + mean /= (static_cast(rows)* static_cast(cols)); + return mean; + } + + + template + void inplace_matmean_row(utils::Matrix& A, utils::Vector& b) { + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + if (b.size() != cols){ + b.resize(cols, T{0}); + } + + for(uint64_t j = 0; j < cols; ++j){ + for (uint64_t i = 0; i < rows; ++i){ + b[j] += A(i, j); + } + b[j] =/ static_cast(rows); + } + } + + template + void inplace_matmean_cols(utils::Matrix& A) { + + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + if (b.size() != rows){ + b.resize(rows, T{0}); + } + + for(uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + b[i] += A(i, j); + } + b[j] =/ static_cast(cols); + } + } + + + template + utils::Vector matmean_row(utils::Matrix& A) { + + utils:Vector b(A.rows(), T{0}); + + inplace_matmean_row(A, b); + + return b; + } + + template + utils::Vector matmean_col(utils::Matrix& A) { + + utils:Vector b(A.cols(), T{0}); + + inplace_matmean_cols(A, b); + + return b; + } + +} // namespace numerics + +#endif // _mean_n_ \ No newline at end of file diff --git a/include/numerics/matsum.h b/include/numerics/matsum.h index 9bf0ebd..51774ff 100644 --- a/include/numerics/matsum.h +++ b/include/numerics/matsum.h @@ -8,7 +8,7 @@ namespace numerics{ template - utils::Vector matsum(utils::Matrix& A, std::string method) { + utils::Vector matsum(const utils::Matrix& A, std::string method) { utils::Vector b; diff --git a/include/numerics/max.h b/include/numerics/max.h index 4e0db24..1740b2b 100644 --- a/include/numerics/max.h +++ b/include/numerics/max.h @@ -1,10 +1,5 @@ #pragma once - -#include "./utils/vector.h" -#include "./utils/matrix.h" - - namespace numerics{ template @@ -17,60 +12,5 @@ namespace numerics{ } } - template - void inplace_max(utils::Matrix& A, const T b){ - - const uint64_t rows = A.rows(); - const uint64_t cols = A.cols(); - - for (uint64_t i = 0; i < rows; ++i){ - for (uint64_t j = 0; j < cols; ++j){ - - if (b > A(i,j)){ - //std::cout << A(i,j) << std::endl; - A(i,j) = b; - //std::cout << A(i,j) << std::endl; - } - } - } - } - - template - utils::Matrix max(const utils::Matrix& A, const T b){ - - utils::Matrix B = A; - inplace_max(B, b); - return B; - } - - template - utils::Vector max(const utils::Matrix& A, std::string method){ - - utils::Vector b; - - if (method == "cols"){ - b.resize(A.cols(), T{0}); - for (uint64_t i = 0; i < A.cols(); ++i){ - for (uint64_t j = 0; j < A.rows(); ++j){ - b[i] = max(A(j, i), b[i]); - } - } - }else if (method == "rows"){ - b.resize(A.rows(), T{0}); - for (uint64_t i = 0; i < A.rows(); ++i){ - for (uint64_t j = 0; j < A.cols(); ++j){ - //std::cout << i << ":" << j << std::endl; - b[i] = max(A(i, j), b[i]); - } - } - }else{ - throw std::runtime_error("max: choose 'rows or 'cols'"); - } - return b; - - } - - - } // namespace numerics diff --git a/include/numerics/mean.h b/include/numerics/mean.h deleted file mode 100644 index b8166a4..0000000 --- a/include/numerics/mean.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _mean_n_ -#define _mean_n_ - -#include "./utils/vector.h" -#include "./utils/matrix.h" -#include "./core/omp_config.h" - -namespace numerics{ - - template - T mean(utils::Vector& A) { - - T mean(T{0}); - - const uint64_t rows = A.rows(); - const uint64_t cols = A.cols(); - - - for (uint64_t i = 0; i < cols; ++i) { - for (uint64_t j = 0; j < rows; ++j) { - mean += A(j, i); - } - } - mean /= (static_cast(rows)* static_cast(cols)); - return mean; - } - - -} // namespace numerics - -#endif // _mean_n_ \ No newline at end of file diff --git a/include/numerics/numerics.h b/include/numerics/numerics.h index 1c0d2e3..d048dab 100644 --- a/include/numerics/numerics.h +++ b/include/numerics/numerics.h @@ -1,21 +1,31 @@ // "./numerics/numerics.h" #pragma once - +#include "./numerics/max.h" +#include "./numerics/exp.h" +#include "./numerics/log.h" #include "./numerics/initializers/eye.h" #include "./numerics/matequal.h" #include "./numerics/transpose.h" #include "./numerics/inverse.h" #include "./numerics/matmul.h" +#include "./numerics/matmax.h" #include "./numerics/matdiv.h" #include "./numerics/matvec.h" #include "./numerics/matadd.h" #include "./numerics/matsubtract.h" #include "./numerics/matsum.h" +#include "./numerics/matclip.h" +#include "./numerics/matexp.h" +#include "./numerics/matlog.h" +#include "./numerics/matdot.h" #include "./numerics/min.h" -#include "./numerics/max.h" #include "./numerics/abs.h" -#include "./numerics/mean.h" -#include "./numerics/exponential.h" +#include "./numerics/vecclip.h" +#include "./numerics/vecexp.h" +#include "./numerics/vecmax.h" +#include "./numerics/veclog.h" + + #include "./numerics/interpolation1d.h" // base diff --git a/include/numerics/vecclip.h b/include/numerics/vecclip.h new file mode 100644 index 0000000..e259c66 --- /dev/null +++ b/include/numerics/vecclip.h @@ -0,0 +1,69 @@ +#pragma once + + +#include "./utils/vector.h" +#include "./utils/matrix.h" + + +namespace numerics{ + + template + void inplace_vecclip_high(utils::Vector& a, T high){ + uint64_t N = a.size(); + + for (uint64_t i = 0; i < N; ++i){ + if (a[i] > high){ + a[i] = high; + } + } + } + template + void inplace_vecclip_low(utils::Vector& a, T low){ + uint64_t N = a.size(); + + for (uint64_t i = 0; i < N; ++i){ + if (a[i] < low){ + a[i] = low; + } + } + } + template + void inplace_vecclip(utils::Vector& a, T low, T high){ + uint64_t N = a.size(); + + for (uint64_t i = 0; i < N; ++i){ + if (a[i] > high){ + a[i] = high; + }else if (a[i] < low){ + a[i] = low; + } + } + } + template + utils::Vector vecclip_high(const utils::Vector& a, Td high){ + + utils::Vector b = a; + inplace_vecclip_high(b, high); + + return b; + } + template + utils::Vector vecclip_low(const utils::Vector& a, Td low){ + + utils::Vector b = a; + inplace_vecclip_low(b, low); + + return b; + } + template + utils::Vector vecclip(const utils::Vector& a, Td low, Td high){ + + utils::Vector b = a; + inplace_vecclip(b, low, high); + + return b; + } + + +} // namespace numerics + diff --git a/include/numerics/vecexp.h b/include/numerics/vecexp.h new file mode 100644 index 0000000..73a9b56 --- /dev/null +++ b/include/numerics/vecexp.h @@ -0,0 +1,19 @@ +#pragma once + +#include "./utils/vector.h" + +namespace numerics{ + + + template + utils::Vector vecexp(const utils::Vector& a){ + utils::Vector b = a; + for (uint64_t i = 0; i < a.size(); ++i){ + b[i] = numerics::exp(a[i]); + } + return b; + } + + +} // namespace numerics + diff --git a/include/numerics/veclog.h b/include/numerics/veclog.h new file mode 100644 index 0000000..53560f5 --- /dev/null +++ b/include/numerics/veclog.h @@ -0,0 +1,30 @@ +#pragma once + + +#include "./utils/vector.h" +#include "./utils/matrix.h" + + +namespace numerics{ + + + template + void inplace_veclog(utils::Vector& a){ + + const uint64_t N = a.size(); + + for (uint64_t i = 0; i < N; ++i){ + numerics::inplace_log(a[i]); + } + } + + template + utils::Vector veclog(const utils::Vector& a){ + + utils::Vector b = a; + inplace_veclog(b); + return b; + } + +} // namespace numerics + diff --git a/include/numerics/vecmax.h b/include/numerics/vecmax.h new file mode 100644 index 0000000..e22f42d --- /dev/null +++ b/include/numerics/vecmax.h @@ -0,0 +1,22 @@ +#pragma once + + +#include "./utils/vector.h" + +namespace numerics{ + + + + template + T vecmax(const utils::Vector& a){ + T max_value(T{0}); + uint64_t N = a.size(); + + for (uint64_t i = 0; i < N; ++i){ + max_value = numerics::max(max_value, a[i]); + } + return max_value; + } + +} // namespace numerics + diff --git a/include/numerics/vecmean.h b/include/numerics/vecmean.h new file mode 100644 index 0000000..268b5aa --- /dev/null +++ b/include/numerics/vecmean.h @@ -0,0 +1,28 @@ +#ifndef _mean_n_ +#define _mean_n_ + +#include "./utils/vector.h" +#include "./utils/matrix.h" +#include "./core/omp_config.h" + +namespace numerics{ + + template + T vecmean(utils::Vector& a) { + + T mean(T{0}); + + const uint64_t N = a.size(); + + + for (uint64_t i = 0; i < N; ++i) { + mean += a[i]; + } + mean /= (static_cast(N)); + return mean; + } + + +} // namespace numerics + +#endif // _mean_n_ \ No newline at end of file diff --git a/include/utils/matcast.h b/include/utils/matcast.h new file mode 100644 index 0000000..7fc5dd9 --- /dev/null +++ b/include/utils/matcast.h @@ -0,0 +1,35 @@ +#pragma once + +#include "./core/omp_config.h" +#include "./utils/matrix.h" + + +namespace utils{ + + template + void inplace_matcast(const utils::Matrix& A, utils::Matrix& B) { + if ((A.rows() != B.rows()) || (A.cols() != B.cols())){ + throw std::runtime_error("inplace_matcast: dimension mismatch"); + } + const uint64_t rows = A.rows(); + const uint64_t cols = A.cols(); + + for (uint64_t i = 0; i < rows; ++i){ + for (uint64_t j = 0; j < cols; ++j){ + B(i,j) = static_cast(A(i,j)); + } + } + } + + + template + utils::Matrix matcast(const utils::Matrix& A) { + utils::Matrix B(A.rows(), A.cols(), To{0}); + + inplace_matcast(A,B); + + return B; + } + +} // end namespace utils + diff --git a/include/utils/utils.h b/include/utils/utils.h index 5b7b8bf..5b8b39a 100644 --- a/include/utils/utils.h +++ b/include/utils/utils.h @@ -5,3 +5,4 @@ #include "./utils/matrix.h" #include "./utils/generators.h" #include "./utils/random.h" +#include "./utils/matcast.h"