System.Numerics.Tensors
10.0.0-rc.1.25421.113
.NET 8.0
This package targets .NET 8.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
.NET Framework 4.6.2
This package targets .NET Framework 4.6.2. The package is compatible with this framework or higher.
This is a prerelease version of System.Numerics.Tensors.
dotnet add package System.Numerics.Tensors --version 10.0.0-rc.1.25421.113
NuGet\Install-Package System.Numerics.Tensors -Version 10.0.0-rc.1.25421.113
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="System.Numerics.Tensors" Version="10.0.0-rc.1.25421.113" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="System.Numerics.Tensors" Version="10.0.0-rc.1.25421.113" />
<PackageReference Include="System.Numerics.Tensors" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add System.Numerics.Tensors --version 10.0.0-rc.1.25421.113
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: System.Numerics.Tensors, 10.0.0-rc.1.25421.113"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package System.Numerics.Tensors@10.0.0-rc.1.25421.113
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=System.Numerics.Tensors&version=10.0.0-rc.1.25421.113&prerelease
#tool nuget:?package=System.Numerics.Tensors&version=10.0.0-rc.1.25421.113&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
About
Provides methods for performing mathematical operations over tensors. This library offers both high-level tensor types and low-level primitives for working with multi-dimensional numeric data. Many operations are accelerated to use SIMD (Single instruction, multiple data) operations supported by the CPU where available.
Key Features
- High-level tensor types:
Tensor<T>
,TensorSpan<T>
,ReadOnlyTensorSpan<T>
for working with multi-dimensional arrays - Low-level tensor primitives:
TensorPrimitives
for efficient span-based operations - Generic support for various numeric types (float, double, int, etc.)
- Element-wise arithmetic: Add, Subtract, Multiply, Divide, Exp, Log, Cosh, Tanh, etc.
- Tensor arithmetic: CosineSimilarity, Distance, Dot, Normalize, Softmax, Sigmoid, etc.
- SIMD-accelerated operations for improved performance
How to Use
using System.Numerics.Tensors;
var movies = new[] {
new { Title="The Lion King", Embedding= new [] { 0.10022575f, -0.23998135f } },
new { Title="Inception", Embedding= new [] { 0.10327095f, 0.2563685f } },
new { Title="Toy Story", Embedding= new [] { 0.095857024f, -0.201278f } },
new { Title="Pulp Function", Embedding= new [] { 0.106827796f, 0.21676421f } },
new { Title="Shrek", Embedding= new [] { 0.09568083f, -0.21177962f } }
};
var queryEmbedding = new[] { 0.12217915f, -0.034832448f };
// Using TensorPrimitives for low-level span operations
var top3MoviesTensorPrimitives =
movies
.Select(movie =>
(
movie.Title,
Similarity: TensorPrimitives.CosineSimilarity(queryEmbedding, movie.Embedding)
))
.OrderByDescending(movies => movies.Similarity)
.Take(3);
foreach (var movie in top3MoviesTensorPrimitives)
{
Console.WriteLine(movie);
}
// Using higher-level Tensor types for multi-dimensional operations
float[] data1 = [1f, 2f, 3f, 4f, 5f, 6f];
float[] data2 = [6f, 5f, 4f, 3f, 2f, 1f];
Tensor<float> tensor1 = Tensor.Create(data1, [2, 3]); // 2x3 tensor
Tensor<float> tensor2 = Tensor.Create(data2, [2, 3]); // 2x3 tensor
Tensor<float> result = tensor1 + tensor2;
Main Types
The main types provided by this library are:
System.Numerics.Tensors.TensorPrimitives
- Low-level operations on spans of numeric dataSystem.Numerics.Tensors.Tensor<T>
- Generic tensor class for multi-dimensional arraysSystem.Numerics.Tensors.TensorSpan<T>
- Span-like view over tensor dataSystem.Numerics.Tensors.ReadOnlyTensorSpan<T>
- Read-only span-like view over tensor dataSystem.Numerics.Tensors.Tensor
- Static class with high-level tensor operations
Additional Documentation
Feedback & Contributing
System.Numerics.Tensors is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.6.2
- Microsoft.Bcl.Numerics (>= 10.0.0-rc.1.25421.113)
- System.Memory (>= 4.6.3)
- System.Numerics.Vectors (>= 4.6.1)
-
.NETStandard 2.0
- Microsoft.Bcl.Numerics (>= 10.0.0-rc.1.25421.113)
- System.Memory (>= 4.6.3)
- System.Numerics.Vectors (>= 4.6.1)
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
GitHub repositories (26)
Showing the top 20 popular GitHub repositories that depend on System.Numerics.Tensors:
Repository | Stars |
---|---|
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
|
|
dotnet/machinelearning
ML.NET is an open source and cross-platform machine learning framework for .NET.
|
|
ravendb/ravendb
ACID Document Database
|
|
SciSharp/LLamaSharp
A C#/.NET library to run LLM (🦙LLaMA/LLaVA) on your local device efficiently.
|
|
dotnet/extensions
This repository contains a suite of libraries that provide facilities commonly needed when creating production-ready applications.
|
|
microsoft/kernel-memory
RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns.
|
|
ppy/osu-framework
A game framework written with osu! in mind.
|
|
microsoft/mcp
Catalog of official Microsoft MCP (Model Context Protocol) server implementations for AI-powered data access and tool integration
|
|
dotnet/TorchSharp
A .NET library that provides access to the library that powers PyTorch.
|
|
microsoft/ai-dev-gallery
An open-source project for Windows developers to learn how to add AI with local models and APIs to Windows apps.
|
|
tonybaloney/CSnakes
Embed Python in .NET
|
|
dotnet/smartcomponents
Sample intelligent app features provided as reusable .NET components
|
|
DevExpress/Blazor
DevExpress UI for Blazor
|
|
microsoft/onnxruntime-training-examples
Examples for using ONNX Runtime for model training.
|
|
allisterb/jemalloc.NET
A native memory manager for .NET
|
|
JasonBock/Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks)
|
|
microsoft/CryptoNets
CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with Homomorphic Encryption. Homomorphic Encryptions allow performing operations such as addition and multiplication over data while it is encrypted. Therefore, it allows keeping data private while outsourcing computation (see here and here for more about Homomorphic E
|
|
TensorStack-AI/OnnxStack
C# Stable Diffusion using ONNX Runtime
|
|
SteveSandersonMS/dotnet-ai-workshop
|
|
microsoft/typechat.net
|
Version | Downloads | Last Updated |
---|---|---|
10.0.0-rc.1.25421.113 | 0 | 8/28/2025 |
10.0.0-preview.7.25380.108 | 0 | 8/11/2025 |
10.0.0-preview.7.25380.105 | 0 | 8/6/2025 |
10.0.0-preview.6.25358.103 | 0 | 7/17/2025 |
10.0.0-preview.6.25321.102 | 0 | 6/25/2025 |
10.0.0-preview.5.25280.105 | 0 | 6/2/2025 |
10.0.0-preview.5.25277.114 | 0 | 6/3/2025 |
10.0.0-preview.5.25277.101 | 0 | 5/29/2025 |
10.0.0-preview.5.25266.103 | 0 | 5/20/2025 |
10.0.0-preview.4.25255.103 | 0 | 5/12/2025 |
9.0.7 | 0 | 7/11/2025 |
0.2.0-preview.19073.11 | 1 | 1/28/2019 |
0.2.0-preview.18571.3 | 1 | 11/30/2018 |