Found 31 packages
A simple heuristic optimizer based on simulated annealing with gradient ascent search.
C# library for fast approximate nearest neighbours search using Hierarchical Navigable Small World graphs. Fork from original at https://github.com/microsoft/HNSW.Net, adds support for incremental build and MessagePack serialization.
While all of the algorithms are exposed and can be used and can provide their raw results, they have been conveniently combined in a way that they can selectively be used to judge the approximate equality of two strings.
Approximates what the Big O complexity of an algorthim is.
Provides an In-Memory data structure, the IndexedSet, that allows to easily add indices to allow efficient querying. Currently supports unique and non-unique indices, range indices, fuzzy string matching, spatial and vector indices for properties, compound or computed keys.
A JavaScript library for fuzzy filtering and string similarity scoring
hnswlib: Header-only C++ library for fast approximate nearest neighbors
FuzzyString is a library developed for use in my day job for reconciling naming conventions between different models of the electric grid. I have stripped off the power system specific code and put together what can effectively be used as a string extension for determining approximate equality between two strings. All of the algorithms used here have been pulled from online resources, translated into C#, and compiled into this library. I found several other similar open-source implementations around but nothing for .NET/C#. Adding the *.dll to your project will give you access to this extension and the individual extensions under the hood of the ApproximatelyEquals() extension. Algorithms included in this project: Hamming Distance Jaccard Distance Jaro Distance Jaro-Winkler Distance Levenshtein Distance Longest Common Subsequence Longest Common Substring Overlap Coefficient Ratcliff-Obershelp Similarity Sorensen-Dice Distance Tanimoto Coefficient
Spelling correction & Fuzzy search: 1 million times faster through Symmetric Delete spelling correction algorithm
Provides a set of common classes to do simple and approximate benchmarks.
FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces.
SPTAG (Space Partition Tree And Graph) is a library for large scale vector approximate nearest neighbor search scenario released by Microsoft Research (MSR) and Microsoft Bing.
A simple and efficient C# implementation of HyperLogLog for approximate cardinality estimation.
This translation utility was built to support the new AngularJS GetText string translation library and the existing Microsoft String resource file. It is able to get a basic and approximate translation from an on-line translation service such as Bing Translator, Google Translate, BabelFish, etc. This tool was created to help developers update their resource files.
HNSWIndex provides a high-performance, approximate nearest-neighbor search solution using the HNSW data structure. It supports custom distance metrics, efficient searching with concurrency, and configurable parameters to balance speed, recall, and memory usage. Perfect for .NET applications that require fast similarity lookups (e.g., image retrieval, recommendation systems, or vector-based search).
Class library for Genealogy dates, which can have one or more unknown parts. Features approximate dates, before and after dates, date ranges and free text. Includes basic arithmetic and compare functions, and strategy for creating date ranges for searching. Have parsers for dates from Gedcom files and Genealogy software like Legacy Family Tree and RootsMagic.
Dew.Math.Linux provides the high-performance numerical computation capabilities of Dew.Math, but with native acceleration binaries compiled for Linux. It is designed for compute clusters, scientific servers, containerized deployment environments, and performance-critical Linux workloads. Core Numerical Capabilities: - Dense linear algebra (BLAS/LAPACK): decomposition and eigenvalue routines optimized for AVX/AVX-512 - Sparse matrix operations with Pardiso and UMFPACK direct solvers and Krylov-based iterative solvers - Complex-valued linear algebra and spectral computations - Polynomial operations, splines, interpolation, approximate function models, and spectral transforms - Probability distributions, stochastic simulation, and random number engines - Special function library suitable for numerical physics, statistics, and differential systems - Optimization algorithms for non-linear fitting, gradient models, linear programming, and statistical inference Performance Architecture: - Linux-native accelerated BLAS/LAPACK libraries - Multithreaded vectorized math with CPU feature dispatch (AVX/AVX2/AVX-512) - Low-overhead memory allocator for stable scaling under parallel workloads - Optional OpenCL GPU integration for Linux compute environments Platform Model: - Contains Linux native runtime binaries - For Windows native acceleration use: Dew.Math - For portable managed-only computation use: Dew.Math.Core Use Dew.Math.Linux for Linux HPC compute nodes, microservice model engines, AI research pipelines, and scalable distributed scientific processing.
An open-source library for performing basic operations with fuzzy numbers. It supports piecewise linear fuzzy numbers of arbitrarily high degree, which makes it computationally efficient. Piecewise linear fuzzy numbers can also be used to approximate more complex types of fuzzy numbers.
A .NET object for creating ID fields for Domain Driven Design objects or Document Database ID's. The Id's generated are 16 charactors long so they are much more easy to work with than a GUID. Identity is a struct that can be used as an identity of a class. It's URL safe, case-insensitive, and very short for a global unique identifier at 16 chars. Identity uses a 80 bits, 24 bits are date/time and the rest (56 bits) are random. There are over 72 quadrillion possible values every hour (approximate) with over 1 septillion total possible values.