5 Repos
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 ist eine funktionale Programmierbibliothek für Scala und eine Typklassen-Bibliothek, die darauf ausgelegt ist, algebraische Muster und funktionale Abstraktionen zu implementieren. Sie bietet einen standardisierten Satz an Schnittstellen und ein modulares Toolkit aus funktionalen Wrappern und Containern, um Ad-hoc-Polymorphismus und generische Programmierung über unterschiedliche Typen hinweg zu ermöglichen. Das Projekt dient als Standard für funktionale Abstraktion und bietet eine Monad-Transformer-Suite zur Komposition verschachtelter, effektbehafteter Kontexte und zur Handhabung mehrerer rechnerischer Seiteneffekte innerhalb einer einzigen Pipeline. Es ermöglicht zudem die Konstruktion eingebetteter domänenspezifischer Sprachen, indem Programmlogik als Datenstrukturen dargestellt wird, die unabhängig von ihren Definitionen interpretiert werden. Die Bibliothek deckt breite Funktionsbereiche ab, einschließlich algebraischer Datenmanipulation zum Kombinieren und Reduzieren von Werten, typsicherem Zustandsmanagement und funktionaler Fehlerbehandlung zur Formalisierung von Fehlerakkumulation und -wiederherstellung. Sie bietet zudem Werkzeuge für das Management effektbehafteter Berechnungen und die Erweiterung von Standard-Collection-Typen um funktionale Fähigkeiten. Die Bibliothek enthält Mechanismen zur Validierung algebraischer Gesetze, um sicherzustellen, dass Typklassen-Instanzen mathematische Eigenschaften einhalten.
Provides the ability to convert a collection of effectful values into a single effectful collection.
ArrayFire ist ein hardware-agnostisches Compute-Framework und eine JIT-kompilierte Tensor-Engine für numerische Hochleistungsberechnungen. Es dient als GPU-Bibliothek für numerische Berechnungen und Toolkit für parallele Signalverarbeitung, das Hardware-Backends abstrahiert und es ermöglicht, denselben Code auf verschiedenen GPU-Architekturen und CPUs auszuführen. Das Projekt zeichnet sich durch eine JIT-Engine aus, die Ausdruckskompilierung verwendet, um Operationen zu verschmelzen und den Speicher-Overhead zu minimieren. Es nutzt einen verzögerten Ausführungsgraphen zur Optimierung von Berechnungsketten und bietet Interoperabilitäts-Primitive, um Daten und Ausführungskontexte mit externen Compute-Plattformen wie CUDA und OpenCL zu teilen. Die Bibliothek deckt ein breites Spektrum an Fähigkeiten ab, einschließlich paralleler linearer Algebra, digitaler Signalverarbeitung und beschleunigter Computer Vision. Sie bietet Werkzeuge für die Implementierung von maschinellem Lernen, Simulationen für Finanzmodelle und die Lösung partieller Differentialgleichungen für physikalische Systemsimulationen. Das Tensor-Managementsystem verwaltet die Zuweisung mehrdimensionaler Arrays, Slicing sowie Datentransfers zwischen Host und Gerät.
Computes single scalar values from arrays through reduction operations like sum and maximum.
NumCpp ist ein C++-Framework und eine Bibliothek für numerische Berechnungen, die ein Toolkit für die Verwaltung mehrdimensionaler Arrays und mathematische Routinen bereitstellt. Es fungiert als C++-Implementierung des NumPy-Ökosystems und bietet ein wissenschaftliches Rechen-Framework für die Verwaltung von Tensoren und die Durchführung komplexer algebraischer Gleichungen. Das Projekt ermöglicht eine leistungsstarke Array-Manipulation innerhalb einer C++-Umgebung, ohne auf eine Python-Laufzeit angewiesen zu sein. Es zeichnet sich dadurch aus, dass es eine NumPy-ähnliche Schnittstelle für die Ausführung linearer Algebra, die Verwaltung mehrdimensionaler Datenstrukturen und die Durchführung numerischer Verarbeitung bietet. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich matrixalgebraischer Operationen, Array-Geometrieverwaltung durch Slicing und Reshaping sowie die Generierung von Zufallsverteilungen. Sie enthält zudem Tools für die Datensatzanalyse, Array-Statistiken sowie den Import und Export numerischer Daten über Binär- und Textformate.
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.