10 dépôts
Dividing an array into multiple sub-arrays along a chosen axis.
Distinct from Array Manipulations: Focuses on partitioning a single array into multiple arrays, distinct from general content modification.
Explore 10 awesome GitHub repositories matching scientific & mathematical computing · Array Splitting. 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.
LogicStack-LeetCode is a curated repository of solved algorithm problems and data structure implementations, primarily drawn from the LeetCode platform. Its core identity is a structured collection of solutions designed to support technical interview preparation and competitive programming practice, with each solution accompanied by complexity analyses to help engineers understand performance trade-offs. The repository distinguishes itself through its breadth of coverage across fundamental algorithmic patterns and data structures. It includes implementations for array manipulation, string pro
Solves the equal-average subset partition problem using meet-in-the-middle search.
Just est une collection de bibliothèques utilitaires JavaScript conçues pour la manipulation de données, la programmation fonctionnelle, l'optimisation des performances, l'analyse statistique et le traitement de chaînes. Il fournit un ensemble d'outils pour le clonage profond, le filtrage et la transformation d'objets et tableaux complexes. Le projet est structuré comme une série de modules sans dépendance, permettant aux utilitaires d'être utilisés indépendamment pour minimiser la taille du bundle. Il implémente des modèles de programmation fonctionnelle incluant le currying, le piping et l'application partielle, et fournit un contrôle d'exécution via la mémoïsation, le debouncing et le throttling. La bibliothèque couvre un large éventail de capacités, incluant la manipulation profonde d'objets, la génération de données combinatoires et des opérations mathématiques telles que la vérification de nombres premiers et le clamping numérique. Elle inclut également des outils statistiques pour calculer des métriques comme la variance et l'écart-type, ainsi que des utilitaires de traitement de texte pour la conversion de casse et l'interpolation de chaînes.
Divides an array into two separate arrays at a specified index position.
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.
Radash est une bibliothèque d'utilitaires fonctionnels TypeScript conçue pour la transformation de données, la validation et la gestion de workflow. Elle fournit une collection de fonctions d'aide typées pour manipuler les tableaux, les objets et les chaînes de caractères. Le projet propose une boîte à outils de workflow asynchrone pour gérer les promesses, les tentatives et les limites de concurrence, aux côtés d'une suite de validateurs booléens pour vérifier les types primitifs, les objets et les promesses. Il implémente également des patterns de programmation fonctionnelle tels que la composition de fonctions, l'application partielle et les patterns de réponse error-first. La bibliothèque couvre une large surface de capacités, incluant la gestion d'état d'objet avec clonage profond et fusion, des manipulations de tableaux complexes et le formatage de chaînes. Elle fournit en outre des outils pour l'optimisation de l'exécution, tels que le rate limiting et la mise en cache des résultats.
Implements a utility to partition a collection into two separate arrays based on a boolean predicate.
ndarray est une bibliothèque de tableaux multidimensionnels pour Rust qui sert de framework d'algèbre linéaire et d'outil de calcul scientifique. Elle fournit l'infrastructure de base pour créer et manipuler des tableaux n-dimensionnels, fonctionnant à la fois comme un processeur de tableaux parallèle et une boîte à outils pour l'analyse de données numériques. La bibliothèque se distingue en fournissant un découpage (slicing) et des vues mémoire efficaces, permettant le partage de données sans copie. Elle tire parti de bibliothèques mathématiques backend optimisées pour la multiplication de matrices à haute vitesse et distribue les itérations mathématiques lourdes sur plusieurs threads CPU pour accélérer le traitement. Le projet couvre un large éventail d'opérations mathématiques, notamment l'arithmétique élément par élément, l'agrégation de données basée sur les axes et les calculs de produit scalaire. Elle inclut également des utilitaires complets pour la manipulation de tableaux tels que le remodelage, l'aplatissement, l'empilement et la génération de grilles de coordonnées, ainsi qu'une prise en charge de la génération de tableaux aléatoires et de la sérialisation.
Divides single arrays into multiple smaller views along a specified axis.
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.
xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp
Implements the division of an array into multiple sub-arrays along a specified axis.
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.