Math.Matthey
3.0.0
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