System.Numerics.Tensors
9.0.0-preview.3.24172.9
Prefix Reserved
See the version list below for details.
dotnet add package System.Numerics.Tensors --version 9.0.0-preview.3.24172.9
NuGet\Install-Package System.Numerics.Tensors -Version 9.0.0-preview.3.24172.9
<PackageReference Include="System.Numerics.Tensors" Version="9.0.0-preview.3.24172.9" />
paket add System.Numerics.Tensors --version 9.0.0-preview.3.24172.9
#r "nuget: System.Numerics.Tensors, 9.0.0-preview.3.24172.9"
// Install System.Numerics.Tensors as a Cake Addin #addin nuget:?package=System.Numerics.Tensors&version=9.0.0-preview.3.24172.9&prerelease // Install System.Numerics.Tensors as a Cake Tool #tool nuget:?package=System.Numerics.Tensors&version=9.0.0-preview.3.24172.9&prerelease
About
Provides methods for performing mathematical operations over tensors represented as spans. These methods are accelerated to use SIMD (Single instruction, multiple data) operations supported by the CPU where available.
Key Features
- Numerical operations on tensors represented as
ReadOnlySpan<float>
- Element-wise arithmetic: Add, Subtract, Multiply, Divide, Exp, Log, Cosh, Tanh, etc.
- Tensor arithmetic: CosineSimilarity, Distance, Dot, Normalize, Softmax, Sigmoid, etc.
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 };
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);
}
Main Types
The main types provided by this library are:
System.Numerics.Tensors.TensorPrimitives
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. |
.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. |
-
.NETFramework 4.6.2
- Microsoft.Bcl.Numerics (>= 9.0.0-preview.3.24172.9)
- System.Memory (>= 4.5.5)
-
.NETStandard 2.0
- Microsoft.Bcl.Numerics (>= 9.0.0-preview.3.24172.9)
- System.Memory (>= 4.5.5)
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (27)
Showing the top 5 NuGet packages that depend on System.Numerics.Tensors:
Package | Downloads |
---|---|
Microsoft.ML.CpuMath
Microsoft.ML.CpuMath contains optimized math routines for ML.NET. |
|
Microsoft.Data.Analysis
This package contains easy-to-use and high-performance libraries for data analysis and transformation. |
|
Microsoft.SemanticKernel.Core
Semantic Kernel core orchestration, runtime and functions. This package is automatically installed by 'Microsoft.SemanticKernel' package with other useful packages. Install this package manually only if you are selecting individual Semantic Kernel components. |
|
ppy.osu.Framework
A 2D application/game framework written with rhythm games in mind. |
|
Microsoft.KernelMemory.Abstractions
Kernel Memory is a Copilot/Semantic Kernel Plugin and Memory Web Service to index and query any data and documents, using LLM and natural language, tracking sources and showing citations. The package contains the interfaces and models shared by all Kernel Memory packages. |
GitHub repositories (18)
Showing the top 5 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.
|
|
SciSharp/LLamaSharp
A C#/.NET library to run LLM (🦙LLaMA/LLaVA) on your local device efficiently.
|
|
ppy/osu-framework
A game framework written with osu! in mind.
|
|
microsoft/kernel-memory
RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns.
|