Novacta.Analytics
2.1.0
Prefix Reserved
dotnet add package Novacta.Analytics --version 2.1.0
NuGet\Install-Package Novacta.Analytics -Version 2.1.0
<PackageReference Include="Novacta.Analytics" Version="2.1.0" />
paket add Novacta.Analytics --version 2.1.0
#r "nuget: Novacta.Analytics, 2.1.0"
// Install Novacta.Analytics as a Cake Addin #addin nuget:?package=Novacta.Analytics&version=2.1.0 // Install Novacta.Analytics as a Cake Tool #tool nuget:?package=Novacta.Analytics&version=2.1.0
Novacta.Analytics
The Novacta.Analytics library provides functionality for data analysis.
The project targets .NET 8, and supports the x86-64 architecture on Windows, Linux, and macOS platforms.
Installation can be performed via NuGet.
Features
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 (writable or read-only) matrices or scalars, eventually mixing Complex or 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.
- Create matrices by encoding numerical or categorical data.
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.
- Multidimensional scaling
- 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.
Documentation
The current documentation includes the following topics.
- Novacta.Analytics release notes.
- 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.
Versioning
We use SemVer for versioning. For available versions, see the tags on this repository.
Copyrights and Licenses
All source code is Copyright © 2018 Giovanni Lafratta.
Novacta.Analytics is 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 © 2021 Intel® Corporation and licensed under the ISSL terms.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- System.Text.Json (>= 8.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
* Added types to support multidimensional scaling techniques.
* Added factory methods to create matrices by encoding categorical/numerical data.