[Js] Librairies de Maths en Js

images.jpg

Introduction


Des librairies de maths en Js pour calculer des intégrales, des quartiles de séries, des stats diverses etc ..

Super pour des applications WEB , après, il reste à déterminer si il vaut mieux une lib node.js pour des calculs sur d’imposantes quantités de données , ou plutôt une lib front-end, rapide et agile… Si on calcule dans le Back end, il faut utiliser souvent les ‘web workers’ non bloquants.

On le sait en fonction fonction de la nature de notre application.

Notions Actuelles


En ces temps modernes, parfois cruels et génériques avec l’avènement des CMS et des shopify qui rendent inutile ces types de développement de ‘magasins’ , la valeur ajoutée d’une application WEB provient donc désormais, entre autre, de la maitrise de librairies de MATHEMATIQUES , ainsi que de celles de recherche opérationnelle (C++, Java, et donc la JS…).

On peut qualifier cela de « Data Scientisme », lorsque le niveau devient appréciable, et que l’on traite aussi bien des datas provenant de db relationnelles, que du big data clusterisé, ou de fichiers concrets, avec hadoop par exemple.

Mais on peut déjà se faire plaisir avec de simples maths de collège, qui recellent ,selon ,moi déjà pas mal d’infos décisionnelles ( médianes, moyennes, pourcentages, moyennes pondérées, effectifs cumulés…).

Les indicateurs fixés sur des processus métiers sont également généralement des formules TRES SIMPLES de niveau collège, pourtant, ils sont d’une importance critique, et ils doivent être actualisés en temps réel.

Ensuite, on peut embrayer sur le Lycée avec, par exemple, les probabilités, épreuve de Bernoulli, la loi Binomiale,la loi de probabilité … Qui permettent de tirer de bonnes conclusions lorsqu’elles sont appliquées à des Data, voir même à modifier automatiquement le comportement d’une application, en conséquence ( Et bien oui… Du Machine Learning ).

Pour ensuite arriver aux solveurs de recherche opérationnelle (Maths du supérieur ) .

L’intérêt de programmer un calcul de recherche opérationnel en DUR pourrait être d’éviter les erreurs du solveur Excel … A méditer … Et surtout vérifier le fonctionnement de cette lib en JS !
EDIT Aout 2018: L’intérêt est surtout la mise à jour en TEMPS REEL du PL à partir de données de base de donnée, et donc des résultats de la fonction objectif , c’est carrément un avantage par rapport à Excel !!

Sans oublier le portage en Js de Coq :
https://github.com/ejgallego/jscoq , qui permettrait de faire des prédicats en JS ( à regarder…urgent … évidemment), les prédicats servant à déterminer formellement si une supposition est vraie ou pas, à l’aide de formules pré-déterminées, on peut par exemple déterminer formellement le coupable entre 3 suspects en convertissant les informations données sous formes de formules génériques « restreintes aux booléens », puis en leur appliquant les règles fixes et établies de logique propositionnelle .. Bien sur, dans le monde de l’industrie, on ne parle pas de suspects, mais de résistance prédictionnelle à l’usure … etc …

Conclusion


Conclusion : La valeur ajoutée des applications modernes réside souvent dans l’utilisation efficace de librairies de mathématiques, et de connaissance peu abordables au commun des mortels, ou qui n’intéressent tout simplement pas le monde, comme par exemple la recherche opérationnelle ou la logique propositionnelle.

Cependant, cela n’exclut pas les idées originales existant encore dans un univers qui se restreint, et le fait qu’il faut peut être encore des gens pour installer des CMS ou des SHOPIFY. de plus, une bonne maitrise des styles CSS peut encore jouer.

On en déduit également que le pur travail de développeur est amené à se complexifier, et les postes à se raréfier ( Réflexion banale, car réelle depuis l’avènement des cms depuis 2006). Les développeurs sont donc condamnés à emmagasiner plus de compétences variées comme la comptabilité ou la RO par exemple, et à opter pour un profil bien plus générique ( Ce qui est bien sur le cas des formations Ingénieur). Il y a également des choses à faire avec Hadoop dans l’analyse de fichiers.

Quand on voit la recherche opérationnelle, avec Xpress ou Choco ( les solveurs), ce sont vraiment des outils fantastiques qu’il faut exploiter dans des applications.

Liens :


Une liste :

https://github.com/bebraw/jswiki/wiki/Math-libraries

 

Des fonctions pas mal pour donner min, max, variance de tableaux de valeurs :

http://pseudosavant.com/blog/2010/12/22/javascript-statistics-and-math-library/

 

Pour les probabilités, Loi Binomiale …

https://www.javascriptbank.com/vitaliy-math-javascript-library-demo.html

 

 Une lib avec du Bernoulli et du Poisson , du min et du max pour des arrays, elle a l’air cool, je vais commencer avec celle là ! :
https://simplestatistics.org/docs/

Même pas besoin de l’installer, avec le CDN , on l’appelle :

Puis ensuite, on l’utilise de SUITE dans une balise script , dans index.html :
console.log(ss.min([-3, 0, 3]));
console.log(ss.sum([-3, 0, 3]));
C’est le tooop , y’a plein de fonction différentes de STATS ça déchiiiiire (De la moyenne, de la dispersion, de la regression linéaire ! …)!! Exemple : le Quantile

 

Une librairie pour faire de la regression linéaire :

https://github.com/Tom-Alexander/regression-js

 

Une grosse lib connue :
https://jstat.github.io/all.html

 

Une lib qui convertit des nombres en fractions
http://mathjs.org/docs/datatypes/fractions.html

 

Une lib qui permettrait d’écrire des formules directement :

https://www.mathjax.org/#docs

Publicités