From 4c56bf6c5ab42eccddfe21420741e4e1d4785470 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Wed, 26 Feb 2014 20:58:20 +0100 Subject: [PATCH] Update release notes, readme, contributors --- CONTRIBUTORS.md | 4 ++-- README.md | 27 ++++++++++++++------------- RELEASENOTES.md | 27 ++++++++++++++++++--------- docs/content/index.fsx | 7 ++++--- 4 files changed, 38 insertions(+), 27 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index eaf6ae06..9988a7aa 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -19,8 +19,8 @@ Feel free to add a link to your personal site/blog and/or twitter handle.* - [Marcus Cuda](http://marcuscuda.com/) - Jurgen Van Gael - Alexander Karatarakis (Danimoth) -- Gustavo Guerra - Thomas Ibel (tibel) +- Gustavo Guerra - Hani Medhat - manyue - Alexander Täschner (taschna) @@ -33,9 +33,9 @@ Feel free to add a link to your personal site/blog and/or twitter handle.* - Robin Neatherway - Anders Gustafsson (cureos) - Andrew Kazyrevich +- Candy Chiu - Ethar Alali - Iain McDonald (lifebeyondfife) -- Candy Chiu - Gauthier Segay - Gregor959 - IUser diff --git a/README.md b/README.md index a9f30c13..e5967cf6 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,14 @@ Installation Instructions The recommended way to get Math.NET Numerics is to use NuGet. The following packages are provided and maintained in the public [NuGet Gallery](https://nuget.org/profiles/mathnet/): -- `MathNet.Numerics` - core package, including .Net 4, .Net 3.5 and portable/PCL builds -- `MathNet.Numerics.FSharp` - optional extensions for a better F# experience -- `MathNet.Numerics.Data.Text` - optional extensions for text-based matrix input/output -- `MathNet.Numerics.Data.Matlab` - optional extensions for MATLAB matrix file input/output -- `MathNet.Numerics.MKL.Win-x86` - optional Linear Algebra MKL native provider -- `MathNet.Numerics.MKL.Win-x64` - optional Linear Algebra MKL native provider -- `MathNet.Numerics.Signed` - strong-named version of the core package *(not recommended)* -- `MathNet.Numerics.FSharp.Signed` - strong-named version of the F# package *(not recommended)* +- **MathNet.Numerics** - core package, including .Net 4, .Net 3.5 and portable/PCL builds. +- **MathNet.Numerics.FSharp** - optional extensions for a better F# experience. BigRational. +- **MathNet.Numerics.Data.Text** - optional extensions for text-based matrix input/output. +- **MathNet.Numerics.Data.Matlab** - optional extensions for MATLAB matrix file input/output. +- **MathNet.Numerics.MKL.Win-x86** - optional Linear Algebra MKL native provider. +- **MathNet.Numerics.MKL.Win-x64** - optional Linear Algebra MKL native provider. +- **MathNet.Numerics.Signed** - strong-named version of the core package *(not recommended)*. +- **MathNet.Numerics.FSharp.Signed** - strong-named version of the F# package *(not recommended)*. Alternatively you can also download the binaries in Zip packages, available on [CodePlex](http://mathnetnumerics.codeplex.com/releases): @@ -38,7 +38,7 @@ Supported Platforms: - .Net 4.0, .Net 3.5 and Mono: Windows, Linux and Mac. - PCL Portable Profiles 47 and 136: Silverlight 5, Windows Phone 8, .NET for Windows Store apps (Metro). -- PCL/Xamarin: Andoid, iOS +- PCL/Xamarin: Android, iOS *(not verified due to lack of license and devices)* Building Math.NET Numerics -------------------------- @@ -61,9 +61,10 @@ If you do not want to use the official binaries, or if you like to modify, debug build.cmd # normal build (.Net 4.0), run unit tests ./build.sh # normal build (.Net 4.0), run unit tests - on Linux or Mac - build.cmd Build # normal build (.Net 4.0) - build.cmd Build full # full build (.Net 3.5, 4.0, PCL) - build.cmd Build net35 # compatibility build (.Net 3.5) + build.cmd Build # normal build (.Net 4.0) + build.cmd Build incremental # normal build, incremental (.Net 4.0) + build.cmd Build full # full build (.Net 3.5, 4.0, PCL) + build.cmd Build net35 # compatibility build (.Net 3.5) build.cmd Test # normal build (.Net 4.0), run unit tests build.cmd Test full # full build (.Net 3.5, 4.0, PCL), run all unit tests @@ -81,7 +82,7 @@ Quick Links * [**Project Website**](http://numerics.mathdotnet.com) * [Source Code](http://github.com/mathnet/mathnet-numerics) * [Downloads](http://mathnetnumerics.codeplex.com/releases) -* [Documentation](http://mathnetnumerics.codeplex.com/documentation), see also new [experimental documentation](http://numerics.mathdotnet.com/docs/) +* [Documentation](http://numerics.mathdotnet.com/docs/) * [API Reference](http://numerics.mathdotnet.com/api/) * [Code Samples](http://github.com/mathnet/mathnet-numerics/tree/master/src/Examples) * [Discussions](http://mathnetnumerics.codeplex.com/discussions) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index abbd19c8..01c1994a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -45,10 +45,6 @@ Multiple alpha builds have been made available as NuGet pre-release packages. Th - Reworked redundancies, inconsistencies and unfortunate past design choices. - Significant namespace simplifications (-30%). -Known Issues: - -- F# vector slice setters do not work in VisualStudio 2013 (2012 is fine). Use `SetSubVector` or `SetSlice` instead. Slice getters are fine and matrices are not affected. - Changes as of now: ### Linear Algebra @@ -88,6 +84,7 @@ Changes as of now: - Various minor performance work. - Matrix.ClearSubMatrix no longer throws on 0 or negative col/row count (nop) - BUG: Fix bug in routine to copy a vector into a sub-row of a matrix. +- Both canonical modulus and remainder operations on matrices and vectors. ### Statistics @@ -96,11 +93,12 @@ Changes as of now: - Single-pass `MeanVariance` method (as used often together). - Some overloads for single-precision values. - Add `Ranks`, `QuantileRank` and `EmpiricalCDF`. +- F# module for higher order functions. ### Probability Distributions - New Trigangular distributionb *~Superbest* -- Add InvCDF to Gamma distribution. +- Add InvCDF to Gamma, Student-T, FisherSnedecor (F), and Beta distributions. - Major API cleanup, including xml docs - Xml doc and ToString now use well-known symbols for the parameters. - Direct static exposure of distributions functions (PDF, CDF, sometimes also InvCDF). @@ -108,9 +106,12 @@ Changes as of now: - All constructors now optionally accept a random source as last argument. - Use less problematic RNG-seeds by default, if no random source is provided. - Simpler and more composable random sampling from distributions. +- Much more distribution's actual sample distribution is verified in tests (all continuous, most discrete). - BUG: Fix hyper-geometric CDF semantics, clarify distribution parameters. +- BUG: Fix Zipf CDF at x=1. +- BUG: Fix Geometric distribution sampling. -### Random Number Generators ### +### Random Number Generators - Thread-safe System.Random available again as `SystemRandomSource`. - Fast and simple to use static `SystemRandomSource.Doubles` routine with lower randomness guarantees. @@ -128,7 +129,7 @@ Changes as of now: - Weighted polynomial and multi-dim fitting. - Use more efficient LA routines *~Thomas Ibel* -### Interpolation ### +### Interpolation - Return tuples instead of out parameter. - Reworked splines, drop complicated and limiting inheritance design. More functional approach. @@ -139,6 +140,8 @@ Changes as of now: ### Build & Packages +- FAKE-based build (in addition to existing Visual Studio solutions) to clean, build, test, document and package independently of the CI server. +- Finally proper documentation using FSharp.Formatting with sources included in the repository so it is versioned and can be contributed to with pull requests. - NuGet packages now also include the PCL portable profile 47 (.Net 4.5, Silverlight 5, Windows 8) in addition to the normal .Net 4.0 build and PCL profile 136 (.Net 4.0, WindowsPhone 8, Silverlight 5, Windows 8) as before. Profile 47 uses `System.Numerics` for complex numbers, among others, which is not available in profile 136. - NuGet packages now also include a .Net 3.5 build of the core library. - IO libraries have been removed, replaced with new `.Data` packages (see list on top). @@ -152,16 +155,22 @@ Changes as of now: - New distance functions in `Distance`: euclidean, manhattan, chebychev distance of arrays or generic vectors. SAD, MAE, SSD, MSE metrics. Pearson's, Canberra and Minkowski distance. Hamming distance. - Integration: simplification of the double-exponential transformation api design. - Windows: ported windowing functions from Neodym (Hamming, Hann, Cosine, Lanczos, Gauss, Blackmann, Bartlett, ...) -- Generate: ported synthetic data generation and sampling routines from Neodym (includes all from old Signals namespace) +- Generate: ported synthetic data generation and sampling routines from Neodym (includes all from old Signals namespace). F# module for higher order functions. - Euclid: modulus vs remainder, integer theory (includes all from old NumberTheory namespace). - Root Finding: explicit for Chebychev polynomials. -- Excel Functions: TDIST, GAMMADIST, GAMMAINV, QUARTILE, PERCENTRANK. +- Root Finding: explicit for Cubic polynomials. *~Candy Chiu* +- Excel Functions: TDIST, TINV, BETADIST, BETAINV, GAMMADIST, GAMMAINV, NORMDIST, NORMINV, NORMSDIST, NORMSINV QUARTILE, PERCENTILE, PERCENTRANK. - More robust complex Asin/Acos for large real numbers. - Complex: common short names for Exp, Ln, Log10, Log. - Complex: fix issue where a *negative zero* may flip the sign in special cases (like `Atanh(2)`, where incidentally MATLAB and Mathematica do not agree on the sign either). +- Complex: routines to return all two square and three cubic roots of a complex number. +- Evaluate: routine to evaluate complex polynomials, or real polynomials at a complex point. - Trig functions: common short names instead of very long names. Add sinc function. - Special Functions: Increase max iterations in BetaRegularized for large arguments. - Special Functions: new `GammaLowerRegularizedInv`. +- CommonParallel now also supported in .Net 3.5 and portable profiles; TaskScheduler can be replaced with custom implementation *~Thomas Ibel* +- F# code originally imported from F# PowerPack cleaned up *~Jack Pappas* +- F# functions now use the clearer `Func` suffix instead of just `F` if they return a function. - Precision: reworked, now much more consistent. **If you use `AlmostEqual` with numbers-between/ULP semantics, please do review your code to make sure you're still using the expected variant!**. If you use the decimal-places semantics, you may need to decrement the digits argument to get the same behavior as before. - Much less null checks, our code generally only throws `ArgumentNullException` if an unexpected null argument would *not* have caused an immediate `NullReferenceException`. - Tests now have category attributes (to selectively run or skip categories). diff --git a/docs/content/index.fsx b/docs/content/index.fsx index 07089a2a..fcda7660 100644 --- a/docs/content/index.fsx +++ b/docs/content/index.fsx @@ -55,9 +55,10 @@ If you do not want to use the official binaries, or if you like to modify, debug build.cmd # normal build (.Net 4.0), run unit tests ./build.sh # normal build (.Net 4.0), run unit tests - on Linux or Mac - build.cmd Build # normal build (.Net 4.0) - build.cmd Build full # full build (.Net 3.5, 4.0, PCL) - build.cmd Build net35 # compatibility build (.Net 3.5) + build.cmd Build # normal build (.Net 4.0) + build.cmd Build incremental # normal build, incremental (.Net 4.0) + build.cmd Build full # full build (.Net 3.5, 4.0, PCL) + build.cmd Build net35 # compatibility build (.Net 3.5) build.cmd Test # normal build (.Net 4.0), run unit tests build.cmd Test full # full build (.Net 3.5, 4.0, PCL), run all unit tests