From 399f34cdd94c08fac61a3b1c238ad1f613496b84 Mon Sep 17 00:00:00 2001 From: sbosse Date: Mon, 21 Jul 2025 23:08:00 +0200 Subject: [PATCH] Mon 21 Jul 22:43:21 CEST 2025 --- js/ml/math.js | 646 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 646 insertions(+) create mode 100644 js/ml/math.js diff --git a/js/ml/math.js b/js/ml/math.js new file mode 100644 index 0000000..d282999 --- /dev/null +++ b/js/ml/math.js @@ -0,0 +1,646 @@ +/** + * Created by joonkukang on 2014. 1. 12.. + */ +var m = module.exports; + +m.randn = function() { + // generate random guassian distribution number. (mean : 0, standard deviation : 1) + var v1, v2, s; + + do { + v1 = 2 * Math.random() - 1; // -1.0 ~ 1.0 까지의 값 + v2 = 2 * Math.random() - 1; // -1.0 ~ 1.0 까지의 값 + s = v1 * v1 + v2 * v2; + } while (s >= 1 || s == 0); + + s = Math.sqrt( (-2 * Math.log(s)) / s ); + return v1 * s; +} + +m.shape = function(mat) { + var row = mat.length; + var col = mat[0].length; + return [row,col]; +}; + +m.addVec = function(vec1, vec2) { + if(vec1.length === vec2.length) { + var result = []; + var i; + for(i=0;i max) + max = vec[i]; + } + return max; +} + +m.minMat = function(mat) { + var min = mat[0][0]; + var i = mat.length; + while (i--) { + for(var j=0;j