csharpfftfsharpintegrationinterpolationlinear-algebramathdifferentiationmatrixnumericsrandomregressionstatisticsmathnet
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
286 lines
41 KiB
286 lines
41 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>IF# Notebook
|
|
</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<meta name="author" content="Christoph Ruegg, Marcus Cuda, Jurgen Van Gael">
|
|
|
|
<link rel="stylesheet" id="theme_link" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.6.0/materia/bootstrap.min.css">
|
|
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
|
|
|
|
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML"></script>
|
|
|
|
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
|
|
<link type="text/css" rel="stylesheet" href="https://numerics.mathdotnet.com/content/navbar-fixed-left.css" />
|
|
<link type="text/css" rel="stylesheet" href="https://numerics.mathdotnet.com/content/fsdocs-default.css" />
|
|
<link type="text/css" rel="stylesheet" href="https://numerics.mathdotnet.com/content/fsdocs-custom.css" />
|
|
<script type="text/javascript" src="https://numerics.mathdotnet.com/content/fsdocs-tips.js"></script>
|
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
|
<!--[if lt IE 9]>
|
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
|
<![endif]-->
|
|
<!-- BEGIN SEARCH BOX: this adds support for the search box -->
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/JavaScript-autoComplete/1.0.4/auto-complete.css" />
|
|
<!-- END SEARCH BOX: this adds support for the search box -->
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<nav class="navbar navbar-expand-md navbar-light bg-secondary fixed-left" id="fsdocs-nav">
|
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse navbar-nav-scroll" id="navbarsExampleDefault">
|
|
<a href="https://numerics.mathdotnet.com/"><img id="fsdocs-logo" src="/logo.png" /></a>
|
|
<!-- BEGIN SEARCH BOX: this adds support for the search box -->
|
|
<div id="header">
|
|
<div class="searchbox" id="fsdocs-searchbox">
|
|
<label for="search-by">
|
|
<i class="fas fa-search"></i>
|
|
</label>
|
|
<input data-search-input="" id="search-by" type="search" placeholder="Search..." />
|
|
<span data-search-clear="">
|
|
<i class="fas fa-times"></i>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<!-- END SEARCH BOX: this adds support for the search box -->
|
|
<ul class="navbar-nav">
|
|
<li class="nav-header">Math.NET Numerics</li>
|
|
<li class="nav-item"><a class="nav-link" href="Packages.html">NuGet & Binaries</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="ReleaseNotes.html">Release Notes</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="https://github.com/mathnet/mathnet-numerics/blob/master/LICENSE.md">MIT License</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Compatibility.html">Platform Support</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="https://numerics.mathdotnet.com/api/">Class Reference</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="https://github.com/mathnet/mathnet-numerics/issues">Issues & Bugs</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Users.html">Who is using Math.NET?</a></li>
|
|
|
|
<li class="nav-header">Contributing</li>
|
|
<li class="nav-item"><a class="nav-link" href="Contributors.html">Contributors</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Contributing.html">Contributing</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Build.html">Build & Tools</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="https://github.com/mathnet/mathnet-numerics/discussions/categories/ideas">Your Ideas</a></li>
|
|
|
|
<li class="nav-header">Getting Help</li>
|
|
<li class="nav-item"><a class="nav-link" href="https://discuss.mathdotnet.com/c/numerics">Discuss</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="https://stackoverflow.com/questions/tagged/mathdotnet">Stack Overflow</a></li>
|
|
|
|
<li class="nav-header">Getting Started</li>
|
|
<l class="nav-item"i><a class="nav-link" href="/">Getting started</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Constants.html">Constants</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Matrix.html">Matrices and Vectors</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Euclid.html">Euclid & Number Theory</a></li>
|
|
<li class="nav-item">Combinatorics</li>
|
|
|
|
<li class="nav-header">Evaluation</li>
|
|
<li class="nav-item"><a class="nav-link" href="Functions.html">Special Functions</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Integration.html">Integration</a></li>
|
|
|
|
<li class="nav-header">Statistics/Probability</li>
|
|
<li class="nav-item"><a class="nav-link" href="DescriptiveStatistics.html">Descriptive Statistics</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Probability.html">Probability Distributions</a></li>
|
|
|
|
<li class="nav-header">Generation</li>
|
|
<li class="nav-item"><a class="nav-link" href="Generate.html">Generating Data</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="Random.html">Random Numbers</a></li>
|
|
|
|
<li class="nav-header">Solving Equations</li>
|
|
<li class="nav-item"><a class="nav-link" href="LinearEquations.html">Linear Equation Systems</a></li>
|
|
|
|
<li class="nav-header">Optimization</li>
|
|
<li class="nav-item"><a class="nav-link" href="Distance.html">Distance Metrics</a></li>
|
|
|
|
<li class="nav-header">Curve Fitting</li>
|
|
<li class="nav-item"><a class="nav-link" href="Regression.html">Regression</a></li>
|
|
|
|
<li class="nav-header">Native Providers</li>
|
|
<li class="nav-item"><a class="nav-link" href="MKL.html">Intel MKL</a></li>
|
|
|
|
<li class="nav-header">Working Together</li>
|
|
<li class="nav-item"><a class="nav-link" href="CSV.html">Delimited Text Files (CSV)</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="MatrixMarket.html">NIST MatrixMarket</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="MatlabFiles.html">MATLAB</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="IFSharpNotebook.html">IF# Notebook</a></li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
<div class="container">
|
|
<div class="masthead">
|
|
<h3 class="muted">
|
|
<a href="https://numerics.mathdotnet.com">Math.NET Numerics</a> |
|
|
<a href="https://www.mathdotnet.com">Math.NET Project</a> |
|
|
<a href="https://github.com/mathnet/mathnet-numerics">GitHub</a>
|
|
</h3>
|
|
</div>
|
|
<hr />
|
|
<div class="container" id="fsdocs-content">
|
|
<h1><a name="IF-Notebook" class="anchor" href="#IF-Notebook">IF# Notebook</a></h1>
|
|
<p><a href="https://ipython.org/">iPython</a> provides a rich browser-based interactive notebook with support for code, text, mathematical expressions,
|
|
inline plots and other rich media. <a href="https://github.com/BayardRock/IfSharp">IfSharp</a>, developed by Bayard Rock, is an F# profile
|
|
for iPython with IntelliSense and embedded FSharp.Charting. Thanks to its NuGet support it can load other packages like Math.NET Numerics on demand.</p>
|
|
<p><img src="img/IfSharp-GenerateIS.png" alt="Screenshot" /></p>
|
|
<h2><a name="Installing-IF-Notebook" class="anchor" href="#Installing-IF-Notebook">Installing IF# Notebook</a></h2>
|
|
<p>Follow the instructions at <a href="https://bayardrock.github.io/IfSharp/installation.html">IfSharp/Installation</a>.</p>
|
|
<p>Essentially:</p>
|
|
<ol>
|
|
<li><p>Install <a href="https://continuum.io/downloads">Anaconda</a></p></li>
|
|
<li>
|
|
<p>In a shell, run</p>
|
|
<p>conda update conda
|
|
conda update ipython</p>
|
|
</li>
|
|
<li><p>Install <a href="https://github.com/BayardRock/IfSharp/releases">IfSharp</a>.</p></li>
|
|
</ol>
|
|
<h2><a name="Display-Printers-for-Matrices-and-Vectors" class="anchor" href="#Display-Printers-for-Matrices-and-Vectors">Display Printers for Matrices and Vectors</a></h2>
|
|
<p>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 <code>MathNet.Numerics.IfSharp.fsx</code> 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.</p>
|
|
<p><img src="img/IfSharp-MatrixVector.png" alt="Screenshot" /></p>
|
|
<p>Alternatively you can also use the code below and adapt it to your needs, e.g. if you want it to show more rows.</p>
|
|
<pre class="fssnip highlighted"><code lang="fsharp"><span class="k">open</span> <span class="id">MathNet</span><span class="pn">.</span><span class="id">Numerics</span><span class="pn">.</span><span class="id">LinearAlgebra</span>
|
|
|
|
<span class="k">let</span> <span class="k">inline</span> <span class="pn">(</span><span class="fn">|</span><span class="uc">Float</span><span class="pn">|</span><span class="id">_</span><span class="pn">|</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs1', 1)" onmouseover="showTip(event, 'fs1', 1)" class="fn">v</span><span class="pn">:</span><span onmouseout="hideTip(event, 'fs2', 2)" onmouseover="showTip(event, 'fs2', 2)" class="rt">obj</span><span class="pn">)</span> <span class="o">=</span>
|
|
<span class="k">if</span> <span onmouseout="hideTip(event, 'fs1', 3)" onmouseover="showTip(event, 'fs1', 3)" class="fn">v</span> <span class="o">:?</span> <span onmouseout="hideTip(event, 'fs3', 4)" onmouseover="showTip(event, 'fs3', 4)" class="vt">float</span> <span class="k">then</span> <span onmouseout="hideTip(event, 'fs4', 5)" onmouseover="showTip(event, 'fs4', 5)" class="uc">Some</span><span class="pn">(</span><span onmouseout="hideTip(event, 'fs1', 6)" onmouseover="showTip(event, 'fs1', 6)" class="fn">v</span> <span class="o">:?></span> <span onmouseout="hideTip(event, 'fs3', 7)" onmouseover="showTip(event, 'fs3', 7)" class="vt">float</span><span class="pn">)</span> <span class="k">else</span> <span onmouseout="hideTip(event, 'fs5', 8)" onmouseover="showTip(event, 'fs5', 8)" class="uc">None</span>
|
|
<span class="k">let</span> <span class="k">inline</span> <span class="pn">(</span><span class="fn">|</span><span class="uc">Float32</span><span class="pn">|</span><span class="id">_</span><span class="pn">|</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs1', 9)" onmouseover="showTip(event, 'fs1', 9)" class="fn">v</span><span class="pn">:</span><span onmouseout="hideTip(event, 'fs2', 10)" onmouseover="showTip(event, 'fs2', 10)" class="rt">obj</span><span class="pn">)</span> <span class="o">=</span>
|
|
<span class="k">if</span> <span onmouseout="hideTip(event, 'fs1', 11)" onmouseover="showTip(event, 'fs1', 11)" class="fn">v</span> <span class="o">:?</span> <span onmouseout="hideTip(event, 'fs6', 12)" onmouseover="showTip(event, 'fs6', 12)" class="vt">float32</span> <span class="k">then</span> <span onmouseout="hideTip(event, 'fs4', 13)" onmouseover="showTip(event, 'fs4', 13)" class="uc">Some</span><span class="pn">(</span><span onmouseout="hideTip(event, 'fs1', 14)" onmouseover="showTip(event, 'fs1', 14)" class="fn">v</span> <span class="o">:?></span> <span onmouseout="hideTip(event, 'fs6', 15)" onmouseover="showTip(event, 'fs6', 15)" class="vt">float32</span><span class="pn">)</span> <span class="k">else</span> <span onmouseout="hideTip(event, 'fs5', 16)" onmouseover="showTip(event, 'fs5', 16)" class="uc">None</span>
|
|
<span class="k">let</span> <span class="k">inline</span> <span class="pn">(</span><span class="fn">|</span><span class="uc">PositiveInfinity</span><span class="pn">|</span><span class="id">_</span><span class="pn">|</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs7', 17)" onmouseover="showTip(event, 'fs7', 17)" class="fn">v</span><span class="pn">:</span> <span class="ta">^</span><span class="id">T</span><span class="pn">)</span> <span class="o">=</span>
|
|
<span class="k">if</span> <span class="pn">(</span><span class="ta">^</span><span class="id">T</span> <span class="pn">:</span> <span class="pn">(</span><span class="k">static</span> <span class="k">member</span> <span class="fn">IsPositiveInfinity</span><span class="pn">:</span> <span class="ta">'</span><span class="id">T</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs8', 18)" onmouseover="showTip(event, 'fs8', 18)" class="vt">bool</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs7', 19)" onmouseover="showTip(event, 'fs7', 19)" class="fn">v</span><span class="pn">)</span><span class="pn">)</span>
|
|
<span class="k">then</span> <span onmouseout="hideTip(event, 'fs4', 20)" onmouseover="showTip(event, 'fs4', 20)" class="uc">Some</span> <span class="uc">PositiveInfinity</span> <span class="k">else</span> <span onmouseout="hideTip(event, 'fs5', 21)" onmouseover="showTip(event, 'fs5', 21)" class="uc">None</span>
|
|
<span class="k">let</span> <span class="k">inline</span> <span class="pn">(</span><span class="fn">|</span><span class="uc">NegativeInfinity</span><span class="pn">|</span><span class="id">_</span><span class="pn">|</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs9', 22)" onmouseover="showTip(event, 'fs9', 22)" class="fn">v</span><span class="pn">:</span> <span class="ta">^</span><span class="id">T</span><span class="pn">)</span> <span class="o">=</span>
|
|
<span class="k">if</span> <span class="pn">(</span><span class="ta">^</span><span class="id">T</span> <span class="pn">:</span> <span class="pn">(</span><span class="k">static</span> <span class="k">member</span> <span class="fn">IsNegativeInfinity</span><span class="pn">:</span> <span class="ta">'</span><span class="id">T</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs8', 23)" onmouseover="showTip(event, 'fs8', 23)" class="vt">bool</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs9', 24)" onmouseover="showTip(event, 'fs9', 24)" class="fn">v</span><span class="pn">)</span><span class="pn">)</span>
|
|
<span class="k">then</span> <span onmouseout="hideTip(event, 'fs4', 25)" onmouseover="showTip(event, 'fs4', 25)" class="uc">Some</span> <span class="uc">NegativeInfinity</span> <span class="k">else</span> <span onmouseout="hideTip(event, 'fs5', 26)" onmouseover="showTip(event, 'fs5', 26)" class="uc">None</span>
|
|
<span class="k">let</span> <span class="k">inline</span> <span class="pn">(</span><span class="fn">|</span><span class="uc">NaN</span><span class="pn">|</span><span class="id">_</span><span class="pn">|</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs10', 27)" onmouseover="showTip(event, 'fs10', 27)" class="fn">v</span><span class="pn">:</span> <span class="ta">^</span><span class="id">T</span><span class="pn">)</span> <span class="o">=</span>
|
|
<span class="k">if</span> <span class="pn">(</span><span class="ta">^</span><span class="id">T</span> <span class="pn">:</span> <span class="pn">(</span><span class="k">static</span> <span class="k">member</span> <span class="fn">IsNaN</span><span class="pn">:</span> <span class="ta">'</span><span class="id">T</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs8', 28)" onmouseover="showTip(event, 'fs8', 28)" class="vt">bool</span><span class="pn">)</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs10', 29)" onmouseover="showTip(event, 'fs10', 29)" class="fn">v</span><span class="pn">)</span><span class="pn">)</span>
|
|
<span class="k">then</span> <span onmouseout="hideTip(event, 'fs4', 30)" onmouseover="showTip(event, 'fs4', 30)" class="uc">Some</span> <span class="uc">NaN</span> <span class="k">else</span> <span onmouseout="hideTip(event, 'fs5', 31)" onmouseover="showTip(event, 'fs5', 31)" class="uc">None</span>
|
|
|
|
<span class="k">let</span> <span class="k">inline</span> <span onmouseout="hideTip(event, 'fs11', 32)" onmouseover="showTip(event, 'fs11', 32)" class="fn">formatMathValue</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs12', 33)" onmouseover="showTip(event, 'fs12', 33)" class="fn">floatFormat</span><span class="pn">:</span><span onmouseout="hideTip(event, 'fs13', 34)" onmouseover="showTip(event, 'fs13', 34)" class="rt">string</span><span class="pn">)</span> <span class="o">=</span> <span class="k">function</span>
|
|
<span class="pn">|</span> <span onmouseout="hideTip(event, 'fs14', 35)" onmouseover="showTip(event, 'fs14', 35)" class="uc">PositiveInfinity</span> <span class="k">-></span> <span class="s">"\\infty"</span>
|
|
<span class="pn">|</span> <span onmouseout="hideTip(event, 'fs15', 36)" onmouseover="showTip(event, 'fs15', 36)" class="uc">NegativeInfinity</span> <span class="k">-></span> <span class="s">"-\\infty"</span>
|
|
<span class="pn">|</span> <span onmouseout="hideTip(event, 'fs16', 37)" onmouseover="showTip(event, 'fs16', 37)" class="uc">NaN</span> <span class="k">-></span> <span class="s">"\\times"</span>
|
|
<span class="pn">|</span> <span onmouseout="hideTip(event, 'fs17', 38)" onmouseover="showTip(event, 'fs17', 38)" class="uc">Float</span> <span onmouseout="hideTip(event, 'fs18', 39)" onmouseover="showTip(event, 'fs18', 39)" class="fn">v</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs18', 40)" onmouseover="showTip(event, 'fs18', 40)" class="fn">v</span><span class="pn">.</span><span onmouseout="hideTip(event, 'fs19', 41)" onmouseover="showTip(event, 'fs19', 41)" class="id">ToString</span><span class="pn">(</span><span onmouseout="hideTip(event, 'fs12', 42)" onmouseover="showTip(event, 'fs12', 42)" class="fn">floatFormat</span><span class="pn">)</span>
|
|
<span class="pn">|</span> <span onmouseout="hideTip(event, 'fs20', 43)" onmouseover="showTip(event, 'fs20', 43)" class="uc">Float32</span> <span onmouseout="hideTip(event, 'fs21', 44)" onmouseover="showTip(event, 'fs21', 44)" class="fn">v</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs21', 45)" onmouseover="showTip(event, 'fs21', 45)" class="fn">v</span><span class="pn">.</span><span onmouseout="hideTip(event, 'fs22', 46)" onmouseover="showTip(event, 'fs22', 46)" class="id">ToString</span><span class="pn">(</span><span onmouseout="hideTip(event, 'fs12', 47)" onmouseover="showTip(event, 'fs12', 47)" class="fn">floatFormat</span><span class="pn">)</span>
|
|
<span class="pn">|</span> <span onmouseout="hideTip(event, 'fs23', 48)" onmouseover="showTip(event, 'fs23', 48)" class="fn">v</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs23', 49)" onmouseover="showTip(event, 'fs23', 49)" class="fn">v</span><span class="pn">.</span><span onmouseout="hideTip(event, 'fs24', 50)" onmouseover="showTip(event, 'fs24', 50)" class="id">ToString</span><span class="pn">(</span><span class="pn">)</span>
|
|
|
|
<span class="k">let</span> <span class="k">inline</span> <span onmouseout="hideTip(event, 'fs25', 51)" onmouseover="showTip(event, 'fs25', 51)" class="fn">formatMatrix</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs26', 52)" onmouseover="showTip(event, 'fs26', 52)" class="fn">matrix</span><span class="pn">:</span> <span class="id">Matrix</span><span class="pn"><</span><span class="id">'</span><span class="id">T</span><span class="pn">></span><span class="pn">)</span> <span class="o">=</span>
|
|
<span onmouseout="hideTip(event, 'fs27', 53)" onmouseover="showTip(event, 'fs27', 53)" class="m">String</span><span class="pn">.</span><span onmouseout="hideTip(event, 'fs28', 54)" onmouseover="showTip(event, 'fs28', 54)" class="id">concat</span> <span class="id">Environment</span><span class="pn">.</span><span class="id">NewLine</span>
|
|
<span class="pn">[</span> <span class="s">"\\begin{bmatrix}"</span>
|
|
<span onmouseout="hideTip(event, 'fs26', 55)" onmouseover="showTip(event, 'fs26', 55)" class="fn">matrix</span><span class="pn">.</span><span class="id">ToMatrixString</span><span class="pn">(</span><span class="n">10</span><span class="pn">,</span><span class="n">4</span><span class="pn">,</span><span class="n">7</span><span class="pn">,</span><span class="n">2</span><span class="pn">,</span><span class="s">"\\cdots"</span><span class="pn">,</span><span class="s">"\\vdots"</span><span class="pn">,</span><span class="s">"\\ddots"</span><span class="pn">,</span>
|
|
<span class="s">" & "</span><span class="pn">,</span> <span class="s">"\\\\ "</span> <span class="o">+</span> <span class="id">Environment</span><span class="pn">.</span><span class="id">NewLine</span><span class="pn">,</span> <span class="pn">(</span><span class="k">fun</span> <span class="id">x</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs11', 56)" onmouseover="showTip(event, 'fs11', 56)" class="id">formatMathValue</span> <span class="s">"G4"</span> <span class="id">x</span><span class="pn">)</span><span class="pn">)</span>
|
|
<span class="s">"\\end{bmatrix}"</span> <span class="pn">]</span>
|
|
|
|
<span class="k">let</span> <span class="k">inline</span> <span onmouseout="hideTip(event, 'fs29', 57)" onmouseover="showTip(event, 'fs29', 57)" class="fn">formatVector</span> <span class="pn">(</span><span onmouseout="hideTip(event, 'fs30', 58)" onmouseover="showTip(event, 'fs30', 58)" class="fn">vector</span><span class="pn">:</span> <span onmouseout="hideTip(event, 'fs31', 59)" onmouseover="showTip(event, 'fs31', 59)" class="vt">Vector</span><span class="pn"><</span><span class="ta">'</span><span class="id">T</span><span class="pn">></span><span class="pn">)</span> <span class="o">=</span>
|
|
<span onmouseout="hideTip(event, 'fs27', 60)" onmouseover="showTip(event, 'fs27', 60)" class="m">String</span><span class="pn">.</span><span onmouseout="hideTip(event, 'fs28', 61)" onmouseover="showTip(event, 'fs28', 61)" class="id">concat</span> <span class="id">Environment</span><span class="pn">.</span><span class="id">NewLine</span>
|
|
<span class="pn">[</span> <span class="s">"\\begin{bmatrix}"</span>
|
|
<span onmouseout="hideTip(event, 'fs30', 62)" onmouseover="showTip(event, 'fs30', 62)" class="fn">vector</span><span class="pn">.</span><span class="id">ToVectorString</span><span class="pn">(</span><span class="n">12</span><span class="pn">,</span> <span class="n">80</span><span class="pn">,</span> <span class="s">"\\vdots"</span><span class="pn">,</span> <span class="s">" & "</span><span class="pn">,</span> <span class="s">"\\\\ "</span> <span class="o">+</span> <span class="id">Environment</span><span class="pn">.</span><span class="id">NewLine</span><span class="pn">,</span>
|
|
<span class="pn">(</span><span class="k">fun</span> <span class="id">x</span> <span class="k">-></span> <span onmouseout="hideTip(event, 'fs11', 63)" onmouseover="showTip(event, 'fs11', 63)" class="id">formatMathValue</span> <span class="s">"G4"</span> <span class="id">x</span><span class="pn">)</span><span class="pn">)</span>
|
|
<span class="s">"\\end{bmatrix}"</span> <span class="pn">]</span>
|
|
|
|
<span class="id">App</span><span class="pn">.</span><span class="id">AddDisplayPrinter</span> <span class="pn">(</span><span class="k">fun</span> <span class="pn">(</span><span class="id">x</span><span class="pn">:</span><span class="id">Matrix</span><span class="pn"><</span><span onmouseout="hideTip(event, 'fs3', 64)" onmouseover="showTip(event, 'fs3', 64)" class="id">float</span><span class="pn">></span><span class="pn">)</span> <span class="k">-></span>
|
|
<span class="pn">{</span> <span class="id">ContentType</span> <span class="o">=</span> <span class="s">"text/latex"</span><span class="pn">;</span> <span onmouseout="hideTip(event, 'fs32', 65)" onmouseover="showTip(event, 'fs32', 65)" class="id">Data</span> <span class="o">=</span> <span onmouseout="hideTip(event, 'fs25', 66)" onmouseover="showTip(event, 'fs25', 66)" class="id">formatMatrix</span> <span class="id">x</span> <span class="pn">}</span><span class="pn">)</span>
|
|
<span class="id">App</span><span class="pn">.</span><span class="id">AddDisplayPrinter</span> <span class="pn">(</span><span class="k">fun</span> <span class="pn">(</span><span class="id">x</span><span class="pn">:</span><span class="id">Matrix</span><span class="pn"><</span><span onmouseout="hideTip(event, 'fs6', 67)" onmouseover="showTip(event, 'fs6', 67)" class="id">float32</span><span class="pn">></span><span class="pn">)</span> <span class="k">-></span>
|
|
<span class="pn">{</span> <span class="id">ContentType</span> <span class="o">=</span> <span class="s">"text/latex"</span><span class="pn">;</span> <span onmouseout="hideTip(event, 'fs32', 68)" onmouseover="showTip(event, 'fs32', 68)" class="id">Data</span> <span class="o">=</span> <span onmouseout="hideTip(event, 'fs25', 69)" onmouseover="showTip(event, 'fs25', 69)" class="id">formatMatrix</span> <span class="id">x</span> <span class="pn">}</span><span class="pn">)</span>
|
|
<span class="id">App</span><span class="pn">.</span><span class="id">AddDisplayPrinter</span> <span class="pn">(</span><span class="k">fun</span> <span class="pn">(</span><span class="id">x</span><span class="pn">:</span><span onmouseout="hideTip(event, 'fs31', 70)" onmouseover="showTip(event, 'fs31', 70)" class="id">Vector</span><span class="pn"><</span><span onmouseout="hideTip(event, 'fs3', 71)" onmouseover="showTip(event, 'fs3', 71)" class="id">float</span><span class="pn">></span><span class="pn">)</span> <span class="k">-></span>
|
|
<span class="pn">{</span> <span class="id">ContentType</span> <span class="o">=</span> <span class="s">"text/latex"</span><span class="pn">;</span> <span onmouseout="hideTip(event, 'fs32', 72)" onmouseover="showTip(event, 'fs32', 72)" class="id">Data</span> <span class="o">=</span> <span onmouseout="hideTip(event, 'fs29', 73)" onmouseover="showTip(event, 'fs29', 73)" class="id">formatVector</span> <span class="id">x</span> <span class="pn">}</span><span class="pn">)</span>
|
|
<span class="id">App</span><span class="pn">.</span><span class="id">AddDisplayPrinter</span> <span class="pn">(</span><span class="k">fun</span> <span class="pn">(</span><span class="id">x</span><span class="pn">:</span><span onmouseout="hideTip(event, 'fs31', 74)" onmouseover="showTip(event, 'fs31', 74)" class="id">Vector</span><span class="pn"><</span><span onmouseout="hideTip(event, 'fs6', 75)" onmouseover="showTip(event, 'fs6', 75)" class="id">float32</span><span class="pn">></span><span class="pn">)</span> <span class="k">-></span>
|
|
<span class="pn">{</span> <span class="id">ContentType</span> <span class="o">=</span> <span class="s">"text/latex"</span><span class="pn">;</span> <span onmouseout="hideTip(event, 'fs32', 76)" onmouseover="showTip(event, 'fs32', 76)" class="id">Data</span> <span class="o">=</span> <span onmouseout="hideTip(event, 'fs29', 77)" onmouseover="showTip(event, 'fs29', 77)" class="id">formatVector</span> <span class="id">x</span> <span class="pn">}</span><span class="pn">)</span>
|
|
</code></pre>
|
|
|
|
<div class="fsdocs-tip" id="fs1">val v : obj</div>
|
|
<div class="fsdocs-tip" id="fs2">type obj = System.Object<br /><em><summary>An abbreviation for the CLI type <see cref="T:System.Object" />.</summary><br /><category>Basic Types</category></em></div>
|
|
<div class="fsdocs-tip" id="fs3">Multiple items<br />val float : value:'T -> float (requires member op_Explicit)<br /><em><summary>Converts the argument to 64-bit float. This is a direct conversion for all
|
|
primitive numeric types. For strings, the input is converted using <c>Double.Parse()</c>
|
|
with InvariantCulture settings. Otherwise the operation requires an appropriate
|
|
static conversion method on the input type.</summary><br /><param name="value">The input value.</param><br /><returns>The converted float</returns></em><br /><br />--------------------<br />[<Struct>]
|
|
type float = System.Double<br /><em><summary>An abbreviation for the CLI type <see cref="T:System.Double" />.</summary><br /><category>Basic Types</category></em><br /><br />--------------------<br />type float<'Measure> =
|
|
float<br /><em><summary>The type of double-precision floating point numbers, annotated with a unit of measure.
|
|
The unit of measure is erased in compiled code and when values of this type
|
|
are analyzed using reflection. The type is representationally equivalent to
|
|
<see cref="T:System.Double" />.</summary><br /><category index="6">Basic Types with Units of Measure</category></em></div>
|
|
<div class="fsdocs-tip" id="fs4">Union-Fall Option.Some: Value: 'T -> Option<'T><br /><em><summary>The representation of "Value of type 'T"</summary><br /><param name="Value">The input value.</param><br /><returns>An option representing the value.</returns></em></div>
|
|
<div class="fsdocs-tip" id="fs5">Union-Fall Option.None: Option<'T><br /><em><summary>The representation of "No value"</summary></em></div>
|
|
<div class="fsdocs-tip" id="fs6">Multiple items<br />val float32 : value:'T -> float32 (requires member op_Explicit)<br /><em><summary>Converts the argument to 32-bit float. This is a direct conversion for all
|
|
primitive numeric types. For strings, the input is converted using <c>Single.Parse()</c>
|
|
with InvariantCulture settings. Otherwise the operation requires an appropriate
|
|
static conversion method on the input type.</summary><br /><param name="value">The input value.</param><br /><returns>The converted float32</returns></em><br /><br />--------------------<br />[<Struct>]
|
|
type float32 = System.Single<br /><em><summary>An abbreviation for the CLI type <see cref="T:System.Single" />.</summary><br /><category>Basic Types</category></em><br /><br />--------------------<br />type float32<'Measure> =
|
|
float32<br /><em><summary>The type of single-precision floating point numbers, annotated with a unit of measure.
|
|
The unit of measure is erased in compiled code and when values of this type
|
|
are analyzed using reflection. The type is representationally equivalent to
|
|
<see cref="T:System.Single" />.
|
|
</summary><br /><category>Basic Types with Units of Measure</category></em></div>
|
|
<div class="fsdocs-tip" id="fs7">val v : 'T (requires member IsPositiveInfinity)</div>
|
|
<div class="fsdocs-tip" id="fs8">[<Struct>]
|
|
type bool = System.Boolean<br /><em><summary>An abbreviation for the CLI type <see cref="T:System.Boolean" />.</summary><br /><category>Basic Types</category></em></div>
|
|
<div class="fsdocs-tip" id="fs9">val v : 'T (requires member IsNegativeInfinity)</div>
|
|
<div class="fsdocs-tip" id="fs10">val v : 'T (requires member IsNaN)</div>
|
|
<div class="fsdocs-tip" id="fs11">val formatMathValue : floatFormat:string -> _arg1:'a -> string (requires member IsNaN and member IsPositiveInfinity and member IsNegativeInfinity)</div>
|
|
<div class="fsdocs-tip" id="fs12">val floatFormat : string</div>
|
|
<div class="fsdocs-tip" id="fs13">Multiple items<br />val string : value:'T -> string<br /><em><summary>Converts the argument to a string using <c>ToString</c>.</summary><br /><remarks>For standard integer and floating point values the and any type that implements <c>IFormattable</c><c>ToString</c> conversion uses <c>CultureInfo.InvariantCulture</c>. </remarks><br /><param name="value">The input value.</param><br /><returns>The converted string.</returns></em><br /><br />--------------------<br />type string = System.String<br /><em><summary>An abbreviation for the CLI type <see cref="T:System.String" />.</summary><br /><category>Basic Types</category></em></div>
|
|
<div class="fsdocs-tip" id="fs14">aktive Erkennung PositiveInfinity: 'T -> unit option</div>
|
|
<div class="fsdocs-tip" id="fs15">aktive Erkennung NegativeInfinity: 'T -> unit option</div>
|
|
<div class="fsdocs-tip" id="fs16">aktive Erkennung NaN: 'T -> unit option</div>
|
|
<div class="fsdocs-tip" id="fs17">aktive Erkennung Float: obj -> float option</div>
|
|
<div class="fsdocs-tip" id="fs18">val v : float</div>
|
|
<div class="fsdocs-tip" id="fs19">System.Double.ToString() : string<br />System.Double.ToString(format: string) : string<br />System.Double.ToString(provider: System.IFormatProvider) : string<br />System.Double.ToString(format: string, provider: System.IFormatProvider) : string</div>
|
|
<div class="fsdocs-tip" id="fs20">aktive Erkennung Float32: obj -> float32 option</div>
|
|
<div class="fsdocs-tip" id="fs21">val v : float32</div>
|
|
<div class="fsdocs-tip" id="fs22">System.Single.ToString() : string<br />System.Single.ToString(format: string) : string<br />System.Single.ToString(provider: System.IFormatProvider) : string<br />System.Single.ToString(format: string, provider: System.IFormatProvider) : string</div>
|
|
<div class="fsdocs-tip" id="fs23">val v : 'a (requires member IsNaN and member IsPositiveInfinity and member IsNegativeInfinity)</div>
|
|
<div class="fsdocs-tip" id="fs24">System.Object.ToString() : string</div>
|
|
<div class="fsdocs-tip" id="fs25">val formatMatrix : matrix:'a -> string</div>
|
|
<div class="fsdocs-tip" id="fs26">val matrix : 'a</div>
|
|
<div class="fsdocs-tip" id="fs27">Modul String
|
|
|
|
aus Microsoft.FSharp.Core<br /><em><summary>Functional programming operators for string processing. Further string operations
|
|
are available via the member functions on strings and other functionality in
|
|
<a href="http://msdn2.microsoft.com/en-us/library/system.string.aspx">System.String</a>
|
|
and <a href="http://msdn2.microsoft.com/library/system.text.regularexpressions.aspx">System.Text.RegularExpressions</a> types.
|
|
</summary><br /><category>Strings and Text</category></em></div>
|
|
<div class="fsdocs-tip" id="fs28">val concat : sep:string -> strings:seq<string> -> string<br /><em><summary>Returns a new string made by concatenating the given strings
|
|
with separator <c>sep</c>, that is <c>a1 + sep + ... + sep + aN</c>.</summary><br /><param name="sep">The separator string to be inserted between the strings
|
|
of the input sequence.</param><br /><param name="strings">The sequence of strings to be concatenated.</param><br /><returns>A new string consisting of the concatenated strings separated by
|
|
the separation string.</returns><br /><exception cref="T:System.ArgumentNullException">Thrown when <c>strings</c> is null.</exception></em></div>
|
|
<div class="fsdocs-tip" id="fs29">val formatVector : vector:Vector<'T> -> string (requires default constructor and value type and 'T :> System.ValueType)</div>
|
|
<div class="fsdocs-tip" id="fs30">val vector : Vector<'T> (requires default constructor and value type and 'T :> System.ValueType)</div>
|
|
<div class="fsdocs-tip" id="fs31">Multiple items<br />type Vector =
|
|
static member Abs<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<'T>
|
|
static member Add<'T (requires default constructor and value type and 'T :> ValueType)> : left: Vector<'T> * right: Vector<'T> -> Vector<'T>
|
|
static member AndNot<'T (requires default constructor and value type and 'T :> ValueType)> : left: Vector<'T> * right: Vector<'T> -> Vector<'T>
|
|
static member AsVectorByte<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<byte>
|
|
static member AsVectorDouble<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<float>
|
|
static member AsVectorInt16<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<int16>
|
|
static member AsVectorInt32<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<int>
|
|
static member AsVectorInt64<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<int64>
|
|
static member AsVectorSByte<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<sbyte>
|
|
static member AsVectorSingle<'T (requires default constructor and value type and 'T :> ValueType)> : value: Vector<'T> -> Vector<float32>
|
|
...<br /><em><summary>Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.</summary></em><br /><br />--------------------<br />[<Struct>]
|
|
type Vector<'T (requires default constructor and value type and 'T :> ValueType)> =
|
|
new : values: ReadOnlySpan<byte> -> unit + 5 Überladungen
|
|
member CopyTo : destination: Span<byte> -> unit + 3 Überladungen
|
|
member Equals : other: Vector<'T> -> bool + 1 Überladung
|
|
member GetHashCode : unit -> int
|
|
member ToString : unit -> string + 2 Überladungen
|
|
member TryCopyTo : destination: Span<byte> -> bool + 1 Überladung
|
|
static member op_Addition : left: Vector<'T> * right: Vector<'T> -> Vector<'T>
|
|
static member op_BitwiseAnd : left: Vector<'T> * right: Vector<'T> -> Vector<'T>
|
|
static member op_BitwiseOr : left: Vector<'T> * right: Vector<'T> -> Vector<'T>
|
|
static member op_Division : left: Vector<'T> * right: Vector<'T> -> Vector<'T>
|
|
...<br /><em><summary>Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.</summary><br /><typeparam name="T">The vector type. <c>T</c> can be any primitive numeric type.</typeparam></em><br /><br />--------------------<br />Vector ()<br />Vector(values: System.ReadOnlySpan<byte>) : Vector<'T><br />Vector(values: System.ReadOnlySpan<'T>) : Vector<'T><br />Vector(values: System.Span<'T>) : Vector<'T><br />Vector(value: 'T) : Vector<'T><br />Vector(values: 'T []) : Vector<'T><br />Vector(values: 'T [], index: int) : Vector<'T></div>
|
|
<div class="fsdocs-tip" id="fs32">Namespace Microsoft.FSharp.Data</div>
|
|
|
|
</div>
|
|
<!-- BEGIN SEARCH BOX: this adds support for the search box -->
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/JavaScript-autoComplete/1.0.4/auto-complete.css" />
|
|
<script type="text/javascript">var fsdocs_search_baseurl = 'https://numerics.mathdotnet.com/';</script>
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.8/lunr.min.js"></script>
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/JavaScript-autoComplete/1.0.4/auto-complete.min.js"></script>
|
|
<script type="text/javascript" src="https://numerics.mathdotnet.com/content/fsdocs-search.js"></script>
|
|
<!-- END SEARCH BOX: this adds support for the search box -->
|
|
</div>
|
|
</body>
|
|
|
|
</html>
|
|
|