Welcome |
The Novacta.Analytics library provides functionality for data analysis.
The project targets .NET 6, and supports the x86-64 architecture on Windows, Linux, and macOS platforms.
Matrix algebra operations
Matrices of Double or Complex numbers, represented through types DoubleMatrix and ComplexMatrix, respectively.
Support for both dense and compressed sparse row storage schemes.
Matrices exposed as read-only objects, see types ReadOnlyDoubleMatrix and ReadOnlyComplexMatrix.
Overloaded operators supporting sums, subtractions, multiplications, and divisions whose operands are matrices or scalars, eventually mixing Complex-based and Double-based operands.
Matrix slicing where rows or columns are referred to using integers, strings, or collections of indexes.
Out- or In- place application of operations to matrix entries (for examples, see methods Apply or InPlaceApply).
Matrix Singular Value Decompositions and Spectral Decompositions of symmetric/Hermitian matrices.
Matrix data presentation and interaction in application UI
Matrices can be exploited as binding sources by interpreting them as collections of rows. See the BindingToRowCollection sample for further details.
Summary statistics
Descriptive statistical functions, operating on rows, columns, or all matrix entries.
Multivariate data analysis
Represent multi-dimensional, weighted points by taking their coordinates with respect to whatever basis using cloud instances.
Project clouds along their principal directions by identifying new, uncorrelated variables whose variances enhance our comprehension of the overall cloud variability, possibly approximating the cloud in a lower dimensional space.
Compute the principal components of a matrix, an application of principal projections to the classical context in which matrix rows are interpreted as point coordinates taken with respect to bases depending on specific coefficients assigned to the observed variables.
Correspondence analysis of a contingency table.
Cluster Analysis
Discover optimal clusters in a data set by minimizing the sum of intra-cluster squared deviations.
Explain existing clusters selecting features by minimizing the Davies-Bouldin index.
Categorical data sets
Create categorical data sets by encoding categorical or numerical data from a stream.
Categorize continuous data by entropy minimization.
Multiple Correspondence analysis of a categorical data set.
Classify items from a feature space via ensembles of categorical entailments.
Randomization
Use Mersenne Twister random number generators to draw samples from basic statistical distributions.
Represent additional probability distributions to compute and sample from specific cumulative or probability density functions.
Select random samples from a finite population, with equal or unequal probabilities of being inserted in a sample.
Permute randomly a given collection of integers.
Optimization
Optimize continuous functions having multiple arguments ranging over the real line.
Apply the Cross-Entropy method to represent continuous or combinatorial optimization problems via Cross-Entropy contexts for optimization, and solve them using a Cross-Entropy optimizer.
Take advantage of specialized Cross-Entropy contexts to optimize functions having as arguments continuous variables, combinations, partitions, or ensembles of categorical entailments.
Rare event simulation
Express the problem of estimating the probability of rare events via Cross-Entropy contexts for rare event simulation, solvable using a Cross-Entropy estimator.
The current documentation includes the following topics.
Build and test instructs about the setup required to build and test the assembly.
Namespaces Novacta.Analytics and Novacta.Analytics.Advanced contain reference information about assembly types.
All source code is Copyright (c) 2018 Giovanni Lafratta, licensed under the MIT license.
This project relies on native dynamic-link libraries obtained via the Intel® oneAPI Math Kernel Library customDLL builder. oneAPI MKL is Copyright (c) 2021 Intel® Corporation and licensed under the ISSL terms.