TYoshimura.MultiPrecision.CurveFitting
1.5.5
.NET 6.0
dotnet add package TYoshimura.MultiPrecision.CurveFitting --version 1.5.5
NuGet\Install-Package TYoshimura.MultiPrecision.CurveFitting -Version 1.5.5
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="TYoshimura.MultiPrecision.CurveFitting" Version="1.5.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TYoshimura.MultiPrecision.CurveFitting --version 1.5.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TYoshimura.MultiPrecision.CurveFitting, 1.5.5"
#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 TYoshimura.MultiPrecision.CurveFitting as a Cake Addin
#addin nuget:?package=TYoshimura.MultiPrecision.CurveFitting&version=1.5.5
// Install TYoshimura.MultiPrecision.CurveFitting as a Cake Tool
#tool nuget:?package=TYoshimura.MultiPrecision.CurveFitting&version=1.5.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MultiPrecisionCurveFitting
Float MultiPrecision Curve Fitting - linear, polynomial, pade, arbitrary function
Requirement
.NET 6.0
AVX2 suppoted CPU. (Intel:Haswell(2013)-, AMD:Excavator(2015)-)
Install
Download DLL
Download Nuget package
- Import MultiPrecision(https://github.com/tk-yoshimura/MultiPrecision)
- Import MultiPrecisionAlgebra(https://github.com/tk-yoshimura/MultiPrecisionAlgebra)
Usage
MultiPrecision<Pow2.N8>[] xs = Vector<Pow2.N8>.Arange(1024) / 1024;
MultiPrecision<Pow2.N8>[] ys = Vector<Pow2.N8>.Func(xs, x => MultiPrecision<Pow2.N8>.Cos(x) - 0.25);
PadeFitter<Pow2.N8> fitter = new(xs, ys, intercept: 0.75, numer: 4, denom: 3);
Vector<Pow2.N8> parameters = fitter.ExecuteFitting();
Console.WriteLine($"Numer : {parameters[..fitter.Numer]}");
Console.WriteLine($"Denom : {parameters[fitter.Numer..]}");
Assert.AreEqual(0.75, fitter.FittingValue(0, parameters));
for (int i = 0; i < xs.Length; i++) {
Assert.IsTrue(MultiPrecision<Pow2.N8>.Abs(ys[i] - fitter.FittingValue(xs[i], parameters)) < 1e-5,
$"\nexpected : {ys[i]}\n actual : {fitter.FittingValue(xs[i], parameters)}"
);
}
See also: Tests
Licence
Author
Product | Versions |
---|---|
.NET | net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- TYoshimura.MultiPrecision (>= 6.1.0)
- TYoshimura.MultiPrecision.Algebra (>= 1.2.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
update algebra