5 dépôts
Computing a single cumulative value from an array using a reducer function.
Distinct from Array Splitting: Distinct from Array Splitting by focusing on data aggregation into a single value rather than partitioning.
Explore 5 awesome GitHub repositories matching scientific & mathematical computing · Array Reductions. Refine with filters or upvote what's useful.
fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di
Converts a collection of effectful computations into a single computation returning a collection of results.
Cats est une bibliothèque de programmation fonctionnelle et de classes de types pour Scala, conçue pour implémenter des patterns algébriques et des abstractions fonctionnelles. Elle fournit un ensemble standardisé d'interfaces et une boîte à outils modulaire de wrappers et conteneurs fonctionnels pour permettre le polymorphisme ad-hoc et la programmation générique sur des types disparates. Le projet sert de standard d'abstraction fonctionnelle, offrant une suite de transformateurs de monades pour composer des contextes à effets imbriqués et gérer de multiples effets de bord computationnels au sein d'un pipeline unique. Il permet en outre la construction de langages dédiés (DSL) embarqués en représentant la logique du programme sous forme de structures de données interprétées séparément de leurs définitions. La bibliothèque couvre de larges domaines de capacités, incluant la manipulation de données algébriques pour combiner et réduire des valeurs, la gestion d'état typée, et la gestion fonctionnelle des erreurs pour formaliser l'accumulation et la récupération d'erreurs. Elle fournit également des outils pour la gestion de calculs à effets et l'extension des types de collection standard avec des capacités fonctionnelles. La bibliothèque inclut des mécanismes de validation des lois algébriques pour garantir que les instances de classes de types respectent les propriétés mathématiques.
Provides the ability to convert a collection of effectful values into a single effectful collection.
ArrayFire est un framework de calcul agnostique au matériel et un moteur de tenseurs compilé JIT conçu pour le calcul numérique haute performance. Il sert de bibliothèque de calcul numérique GPU et de toolkit de traitement du signal parallèle qui abstrait les backends matériels, permettant à la même base de code de s'exécuter sur diverses architectures GPU et CPU. Le projet se distingue par un moteur JIT qui utilise la compilation d'expressions pour fusionner les opérations et minimiser la surcharge mémoire. Il emploie un graphe d'exécution différée pour optimiser les chaînes de calcul et fournit des primitives d'interopérabilité pour partager des données et des contextes d'exécution avec des plateformes de calcul externes comme CUDA et OpenCL. La bibliothèque couvre un large éventail de capacités, incluant l'algèbre linéaire parallèle, le traitement du signal numérique et la vision par ordinateur accélérée. Elle fournit des outils pour l'implémentation de l'apprentissage automatique, la simulation de modélisation financière et la résolution d'équations aux dérivées partielles pour les simulations de systèmes physiques. Son système de gestion de tenseurs gère l'allocation de tableaux multidimensionnels, le découpage et les transferts de données hôte-périphérique.
Computes single scalar values from arrays through reduction operations like sum and maximum.
NumCpp est un framework C++ et une bibliothèque de calcul numérique qui fournit une boîte à outils pour la gestion de tableaux multidimensionnels et des routines mathématiques. Il fonctionne comme une implémentation C++ de l'écosystème NumPy, offrant un framework de calcul scientifique pour gérer des tenseurs et effectuer des équations algébriques complexes. Le projet permet une manipulation de tableaux haute performance dans un environnement C++ sans dépendre d'un runtime Python. Il se distingue en fournissant une interface similaire à NumPy pour exécuter de l'algèbre linéaire, gérer des structures de données multidimensionnelles et effectuer des traitements numériques. La bibliothèque couvre un large éventail de capacités, incluant les opérations algébriques matricielles, la gestion de la géométrie des tableaux via le slicing et le reshaping, et la génération de distributions aléatoires. Elle inclut également des outils pour l'analyse de jeux de données, les statistiques sur les tableaux, et l'import/export de données numériques via des formats binaires et texte.
Accumulates values along specified axes to compute sums, products, and means for data aggregation.
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
Covers the use of reducer functions to summarize array data into a single value.