From a97604768c9e052d9f5017ec961f411e557a9f40 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Sat, 11 Apr 2015 07:36:10 +0200 Subject: [PATCH] Docs: simplify home page, fix tooltips --- docs/content/index.md | 36 +++++++++++++++++------------ paket.dependencies | 2 +- paket.lock | 8 +++---- tools/paket/paket.bootstrapper.exe | Bin 13360 -> 24112 bytes 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/docs/content/index.md b/docs/content/index.md index 1ca6885a..77e228e1 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -8,24 +8,26 @@ regression, optimization problems and more. Math.NET Numerics is part of the [Math.NET initiative](http://www.mathdotnet.com/) and is the result of merging dnAnalytics with Math.NET Iridium, replacing both. -It targets Microsoft .Net 4, .Net 3.5 and Mono (Windows, Linux and Mac), -Silverlight 5, WindowsPhone 8, Windows 8/Store (PCL 47, 136) and Android/iOS (Xamarin). -In addition to a purely managed implementation it also supports native hardware -optimization. Available for free under the [MIT/X11 License](License.html). +Available for free under the [MIT/X11 License](License.html). +It targets Microsoft .Net 4, .Net 3.5 and Mono +(Windows, Linux and Mac), Silverlight 5, WindowsPhone 8 and 8.1, Windows 8/Store +(PCL 7, 47, 78, 259 and 328) and Android/iOS (Xamarin). In addition to a purely +managed implementation it also supports native hardware optimization. +See [Platform Support](Compatibility.html) for full details. NuGet Packages -------------- - [**MathNet.Numerics**](https://www.nuget.org/packages/MathNet.Numerics/) - core package -- [**MathNet.Numerics.FSharp**](https://www.nuget.org/packages/MathNet.Numerics.FSharp/) - optional extensions for a better F# experience. - -The packages support .Net 4.0, .Net 3.5 and Mono on Windows, Linux and Mac, -as well as PCL Portable Profiles 7, 47, 78, 259 and 328 for Windows 8, Silverlight 5, -Windows Phone/SL 8, Windows Phone 8.1. +- [**MathNet.Numerics.FSharp**](https://www.nuget.org/packages/MathNet.Numerics.FSharp/) - optional extensions for a better experience when using F#. See [NuGet & Binaries](Packages.html) for a complete list of our NuGet packages, -Zip files and the release archive, and [Platform Support](Compatibility.html) -for details on what platforms are supported and how their limitations are handled. +Zip files and the release archive. + + [hide] + #I "../../out/lib/net40" + #r "MathNet.Numerics.dll" + #r "MathNet.Numerics.FSharp.dll" Using Math.NET Numerics with C# ------------------------------- @@ -58,9 +60,15 @@ F# and F# Interactive Even though the core of Math.NET Numerics is written in C#, it aims to support F# just as well. In order to achieve this we recommend to reference the `MathNet.Numerics.FSharp` -package as well (in addition to `MathNet.Numerics`) which adds a few modules to make it more +package in addition to `MathNet.Numerics`, which adds a few modules to make it more idiomatic and includes arbitrary precision types (BigInteger, BigRational). + [lang=fsharp] + open MathNet.Numerics.LinearAlgebra + let m = matrix [[ 1.0; 2.0 ] + [ 3.0; 4.0 ]] + let m' = m.Inverse() + It also works well in the interactive F# environment (REPL) which can be launched with `fsharpi` on all platforms (including Linux). As a start let's enter the following lines into F# interactive. Append `;;` to the end of a line to run all code up to there @@ -68,9 +76,7 @@ immediately and print the result to the output. Use the tab key for auto-complet For convenience our F# packages include a small script that sets everything up properly: [lang=fsharp] - // this load statement is only needed in F# interactive, - // in a compiled F# project you'd use normal .Net assembly references. - #load "../packages/MathNet.Numerics.FSharp.3.0.0/MathNet.Numerics.fsx" + #load "../packages/MathNet.Numerics.FSharp/MathNet.Numerics.fsx" open MathNet.Numerics SpecialFunctions.Gamma(0.5) diff --git a/paket.dependencies b/paket.dependencies index 3c851371..8e59d7a2 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -19,4 +19,4 @@ nuget FsUnit ~> 1.3 nuget FAKE ~> 3.5 nuget NUnit.Runners ~> 2.6 nuget FSharp.Formatting !~> 2.4 -nuget NuGet.CommandLine \ No newline at end of file +nuget NuGet.CommandLine diff --git a/paket.lock b/paket.lock index bb253182..f99aa30a 100644 --- a/paket.lock +++ b/paket.lock @@ -3,11 +3,11 @@ NUGET specs: BenchShark (1.0.0) ConsoleDump (0.6.0.1) - FAKE (3.26.7) - FSharp.Compiler.Service (0.0.82) + FAKE (3.28.0) + FSharp.Compiler.Service (0.0.86) FSharp.Core (3.1.2.1) - FSharp.Formatting (2.7.5) - FSharp.Compiler.Service (>= 0.0.82) + FSharp.Formatting (2.8.0) + FSharp.Compiler.Service (>= 0.0.86) FSharpVSPowerTools.Core (>= 1.7.0) FSharpVSPowerTools.Core (1.7.0) FSharp.Compiler.Service (>= 0.0.81) diff --git a/tools/paket/paket.bootstrapper.exe b/tools/paket/paket.bootstrapper.exe index e2adf7bb359d96cb3cae721a18ff1fadeb919ef0..fe6adc077f4e87dcc2f2cd54ba4e2dd92cc33561 100644 GIT binary patch literal 24112 zcmeHv34Bx4*6%(i$w_jWrX=aWRC*|bp+iV1gJ6M)$G+1IzS z)*q7U6}d+7)Ja}XFerzmDxah@1SNk^DlDsz>f~ylD>hc_uZb=%BBX@Vkw>2%I5pDS z5yEpZTnr&&KoM1H@Df}leCOdywUcn+RlQLn0tNKbhA-%I`*RrAylV*Q#{P9&HI(w= zBSG%Pv@nklce@ba6M@I$+DwQAmoH`$(i_)5{gDVUMKPOzPl&=@Vc+5~@bG8=)UmNb z@92*Ntz1e-@q);7n}-4wnu~ALCl?f#;tR-Nq`Fd_sSP@H2sD?Fd|Wzx%BfxPp}O(J zK%RCHGBlIGc04JKGAm>H6QB>jl*6o~rSiHfSOEm6q7qmE1YLx{3LwDyR1Q|Sjdx-g zBCm5|LIhs##Fz!%;6!tQx9Xi>64KDh5NX8!Zte~{dZ7N2Jx$RFc2IoLr(t0WrVI=Ahh%IU(R&cDLc!!=jjHpaQ zKQX#Yi&5E$lCv+E;YGLzm|5yUxG?WAb!Xi<1RFY>eXmVOO1T7(^{Z;)FxrfXDH-?L zFqP0uT!y8g&$Pv#6|ho;P(P5GDT&dY&?Mca&$RMqg~7CX0ID5&o1U(n^kwj7wW*ud z!6sreB{8}a9+kcfN~s)Klmqi5Hd7L#({+~~YtA$-!z7C7m|bcKhvBd&WWcqU!`cj} zQ+?Jim))dfW^pIQ0X=*-@w}GJv(?zHdA5>cub5ZX-#Y>pQ;Rlm=fK(#B`G} zaSfeXQO*V()FhRfq)~^d)b1*^yG9+ss8k=fW{apU%{DXZ(#*Pq_+oI&BUM2?B0B1f zJ=Vx$8PP0b3qapG`66~rLmbkPE$~P9yiIecQ`Di92|TH{=vd5fW6q6OJIpnw^+)aiH16P=}ty3nPmc=QyTKFJtmW#4P6!T+PbY5UZR4 zaKcEU12d;jat@_cNlq9@jGlijUI}FV1MO=VQBhrNtbo;r_@WY60R+S*mB0!hAQGws zRsaFcr4m>H1guw;zzQHB@~H$?APzTAu=WVTgiY4~OY)+S*-f$NFqTUJLc^i?5QhuVw1i9wvlEPR4#Oy9+erqW zsIg@BR+%#5RVKDpG@hh1wJx)_DlQ{lV1lA~5;}F|vPX9;PegyHkLsMcXTD0Z3+i}G zs#LpCMa?!-hSg@y5bc7^7#UxO2z7jkh$nO|7h*k#(Q}D`@zg;vb_%o0c@Ytpk#cSDTH`U!{tO=WLOnZPA;LBv?09mA}q=*kVfaX0y42X+ITTBMo{Yv z*djC1lVbQ~$feYsbSefNngj{Wl*H&XuT6Iv0g$Xsre=c%Wz<}V&tRq5t?GN9@k{%l zm5j}qaf+Ejl5+}#DaW9SPKF91zZ4mnUdHMWoRz?xAZq!nj$|MPBJSEk(?F!T1b+qP zwi$I-P{B6iSz$VALeNqaZN{kH%0Z5aP%thisk$UvF+EVD3R0V3FoFyN3l^hEMqgrP zFO9<#kwM2mvmPNmM)?uitGmxfH_@3%!k!%6IgBD^UZP2mv516>vS`d

^`lM@V$+ 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 delta 3633 zcmZuzdt6j?7C-mSotb-wnG1J@c=;MYWq1uU4C+dNAc$ZoBqAz47-EFkkUQMDrc^qk zJ=6+IFKW1!o3^GsTm&)F%(XUm*{s~OR(hc2tI~AKS`$t8{4U`3$NoO^`<`>Yzw

  • 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 ak3II??5w>pje!@RKAClG