From 46454cb5a3953de6f70da1830fcf0bbddae3fd1f Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Sat, 23 Aug 2014 11:29:57 +0200 Subject: [PATCH] iPython IfSharp F# profile integration in the F# package; update docs --- MathNet.Numerics.sln | 1 + build.fsx | 9 +++++ docs/content/IFsharpNotebook.fsx | 6 +-- docs/files/img/IfSharp-MatrixVector.png | Bin 56218 -> 47785 bytes src/FSharp/FSharp.fsproj | 1 + src/FSharp/MathNet.Numerics.IfSharp.fsx | 49 ++++++++++++++++++++++++ 6 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 src/FSharp/MathNet.Numerics.IfSharp.fsx diff --git a/MathNet.Numerics.sln b/MathNet.Numerics.sln index b3791751..bfb28cf0 100644 --- a/MathNet.Numerics.sln +++ b/MathNet.Numerics.sln @@ -45,6 +45,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{039229DA-A docs\content\Euclid.fsx = docs\content\Euclid.fsx docs\content\Functions.fsx = docs\content\Functions.fsx docs\content\Generate.fsx = docs\content\Generate.fsx + docs\content\IFsharpNotebook.fsx = docs\content\IFsharpNotebook.fsx docs\content\index.fsx = docs\content\index.fsx docs\content\IntegralTransforms.fsx = docs\content\IntegralTransforms.fsx docs\content\Integration.fsx = docs\content\Integration.fsx diff --git a/build.fsx b/build.fsx index e2eae04d..48400049 100644 --- a/build.fsx +++ b/build.fsx @@ -105,6 +105,7 @@ let fsharpPack = @"..\..\out\lib\Profile328\MathNet.Numerics.FSharp.*", Some libpcl328, None; @"..\..\out\lib\Profile328\MathNet.Numerics.FSharp.*", Some libpcl328, None; @"MathNet.Numerics.fsx", None, None; + @"MathNet.Numerics.IfSharp.fsx", None, None; @"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] } let numericsSignedPack = @@ -124,6 +125,7 @@ let fsharpSignedPack = Dependencies = [{ FrameworkVersion=""; Dependencies=[ "MathNet.Numerics.Signed", RequireExactly packageVersion ] }] Files = [ @"..\..\out\lib-signed\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None; @"MathNet.Numerics.fsx", None, None; + @"MathNet.Numerics.IfSharp.fsx", None, None; @"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] } let coreBundle = @@ -371,12 +373,18 @@ let provideFsLoader includes path = let references = [ for assembly in assemblies -> sprintf "#r \"%s\"" assembly ] ReplaceFile (path @@ "MathNet.Numerics.fsx") (nowarn @ includes @ references @ extraScript |> toLines) +let provideFsIfSharpLoader path = + let fullScript = ReadFile "src/FSharp/MathNet.Numerics.IfSharp.fsx" |> Array.ofSeq + let startIndex = fullScript |> Seq.findIndex (fun s -> s.Contains "***MathNet.Numerics.IfSharp.fsx***") + ReplaceFile (path @@ "MathNet.Numerics.IfSharp.fsx") (fullScript .[startIndex + 1 ..] |> toLines) + let provideZipExtraFiles path (bundle:Bundle) = provideLicense path provideReadme (sprintf "%s v%s" bundle.Title bundle.Version) bundle.ReleaseNotesFile path if bundle.FsLoader then let includes = [ for root in [ ""; "../"; "../../" ] -> sprintf "#I \"%sNet40\"" root ] provideFsLoader includes path + provideFsIfSharpLoader path let provideNuGetExtraFiles path (bundle:Bundle) (pack:Package) = provideLicense path @@ -385,6 +393,7 @@ let provideNuGetExtraFiles path (bundle:Bundle) (pack:Package) = let includes = [ for root in [ ""; "../"; "../../"; "../../../" ] do for package in bundle.Packages -> sprintf "#I \"%spackages/%s.%s/lib/net40/\"" root package.Id package.Version ] provideFsLoader includes path + provideFsIfSharpLoader path // ZIP diff --git a/docs/content/IFsharpNotebook.fsx b/docs/content/IFsharpNotebook.fsx index 351d02ae..dc3f08e6 100644 --- a/docs/content/IFsharpNotebook.fsx +++ b/docs/content/IFsharpNotebook.fsx @@ -33,11 +33,12 @@ Display Printers for Matrices and Vectors ----------------------------------------- By itself IfSharp does not know how to display matrices and vectors in a nice way, but we can tell it how to do so by providing our own display printers for them. +Since v3.3 the Math.NET Numerics F# package includes a script `MathNet.Numerics.IfSharp.fsx` to do so. +Unfortunately loading this script requires the exact version in the path - if you know a way to avoid this please let us know. ![Screenshot](img/IfSharp-MatrixVector.png) -Run the following snipped once within a notebook to render matrices and vectors with LaTeX/MathJax, and adapt it to your needs e.g. if you want it to show more rows. -Alternatively you can add it to an Includes.fsx file within the IfSharp installation to make it always available. +Alternatively you can also use the code below and adapt it to your needs, e.g. if you want it to show more rows. open MathNet.Numerics.LinearAlgebra @@ -86,5 +87,4 @@ Alternatively you can add it to an Includes.fsx file within the IfSharp installa App.AddDisplayPrinter (fun (x:Vector) -> { ContentType = "text/latex"; Data = formatVector x }) - *) diff --git a/docs/files/img/IfSharp-MatrixVector.png b/docs/files/img/IfSharp-MatrixVector.png index c842748f209fe11c4e8b1ec35f32beb51497c947..3d69ed3cb96095dda11d52b4ed4841a3ac0c8170 100644 GIT binary patch literal 47785 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 literal 56218 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 + diff --git a/src/FSharp/MathNet.Numerics.IfSharp.fsx b/src/FSharp/MathNet.Numerics.IfSharp.fsx new file mode 100644 index 00000000..8e330813 --- /dev/null +++ b/src/FSharp/MathNet.Numerics.IfSharp.fsx @@ -0,0 +1,49 @@ +#I "../../out/lib/Net40" +#r "MathNet.Numerics.dll" +#r "MathNet.Numerics.FSharp.dll" + +// ***MathNet.Numerics.IfSharp.fsx*** (DO NOT REMOVE THIS COMMENT, everything below is copied to the output) + +// This file is intended for the IfSharp F# profile for iPython only. See: +// http://numerics.mathdotnet.com/docs/IFSharpNotebook.html +// http://github.com/BayardRock/IfSharp +// http://ipython.org/ + +// Assumption: MathNet.Numerics and MathNet.Numerics.FSharp have been referenced already, using +// #N "MathNet.Numerics" +// #N "MathNet.Numerics.FSharp" + +open System +open MathNet.Numerics +open MathNet.Numerics.LinearAlgebra + +let inline (|Float|_|) (v:obj) = if v :? float then Some(v :?> float) else None +let inline (|Float32|_|) (v:obj) = if v :? float32 then Some(v :?> float32) else None +let inline (|PositiveInfinity|_|) (v: ^T) = if (^T : (static member IsPositiveInfinity: 'T -> bool) (v)) then Some PositiveInfinity else None +let inline (|NegativeInfinity|_|) (v: ^T) = if (^T : (static member IsNegativeInfinity: 'T -> bool) (v)) then Some NegativeInfinity else None +let inline (|NaN|_|) (v: ^T) = if (^T : (static member IsNaN: 'T -> bool) (v)) then Some NaN else None + +let inline formatMathValue (floatFormat:string) = function + | PositiveInfinity -> "\\infty" + | NegativeInfinity -> "-\\infty" + | NaN -> "\\times" + | Float v -> v.ToString(floatFormat) + | Float32 v -> v.ToString(floatFormat) + | v -> v.ToString() + +let inline formatMatrix (matrix: Matrix<'T>) = + String.concat Environment.NewLine + [ "\\begin{bmatrix}" + matrix.ToMatrixString(10, 4, 7, 2, "\\cdots", "\\vdots", "\\ddots", " & ", "\\\\ " + Environment.NewLine, (fun x -> formatMathValue "G4" x)) + "\\end{bmatrix}" ] + +let inline formatVector (vector: Vector<'T>) = + String.concat Environment.NewLine + [ "\\begin{bmatrix}" + vector.ToVectorString(12, 80, "\\vdots", " & ", "\\\\ " + Environment.NewLine, (fun x -> formatMathValue "G4" x)) + "\\end{bmatrix}" ] + +App.AddDisplayPrinter (fun (x:Matrix) -> { ContentType = "text/latex"; Data = formatMatrix x }) +App.AddDisplayPrinter (fun (x:Matrix) -> { ContentType = "text/latex"; Data = formatMatrix x }) +App.AddDisplayPrinter (fun (x:Vector) -> { ContentType = "text/latex"; Data = formatVector x }) +App.AddDisplayPrinter (fun (x:Vector) -> { ContentType = "text/latex"; Data = formatVector x })