Math.Matthey
3.0.0
.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.
dotnet add package Math.Matthey --version 3.0.0
NuGet\Install-Package Math.Matthey -Version 3.0.0
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="Math.Matthey" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Math.Matthey --version 3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Math.Matthey, 3.0.0"
#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.
// Install Math.Matthey as a Cake Addin #addin nuget:?package=Math.Matthey&version=3.0.0 // Install Math.Matthey as a Cake Tool #tool nuget:?package=Math.Matthey&version=3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Math
A collection of mathematical function and data structures written in C#.
(c) 2016-2024 Thierry Matthey - MIT license
Base
- Floating point comparison and epsilon
- Conversion radian-degree, date time to seconds
Solver
- Analytical solution of linear, quadratic, cubic and quartic polynomial equations
- Numerical general polynomial equation root solver
- General root solver with either bisection or secant method
- First and second order regression with optional weight
Functions
- Qudratic root
- Cubic root
- Quartic root
- Fast sin evaluation [-PI/2, -PI/2]
- Normalize angle
- Nomerical stable sin-cos evaluation
- Factorial; ulong (n ⇐ 20) and double
- Fibonacci; ulong (n ⇐ 93), double and Binet
- Greatest common divisor (GDC)
- IsPrime; no cache; ~3s for max long / 10
Statistics
- Arithmetic mean and variance, optional weighted
- Averageing / mean of angles
- Centered moving averageing, optional weighted
Geometry
- Convex hull 2D (Jarvis march & Andrew's monotone chain; point reduction algorithm)
- Minimal bounding circle 2D
- Minimal bounding circle on sphere 3D
- Perpendicular (segment / line ) distance (2D & 3D)
- Trajectory Hausdorff Distance (2D & 3D)
- Filter of significant points based on Minimum Description Length Principle (2D & 3D)
- k-d tree search for vector & segment (2D & 3D)
Data structures
- BoundingBox
- BoundingRect
- Circle2D
- Circle3D
- CubicBezier2D
- CubicBezier3D
- Color
- Polar3D
- Polynomial
-
- Division by real roots (linear root), and imaginary and conjugated (quadratic root)
-
- Evaluation of polynomial and its derivative and integral
- Segment2D
- Segment3D
- Sparse array
- Vector2D
- Vector3D
GPS
- GpsPoint
- GpsTrack
- Flatten to local 2D; single object and collection
- Smoothing of holes (missing GPS signal, same position) by reducing variance
- Geodesy
-
- Haversine distance
- GridLookup / NeighbourDistanceCalculator : Finding neighbors of two GPS tracks in O(N)
- Intersection / overlapping (overestimating) of two GPS tracks
-
- grid / lookup table based - fastest and pretty precise depending on given resolution
-
- minimal rectangular bounding box
-
- minimal circle on sphere - slow on 1st call to calculate min circle
Clustering
- DBScan vector / segment for 2D / 3D
- TraClus (Trajectory Clustering: A Partition-and-Group Framework) for 2D and 3D
- Finding trajectory neighborhoods for 2D and 3D
- GPS segment clustering; finding common segments for locally collocated GPS tracks or globally
Gfx
- PNG, PPM and PGM bitmap writer
- Simple bitmap
- Line draw - Bresenham and anti-aliasing (Xiaolin Wu's line algorithm)
- Point plot (anti-aliasing)
- Heatmap for arbitrary set of GPS tracks with color schemes
Applications / examples
- GPS cluster
- GPS heatmap
- GPS activity
- HR index
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 was computed. 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. |
.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
- System.Xml.XmlSerializer (>= 4.3.0)
-
.NETStandard 2.0
- System.Xml.XmlSerializer (>= 4.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Math.Matthey:
Package | Downloads |
---|---|
Math.Matthey.Tools.TrackReaders
A collection of GPS track readers suporting GPX, TCX and KML. Source can either be a string, file or directory. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Support of route for GPX