<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>NMath Stats Archives - CenterSpace</title>
	<atom:link href="https://www.centerspace.net/category/nmath-stats/feed" rel="self" type="application/rss+xml" />
	<link>https://www.centerspace.net/category/nmath-stats</link>
	<description>.NET numerical class libraries</description>
	<lastBuildDate>Tue, 07 Feb 2023 21:32:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>
<site xmlns="com-wordpress:feed-additions:1">104092929</site>	<item>
		<title>Announcing NMath 6.2 and NMath Stats 4.2</title>
		<link>https://www.centerspace.net/announcing-nmath-6-2-and-nmath-stats-4-2</link>
					<comments>https://www.centerspace.net/announcing-nmath-6-2-and-nmath-stats-4-2#respond</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Mon, 07 Mar 2016 17:20:23 +0000</pubDate>
				<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Premium]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[C# Math Libraries]]></category>
		<category><![CDATA[C# NMath]]></category>
		<category><![CDATA[centerspace news]]></category>
		<category><![CDATA[VB NMath]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/?p=6938</guid>

					<description><![CDATA[<p>Centerspace Software is pleased to announce new versions of the NMath libraries - NMath 6.2, and NMath Stats 4.2.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-6-2-and-nmath-stats-4-2">Announcing NMath 6.2 and NMath Stats 4.2</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>We&#8217;re pleased to announce new versions of the NMath libraries &#8211; NMath 6.2 and NMath Stats 4.2.</p>
<p>Added functionality includes:</p>
<ul>
<li>Upgraded to Intel MKL 11.3 Update 2 with resulting performance increases.</li>
<li>Updated NMath Premium GPU code to CUDA 7.5.</li>
<li>Added classes for performing <a href="/wavelet-transforms/">Discrete Wavelet Transforms (DWTs)</a> using most common wavelet families, including Harr, Daubechies, Symlet, Best Localized, and Coiflet.</li>
<li>Added classes for solving stiff ordinary differential equations. The algorithm uses higher order methods and smaller step size when the solution varies rapidly.</li>
<li>Added classes for performing two-way ANOVA with unbalanced designs.</li>
<li>Added classes for performing Partial Least Squares Discriminant Analysis (PLS-DA), a variant of PLS used when the response variable is categorical.</li>
</ul>
<p>For more complete changelogs, see:</p>
<ul>
<li><a href="/doc/NMath/changelog.txt">NMath changelog</a></li>
<li>NMath Stats changelog</li>
</ul>
<p>Upgrades are provided free of charge to customers with current annual maintenance contracts. To request an upgrade, please visit our <a href="/upgrades/">upgrade page</a>, or contact <a href="mailto:sales@centerspace.net">sales@centerspace.net</a>. Maintenance contracts are available through our <a href="/order/">webstore</a>.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-6-2-and-nmath-stats-4-2">Announcing NMath 6.2 and NMath Stats 4.2</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/announcing-nmath-6-2-and-nmath-stats-4-2/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6938</post-id>	</item>
		<item>
		<title>Announcing NMath 6.1 and NMath Stats 4.1</title>
		<link>https://www.centerspace.net/announcing-nmath-6-1-and-nmath-stats-4-1</link>
					<comments>https://www.centerspace.net/announcing-nmath-6-1-and-nmath-stats-4-1#respond</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Thu, 30 Apr 2015 16:11:29 +0000</pubDate>
				<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Premium]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=5735</guid>

					<description><![CDATA[<p>Centerspace Software is pleased to announce new versions of the NMath libraries - NMath 6.1, and NMath Stats 4.1.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-6-1-and-nmath-stats-4-1">Announcing NMath 6.1 and NMath Stats 4.1</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>We&#8217;re pleased to announce new versions of the NMath libraries &#8211; NMath 6.1, and NMath Stats 4.1.</p>
<p>Added functionality includes:</p>
<ul>
<li>Upgraded to Intel MKL 11.2 Update 2 with resulting performance increases.</li>
<li>Updated NMath Premium GPU code to CUDA 6.</li>
<li>Added classes for solving linear and nonlinear programming problems with integer or binary constraints.</li>
<li>Added class SpecialFunctions containing special functions such as factorial, binomial, the gamma function and related functions, Bessel functions, elliptic integrals, and many more. (Prior versions of a few of these functions, such as StatsFunctions.IncompleteGamma, are now deprecated.)</li>
<li>Added a new native library, nmath_sf_x86.dll and nmath_sf_x64.dll, with high-performance C language implementations of the special functions.</li>
<li>Added single-precision versions of general sparse matrix and vector types.</li>
</ul>
<p>For more complete changelogs, see <a href="https://www.centerspace.net/doc/NMath/changelog.txt">here</a> and here.</p>
<p>Upgrades are provided free of charge to customers with current annual maintenance contracts. To request an upgrade, please visit our <a href="/upgrades/">upgrade page</a>, or contact <a href="mailto:sales@centerspace.net">sales@centerspace.net</a>. Maintenance contracts are available through our <a href="https://www.centerspace.net/order/">webstore</a>.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-6-1-and-nmath-stats-4-1">Announcing NMath 6.1 and NMath Stats 4.1</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/announcing-nmath-6-1-and-nmath-stats-4-1/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5735</post-id>	</item>
		<item>
		<title>Announcing NMath 6.0 and NMath Stats 4.0</title>
		<link>https://www.centerspace.net/announcing-nmath-6-0-and-nmath-stats-4-0</link>
					<comments>https://www.centerspace.net/announcing-nmath-6-0-and-nmath-stats-4-0#respond</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Tue, 19 Aug 2014 19:09:34 +0000</pubDate>
				<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Premium]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=5580</guid>

					<description><![CDATA[<p>Centerspace Software is pleased to announce new versions of the NMath libraries - NMath 6.0, and NMath Stats 4.0.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-6-0-and-nmath-stats-4-0">Announcing NMath 6.0 and NMath Stats 4.0</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>We&#8217;re pleased to announce new versions of the NMath libraries &#8211; NMath 6.0, and NMath Stats 4.0.</p>
<p>Added functionality includes:</p>
<ul>
<li>Upgraded to Intel MKL 11.1 Update 3 with resulting performance increases.</li>
<li>Added Adaptive Bridge&#x2122; technology to NMath Premium edition, with support for multiple GPUs, per-thread control for binding threads to GPUs, and automatic performance tuning of individual CPU–GPU routing to insure optimal hardware usage.</li>
<li>NMath linear programming, nonlinear programming, and quadratic programming classes are now built on the Microsoft Solver Foundation (MSF). The Standard Edition of MSF is included with NMath.</li>
<li>Added classes for solving nonlinear programming problems using the Stochastic Hill Climbing algorithm, for solving quadratic programming problems using an interior point algorithm, and for solving constrained least squares problems using quadratic programming methods.</li>
<li>Added support for MKL Conditional Numerical Reproducibility (CNR).</li>
</ul>
<p>For more complete changelogs, see <a href="https://www.centerspace.net/doc/NMath/changelog.txt">here</a> and here.</p>
<p>Upgrades are provided free of charge to customers with current annual maintenance contracts. To request an upgrade, please contact <a href="mailto:sales@centerspace.net">sales@centerspace.net</a>. Maintenance contracts are available through our <a href="https://www.centerspace.net/order/">webstore</a>.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-6-0-and-nmath-stats-4-0">Announcing NMath 6.0 and NMath Stats 4.0</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/announcing-nmath-6-0-and-nmath-stats-4-0/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5580</post-id>	</item>
		<item>
		<title>Announcing NMath 5.3 and NMath Stats 3.6</title>
		<link>https://www.centerspace.net/announcing-nmath-5-3-and-nmath-stats-3-6</link>
					<comments>https://www.centerspace.net/announcing-nmath-5-3-and-nmath-stats-3-6#respond</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Tue, 07 May 2013 15:47:02 +0000</pubDate>
				<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Premium]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=4294</guid>

					<description><![CDATA[<p>CenterSpace is proud to announce the immediate availability of new versions of our .NET math libraries, NMath 5.3 and NMath Stats 3.6. This release adds many new features and performance enhancements. Version 5.3 of NMath adds: IEnumerable&#60;T&#62; support for matrix classes, facilitating their use with LINQ. An in-place solve option for LU factorization. Improved support for NMath configuration within ASP.NET web [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-5-3-and-nmath-stats-3-6">Announcing NMath 5.3 and NMath Stats 3.6</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>CenterSpace is proud to announce the immediate availability of new versions of our .NET math libraries, <strong>NMath 5.3 </strong>and <strong>NMath Stats 3.6</strong>. This release adds many new features and performance enhancements.</p>
<p>Version 5.3 of <strong>NMath</strong> adds:</p>
<ul>
<li>IEnumerable&lt;T&gt; support for matrix classes, facilitating their use with LINQ.</li>
<li>An in-place solve option for LU factorization.</li>
<li>Improved support for NMath configuration within ASP.NET web applications.</li>
<li>Matrix and vector visualizers for debugging in Visual Studio 2012.</li>
<li>Performance increases in several areas, due to an upgrade to Intel MKL 11.0 Update 3.</li>
<li>Here is a complete <a href="https://www.centerspace.net/doc/NMath/changelog.txt">changelog</a>.</li>
</ul>
<p>Version 3.6 of <strong>NMath Stats</strong> adds:</p>
<ul>
<li>New <a href="https://www.centerspace.net/doc/NMath/user/logistic-regression.htm">LogisticRegression </a>and related classes for performing binomial logistic regression.</li>
<li>New classes for <a href="https://www.centerspace.net/doc/NMath/user/process-control.htm">process control statistics</a>, such as Cp, Cpm, Cp, Pp, and Ppk.</li>
<li>Here is a complete changelog.</li>
</ul>
<p><a href="/upgrades/">Upgrades</a> are provided free of charge to customers with current annual maintenance contracts. Maintenance contracts are available through our <a href="/order/">webstore</a>.</p>
<p>We will shortly also be announcing the general availability of the new <a href="https://www.centerspace.net/nmath-premium/">Premium Edition</a> of NMath and NMath Stats, which provides GPU acceleration of linear algebra (dense systems) and 1D and 2D FFT. We&#8217;ve gotten great feedback from users in our beta program, and are excited to make this option available to everyone. We think you will be too, when you see how easy it is to add GPU acceleration to your existing NMath applications. Check out our whitepaper, <a href="https://www.centerspace.net/doc/NMath/whitepapers/NMath.Premium.Benchmarks.pdf" target="_blank" rel="noopener">NMath Premium: GPU-Accelerated Math Libraries for .NET</a>, and watch this space for more information soon.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/announcing-nmath-5-3-and-nmath-stats-3-6">Announcing NMath 5.3 and NMath Stats 3.6</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/announcing-nmath-5-3-and-nmath-stats-3-6/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4294</post-id>	</item>
		<item>
		<title>NMath 5.3, NMath Stats 3.6 are coming</title>
		<link>https://www.centerspace.net/nmath-5-3-nmath-stats-3-6-are-coming</link>
					<comments>https://www.centerspace.net/nmath-5-3-nmath-stats-3-6-are-coming#comments</comments>
		
		<dc:creator><![CDATA[Trevor Misfeldt]]></dc:creator>
		<pubDate>Wed, 27 Feb 2013 22:29:52 +0000</pubDate>
				<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/uncategorized/nmath-5-3-nmath-stats-3-6-are-coming/</guid>

					<description><![CDATA[<p>NMath 5.3 and NMath Stats 3.6 are nearing release!&#160; Here are a few of the things that you can look forward to in the new releases: IEnumerable&#60;T&#62; support for matrix classes, facilitating their use with LINQ. An in-place solve option for LU factorization. Improved support for NMath configuration within ASP.NET web applications. Matrix and vector [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-5-3-nmath-stats-3-6-are-coming">NMath 5.3, NMath Stats 3.6 are coming</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="/nmath/" target="_blank">NMath</a> 5.3 and <a href="/nmath-stats/" target="_blank">NMath Stats</a> 3.6 are nearing release!&#160; Here are a few of the things that you can look forward to in the new releases:</p>
<ul>
<li><font color="#333333">IEnumerable&lt;T&gt; support for matrix classes, facilitating their use with LINQ.</font></li>
<li><font color="#333333">An in-place solve option for LU factorization.</font></li>
<li><font color="#333333">Improved support for NMath configuration within ASP.NET web applications.</font></li>
<li><font color="#333333">Matrix and vector visualizers for debugging in Visual Studio 2012.</font></li>
<li><font color="#333333">Performance increases in several areas, due to an upgrade to Intel MKL 10.3 Update 12.</font></li>
<li><font color="#333333">A variety of new options, performance improvements, and bug fixes.</font></li>
</ul>
<p>And new Stats capabilities:</p>
<ul>
<li><font color="#333333">New LogisticRegression and related classes for performing binomial logistic regression.</font></li>
<li><font color="#333333">New classes for process control statistics, such as Cp, Cpm, Cp, Pp, and Ppk.</font></li>
<p> <!--EndFragment--></ul>
<p>In addition, <a href="https://www.centerspace.net/nmath-premium/" target="_blank">NMath Premium edition</a> offers GPU acceleration of linear algebra and 1D and 2D FFT.&#160; Check out the <a href="https://www.centerspace.net/nmath-premium/" target="_blank">NMath Premium page</a> on our website for more information, or download our detailed whitepaper, “<a href="https://www.centerspace.net/doc/NMath/whitepapers/NMath.Premium.Benchmarks.pdf" target="_blank">NMath Premium: GPU-Accelerated Math Libraries for .NET</a>.”</p>
<p><a href="/upgrades/" target="_blank">Upgrades</a> will be available free of charge for customers with current annual maintenance contracts, so it’s a great time to check that your maintenance is up to date. Since new product licenses include a one year Maintenance Contract, anyone purchasing new licenses now will receive the upgrades free. </p>
<p>Product licenses and maintenance contract renewals are available through our <a href="/order/">web store</a>, or feel free to contact <a href="mailto:sales@centerspace.net">sales@centerspace.net</a> with any questions.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-5-3-nmath-stats-3-6-are-coming">NMath 5.3, NMath Stats 3.6 are coming</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/nmath-5-3-nmath-stats-3-6-are-coming/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4289</post-id>	</item>
		<item>
		<title>Setting the NMath License Key</title>
		<link>https://www.centerspace.net/setting-the-nmath-license-key</link>
					<comments>https://www.centerspace.net/setting-the-nmath-license-key#comments</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Wed, 01 Aug 2012 19:46:51 +0000</pubDate>
				<category><![CDATA[CenterSpace]]></category>
		<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[license key]]></category>
		<category><![CDATA[licensing]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=4052</guid>

					<description><![CDATA[<p>NMath license information is stored in a license key which must be found at runtime. When you purchase one or more developer seats of NMath, you will be issued a license key describing the terms of your license. If no license key is found at runtime, a default evaluation license key is used which provides [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/setting-the-nmath-license-key">Setting the NMath License Key</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>NMath</strong> license information is stored in a license key which must be found at runtime. When you purchase one or more developer seats of <strong>NMath</strong>, you will be issued a license key describing the terms of your license.</p>
<p>If no license key is found at runtime, a default evaluation license key is used which provides a free 30-day evaluation period for <strong>NMath</strong> on the current machine.</p>
<p>Three mechanisms are supported for setting your <strong>NMath</strong> license key:</p>
<ul>
<li>by setting the <code>NMATH_LICENSE_KEY</code> environment variable</li>
<li>by setting the <code>NMathLicenseKey</code> configuration app setting</li>
<li>by programmatically setting the <code>LicenseKey</code> property on class <a href="https://www.centerspace.net/doc/NMathSuite/ref/html/T_CenterSpace_NMath_Core_NMathConfiguration.htm">NMathConfiguration</a></li>
</ul>
<p>Settings are applied in that order, and resetting the license key takes precedent over any earlier values. For example, here the environment variable is used:</p>
<pre class="code"> &gt; set NMATH_LICENSE_KEY="&lt;your key here&gt;"</pre>
<p>This code uses an app config file:</p>
<pre class="code">&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;configuration&gt;
  &lt;appSettings&gt;
    &lt;add key="NMathLicenseKey" value="<strong>&lt;your key here&gt;</strong>" /&gt;
  &lt;/appSettings&gt;
&lt;/configuration&gt;</pre>
<p>And this code accomplishes the same thing programmatically:</p>
<pre class="code">NMathConfiguration.LicenseKey = "<strong>&lt;your key here&gt;</strong>";</pre>
<p><strong>Note 1:</strong> Setting your license key works the same way for development and deployment machines.</p>
<p><strong>Note 2:</strong> If you forget to set your license key on a machine, your code <strong>NMath</strong> code will work initially, using the default evaluation license, but this license will expire in 30 days.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/setting-the-nmath-license-key">Setting the NMath License Key</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/setting-the-nmath-license-key/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4052</post-id>	</item>
		<item>
		<title>New Versions of NMath Libraries Released</title>
		<link>https://www.centerspace.net/new-versions-of-nmath-libraries-released-4</link>
					<comments>https://www.centerspace.net/new-versions-of-nmath-libraries-released-4#comments</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Fri, 20 Jul 2012 15:35:53 +0000</pubDate>
				<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[.NET math library]]></category>
		<category><![CDATA[C# math library]]></category>
		<category><![CDATA[F# math library]]></category>
		<category><![CDATA[new C# math library release]]></category>
		<category><![CDATA[new NMath release]]></category>
		<category><![CDATA[new NMath Stats release]]></category>
		<category><![CDATA[VB math library]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=3943</guid>

					<description><![CDATA[<p>CenterSpace is proud to announce the immediate availability of new versions of our .NET math libraries, NMath 5.2 and NMath Stats 3.5. This release adds many new features and performance enhancements.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/new-versions-of-nmath-libraries-released-4">New Versions of NMath Libraries Released</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>CenterSpace is proud to announce the immediate availability of new versions of our .NET math libraries, <strong>NMath 5.2</strong> and <strong>NMath Stats 3.5</strong>. This release adds many new features and performance enhancements.</p>
<p>Changes for version 5.2 of <strong>NMath</strong> include:</p>
<ul>
<li>Upgraded to Intel MKL 10.3 Update 11 with resulting performance increases.</li>
<li>Added class <a href="https://www.centerspace.net/doc/NMath/ref/html/T_CenterSpace_NMath_Core_NMathConfiguration.htm">NMathConfiguration</a> for controlling the loading of the <strong>NMath</strong><br />
license key, kernel assembly, and native library. Logging can be enabled for debugging configuration issues.<br />
<span style="color: red;">License files are no longer used. See <a href=" https://www.centerspace.net/nmath-configuration/">here</a> for more information.</span></li>
<li><a href="https://www.centerspace.net/nmath-api-updated-with-net-func-delegates/">Replaced all custom <strong>NMath</strong> delegate types in the API with <code>Func</code> or <code>Action</code><br />
equivalents</a>, and deprecated the older signatures.</li>
<li>Added support for postive and negative strided signals in all FFT classes.</li>
</ul>
<p>A complete changelog is located <a href="https://www.centerspace.net/doc/NMath/changelog.txt">here</a>.</p>
<p>Version 3.5 of <strong>NMath Stats</strong> adds:</p>
<ul>
<li>Classes <a href="https://www.centerspace.net/doc/NMath/ref/html/T_CenterSpace_NMath_Core_DoubleFactorAnalysis_2.htm">DoubleFactorAnalysis</a>, <a href="https://www.centerspace.net/doc/NMath/ref/html/T_CenterSpace_NMath_Core_FactorAnalysisCorrelation_2.htm">FactorAnalysisCorrelation</a>, <a href="https://www.centerspace.net/doc/NMath/ref/html/T_CenterSpace_NMath_Core_FactorAnalysisCovariance_2.htm">FactorAnalysisCovariance</a>, and supporting types for performing factor analysis.</li>
<li>Class <a href="https://www.centerspace.net/doc/NMath/ref/html/T_CenterSpace_NMath_Core_OneSampleAndersonDarlingTest.htm">OneSampleAndersonDarlingTest</a> for performing an Anderson-Darling test of the distribution of one sample.</li>
<li>Class <a href="https://www.centerspace.net/doc/NMath/ref/html/T_CenterSpace_NMath_Core_ShapiroWilkTest.htm">ShapiroWilkTest</a> for testing the null hypothesis that a sample comes from a normally distributed population.</li>
<li>Method <a href="https://www.centerspace.net/doc/NMath/ref/html/Overload_CenterSpace_NMath_Core_NMathFunctions_FishersExactTest.htm">NMathFunctions.FishersExactTest()</a> for computing the Fisher&#8217;s Exact Test p-value for a specified 2 x 2 contingency table.</li>
</ul>
<p>A complete changelog is located here.</p>
<p>The new release is build-compatible with the prior release. Upgrades are provided free of charge to customers with current annual maintenance contracts. Maintenance contracts are available through our <a href="/order/">webstore</a>.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/new-versions-of-nmath-libraries-released-4">New Versions of NMath Libraries Released</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/new-versions-of-nmath-libraries-released-4/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3943</post-id>	</item>
		<item>
		<title>NMath Configuration</title>
		<link>https://www.centerspace.net/nmath-configuration</link>
					<comments>https://www.centerspace.net/nmath-configuration#comments</comments>
		
		<dc:creator><![CDATA[Ken Baldwin]]></dc:creator>
		<pubDate>Fri, 20 Jul 2012 15:35:10 +0000</pubDate>
				<category><![CDATA[CenterSpace]]></category>
		<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[.NET math library]]></category>
		<category><![CDATA[C# math library]]></category>
		<category><![CDATA[F# math library]]></category>
		<category><![CDATA[new C# math library release]]></category>
		<category><![CDATA[new NMath release]]></category>
		<category><![CDATA[new NMath Stats release]]></category>
		<category><![CDATA[NMath configuration]]></category>
		<category><![CDATA[VB math library]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=3946</guid>

					<description><![CDATA[<p>Beginning with the release of NMath 5.2 and NMath Stats 3.5, NMath includes a new configuration system for controlling the loading of the NMath license key, kernel assembly, and native library. Based on customer feedback, we've designed this system to provide greater flexibility and security at deployment, and greater convenience in group development environments. We've also added optional logging to help debug configuration issues.</p>
<p>An NMath license file is no longer used.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-configuration">NMath Configuration</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Beginning with the <a href="/new-versions-of-nmath-libraries-released-4/">release of NMath 5.2 and NMath Stats 3.5</a>, <strong>NMath</strong> includes a new configuration system for controlling the loading of the <strong>NMath</strong> license key, kernel assembly, and native library. Based on customer feedback, we&#8217;ve designed this system to provide greater flexibility and security at deployment, and greater convenience in group development environments. We&#8217;ve also added optional logging to help debug configuration issues.</p>
<p><span style="color: red;">An NMath license file is no longer used.</span></p>
<h3>NMath License Key</h3>
<p><strong>NMath</strong> license information is stored in a license key which must be found at runtime. The license key governs the properties of your <strong>NMath</strong> installation. If no license key is found, a default evaluation license key is used which provides a free 30-day evaluation period for <strong>NMath</strong> on the current machine.</p>
<p>When you purchase one or more developer seats of <strong>NMath</strong>, you will be issued a license key describing the terms of your license. To enter your license key:</p>
<ol>
<li>Open <strong>CenterSpace Software | License NMath</strong> from your <strong>Start</strong> menu.</li>
<li>Enter your name, email, and license key, and click <strong>OK</strong>.</li>
</ol>
<p>The license key will be written to the registry. You can also specify your license key using various other mechanisms: by environment variable, by configuration app setting, and programmatically. These mechanisms may be preferable in group development environments, and at deployment. (See below.)</p>
<h3>NMath Configuration</h3>
<p>NMath configuration settings govern the loading of the <strong>NMath</strong> license key, kernel assembly, and native library. Property values can be set three ways:</p>
<ul>
<li>by environment variable</li>
<li>by configuration app setting</li>
<li>by programmatically setting properties on class <a href="https://www.centerspace.net/doc/NMathSuite/ref/html/T_CenterSpace_NMath_Core_NMathConfiguration.htm">NMathConfiguration</a></li>
</ul>
<p>Settings are applied in that order, and resetting a property takes precedent over any earlier values. For example, here an environment variable is used:</p>
<pre lang="csharp"> > set NMATH_NATIVE_LOCATION="C:\tmp"</pre>
<p>This code uses an app config file:</p>
<pre class="code">&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;configuration&gt;
  &lt;appSettings&gt;
    &lt;add key="NMathNativeLocation" value="C:\tmp" /&gt;
  &lt;/appSettings&gt;
&lt;/configuration&gt;
</pre>
<p>And this code accomplishes the same thing programmatically:</p>
<pre lang="csharp" line="1">NMathConfiguration.NativeLocation = @"C:\tmp";</pre>
<p>Also, all paths can be specified relative to the executable.  So to place the natives in an existing directory named <i>resources</i> adjacent to the executable one would<br />
write:</p>
<pre lang="csharp" line="1">NMathConfiguration.NativeLocation = @"..\resources";</pre>
<p>The supported environment variables, configuration app setting keys, and property names are show below.</p>
<pre class="code">
<table border="1" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th>Environment Variable</th>
<th>Configuration Setting</th>
<th>Property</th>
</tr>
<tr>
<td><code>NMATH_LOG_LOCATION</code></td>
<td><code>NMathLogLocation</code></td>
<td><code>LogLocation</code></td>
</tr>
<tr>
<td><code>NMATH_LICENSE_KEY</code></td>
<td><code>NMathLicenseKey</code></td>
<td><code>LicenseKey</code></td>
</tr>
<tr>
<td><code>NMATH_NATIVE_LOCATION</code></td>
<td><code>NMathNativeLocation</code></td>
<td><code>NativeLocation</code></td>
</tr>
<tr>
<td><code>NMATH_USE_SEQUENTIAL_THREADING</code></td>
<td><code>NMathUseSequentialThreading</code></td>
<td><code>UseSequentialThreading</code></td>
</tr>
<tr>
<td><code>NMATH_USE_EXTERNAL_THREADING</code></td>
<td><code>NMathUseExternalThreading</code></td>
<td><code>UseExternalThreading</code></td>
</tr>
</tbody>
</table></pre>
<p>NOTE- Assembly loading and license checking is normally performed the first time you make an <strong>NMath</strong> call. If you wish to explicitly control when these operations occur&#8211;at application start-up, for example&#8211;use the static <a href="https://www.centerspace.net/doc/NMathSuite/ref/html/M_CenterSpace_NMath_Core_NMathConfiguration_Init.htm">NMathConfiguration.Init()</a> method.</p>
<p>For example, when using Mono on a Mac, to configured NMath with a sequentially threaded library set the environmental variable as follows.</p>
<pre lang="csharp"> > export NMATH_USE_SEQUENTIAL_THREADING="True" </pre>
<p><strong>Logging</strong></p>
<p>To debug configuration issues, specify a log file location. For example, setting the property programmatically to place the NMath log file in the same directory as the executable one would write:</p>
<pre lang="csharp" line="1">NMathConfiguration.LogLocation = @".";</pre>
<p>Or if you prefer to use a global temporary directory you could specify an absolute path.</p>
<pre lang="csharp" line="1">NMathConfiguration.LogLocation = @"C:\temp\logs";</pre>
<p>This creates a file named <code>NMathConfiguration.log</code> at the specified location containing log output. <i>The specified location must exist</i>. To turn off logging, set the log location to null.</p>
<p><strong>License Key</strong></p>
<p>You can specify your <strong>NMath</strong> license key using the <code>LicenseKey</code> property, or the equivalent environment variable or app config setting. If so, any keys in the registry are ignored.</p>
<p><strong>Native Location</strong></p>
<p>The NMath native assembly must be found at runtime. Failure to locate this file is one of the most common configuration issues, especially in deployment. The search order is determined by your <code>PATH</code> (on Windows systems). Some standard locations are automatically prepended to your (process-specific) <code>PATH</code>. You can also use the <code>NativeLocation</code> property, or the equivalent environment variable or app config setting, to prepend another location.</p>
<p><strong>Alternative Kernel and Native Assemblies</strong></p>
<p>The names of the <strong>NMath</strong> kernel and native assemblies are determined by your platform (x86 or x64), and the values of the <code>UseSequentialThreading</code> and <code>UseExternalThreading</code> properties, as shown below:</p>
<pre class="code">Standard
     Kernel
          NMathKernelx86.dll
          NMathKernelx64.dll
     Native
          nmath_native_x86.dll
          nmath_native_x64.dll

Sequentially-Threaded
     Kernel
          NMathKernelx86Sequential.dll
          NMathKernelx64Sequential.dll
     Native
          nmath_native_x86_seq.dll
          nmath_native_x64_seq.dll

Externally-Threaded
     Kernel
          NMathKernelx86External.dll
          NMathKernelx64External.dll
     Native
          nmath_native_x86_ext.dll
          nmath_native_x64_ext.dll</pre>
<p>Sequentially-threaded and externally-threaded kernel and native assemblies are available upon request from CenterSpace Software:</p>
<ul>
<li><strong>Sequentially-Threaded: </strong> MKL contains highly optimized, extensively threaded math routines. In rare cases, these can cause conflicts between the Intel OMP threading library (<code>libiomp.dll</code>) and the .NET threading model. If your .NET application is itself highly multi-threaded, you may wish to use the sequentially-threaded version of MKL.</li>
<li><strong>Externally-Threaded:</strong> <strong>NMath</strong> normally statically links in the Intel OMP threading library described above. Sometimes this can cause collisions with libraries from other vendors that also use OMP. The externally-threaded version of <code>NMath</code> dynamically-links in OMP.</li>
</ul>
<p>To trigger loading of these assemblies, use properties <code>UseSequentialThreading</code> and <code>UseExternalThreading</code> on class <a href="https://www.centerspace.net/doc/NMathSuite/ref/html/T_CenterSpace_NMath_Core_NMathConfiguration.htm">NMathConfiguration</a>, or the equivalent environment variables or app config settings. Both properties default to <code>false</code>.</p>
<p><code>UseSequentialThreading</code> and <code>UseExternalThreading</code> are mutually exclusive, and <code>UseSequentialThreading</code> takes precedence; <code>UseExternalThreading</code> only has an effect if <code>UseSequentialThreading</code> is <code>false</code>.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-configuration">NMath Configuration</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/nmath-configuration/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3946</post-id>	</item>
		<item>
		<title>NMath API updated with .NET Func delegates</title>
		<link>https://www.centerspace.net/nmath-api-updated-with-net-func-delegates</link>
					<comments>https://www.centerspace.net/nmath-api-updated-with-net-func-delegates#comments</comments>
		
		<dc:creator><![CDATA[Paul Shirkey]]></dc:creator>
		<pubDate>Thu, 03 May 2012 00:03:16 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[NMath]]></category>
		<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[.NET delegates]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[C# delegates]]></category>
		<category><![CDATA[C# Func]]></category>
		<category><![CDATA[Func]]></category>
		<category><![CDATA[NMath 5.2]]></category>
		<category><![CDATA[NMathStats 3.5]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/?p=3711</guid>

					<description><![CDATA[<p>At CenterSpace we are always working hard to keep the core NMath processing kernel start of the art, however changes to our libraries&#8217; API usually lag behind any .NET framework developments in a process of deprecation and introduction. The .NET Func&#60;&#62; and Action&#60;&#62; delegates have been a part of the .NET framework now since .NET [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-api-updated-with-net-func-delegates">NMath API updated with .NET Func&lt;&gt; delegates</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>At CenterSpace we are always working hard to keep the core NMath processing kernel start of the art, however changes to our libraries&#8217; API usually lag behind any .NET framework developments in a process of deprecation and introduction.  The .NET Func&lt;&gt; and Action&lt;&gt; delegates have been a part of the .NET framework now since .NET 3.5 and VS2008.  Therefore, we are now deprecating all of our custom delegates in the NMath API and replacing them with .NET Func&lt;&gt; generic delegates.  This improves interoperability between NMath and our customers&#8217; code and between our C# API and other .NET languages.  Customers will see this change in the NMath 5.2 and NMathStats 3.5.</p>
<p>For those not familiar with the usage and definition of Func&lt;&gt; types within .NET there is a short primer at the end of this post.</p>
<h2>Compiler Warning for [Obsolete] NMath defined delegates</h2>
<p>All of our NMath delegate types have been deprecated using the .NET <code>[Obsolete()]</code> attribute.  The generated compiler warnings will provide the suggested <code>Func</code> type replacement.</p>
<pre lang="csharp">Warning 52 'CenterSpace.NMath.Core.NMathFunctions.FloatUnaryFunction'
   is obsolete: 'Use Func< float, float >'   ...</pre>
<p>To further clarify, the following table lists the deprecated NMath float delegate types side by side with their replacements.  All NMath delegates should be redefined in your code using the generic <code>Func</code> types.</p>
<pre class="code">
<table style="font-size: 7pt;">
<tbody>
<tr>
<th colspan="2"> List of float-precision deprecated NMath delegate types</th>
</tr>
<tr>
<th>Old NMath delegates</th>
<th>Replacement</th>
</tr>
<tr>
<td>float FloatFunction()</td>
<td>Func&lt; float &gt;</td>
</tr>
<tr>
<td>float FloatUnaryFunction( float x )</td>
<td>Func&lt; float, float &gt;</td>
</tr>
<tr>
<td>float FloatBinaryFunction( float x, float y )</td>
<td>Func&lt; float, float, float &gt;</td>
</tr>
<tr>
<td>float FloatIntFunction( float x, int y )</td>
<td>Func&lt; float, int, float &gt;</td>
</tr>
<tr>
<td>float FloatVectorFloatFunction( FloatVector v )</td>
<td>Func&lt; FloatVector, float &gt;</td>
</tr>
<tr>
<td>FloatVector
  FloatVectorFloatVectorFunction( FloatVector x )</td>
<td>Func&lt; FloatVector, FloatVector &gt;</td>
</tr>
</tbody>
</table>
</pre>
<p>There are many other deprecated NMath delegates that should be similarly replaced in your code.</p>
<h2>Code examples for updating your code</h2>
<p>Where previously you might have created a delegate that takes a <code>double</code> argument and returns a <code>double</code> like this:</p>
<pre lang="csharp">NMathFunctions.DoubleUnaryFunction soln =
   delegate(double x) {return (x*x*x) / 3.0 + y0; };</pre>
<p>you should now do it like this:</p>
<pre lang="csharp">Func soln =
   new Func< double, double >(  x => (x*x*x) / 3.0 + y0 );</pre>
<p>All methods in NMath and NMath Stats now take Func&lt;&gt; type delegates. If you use the old NMath delegates types to call a NMath method, an obsolescence warning will be issued by the compiler.</p>
<p>NMath and NMath Stats contain many functors that have now been obsolesced and redefined using a generic Func&lt;&gt; type.  The new functor naming convention simply drops the &#8220;tion&#8221; from &#8220;Function&#8221; to make the new name.  For example, the delegate <code>NMathFunctions.AtanFunction</code> should now be replaced with <code>NMathFunctions.AtanFunc</code>.  The old delegate has a type of <code>NMathFunctions.DoubleUnaryFunction</code>, and the new delegate has a type of <code>Func&lt; double, double &gt;</code>.  This kind of replacement can be done safely with a global search and replace operation to rid yourself of compiler obsolescence warnings.  The table below list a few functor redefinitions that demonstrate the renaming pattern that was applied across the API.</p>
<pre class="code">
<table style="font-size: 7pt;">
<tbody>
<tr>
<th colspan="2"> Sampling of deprecated NMath functors</th>
</tr>
<tr>
<th>Old NMath functor</th>
<th>Replacement</th>
</tr>
<tr>
<td>DoubleUnaryFunction AbsFunction</td>
<td>Func&lt; double, double &gt; AbsFunc</td>
</tr>
<tr>
<td>DoubleUnaryFunction AcosFunction</td>
<td>Func&lt; double, double &gt; AcosFunc</td>
</tr>
<tr>
<td>DoubleUnaryFunction AsinFunction</td>
<td>Func&lt; double, double &gt; AsinFunc</td>
</tr>
<tr>
<td>DoubleBinaryFunction PowFunction</td>
<td>Func&lt; double, double, double &gt; PowFunc</td>
</tr>
<tr>
<td>DoubleIntFunction RoundFunction</td>
<td>Func&lt; double, int, double &gt; RoundFunc</td>
</tr>
<tr>
<td>DoubleVectorDoubleFunction
  DoubleNaNMedianFunction</td>
<td>Func&lt; DoubleVector, double &gt; DoubleNaNMedianFunc</td>
</tr>
</tbody>
</table>
</pre>
<h2>Potential Issues</h2>
<p>The deprecation process requires us to maintain the old custom delegate defintions in the API methods while introducing the new Func&lt;&gt; based API.  As a result, every method call in our API which previously consumed a custom NMath delgate type, a functionally identical signature was added which consumes a Func&lt;&gt; based delegate.  This duplication can cause an easy-to-fix compiler error in situations when an anonymous delegate was used instead of a NMath delegate type.  Consider the follow line of code which inverts the singular values of a SVD.</p>
<pre lang="csharp">      DoubleVector wInverse =
         svDecomp.SingularValues.Apply(
              delegate( double w )
                 { return w < eps ? 0.0 : 1.0 / w; }
         );</pre>
<p>Written this way will now cause the following compiler error.</p>
<pre class="code">
Error	43
The call is ambiguous between the following methods or properties:
'CenterSpace.NMath.Core.DoubleVector.Apply(
    CenterSpace.NMath.Core.NMathFunctions.DoubleUnaryFunction )'
and
'CenterSpace.NMath.Core.DoubleVector.Apply( System.Func )' ....</pre>
<p>In this error message, the first <code>Apply()</code> is the old method signature and the second <code>Apply()</code> is the new Func&lt;&gt; based signature.  The C# compiler can't choose between the two when provided an anonymous delegate.  Exactly why this ambiguity error is generated by the compiler is carefully explained by Eric Lippert over on <a href="http://stackoverflow.com/questions/2057146/compiler-ambiguous-invocation-error-anonymous-method-and-method-group-with-fun">stackoverflow</a>.  Briefly, the ambiguity error arises because both methods equally satisfy the <code>Apply()</code> method signature and the C# standard does not provide a way to judge which would be 'better', and so reports an error.  The fix is simple, we just specified explicitly that we want to use the method that takes a generic Func&lt;&gt;.</p>
<pre lang="csharp">      DoubleVector wInverse =
         svDecomp.SingularValues.Apply(
              new Func< double, double >
                 ( delegate( double w )
                    { return w < eps ? 0.0 : 1.0 / w; }
                 )
         );</pre>
<p>Or, somewhat more concisely using a lamda expression.</p>
<pre lang="csharp">      DoubleVector wInverse =
         svDecomp.SingularValues.Apply(
              new Func< double, double >
                 ( w => w < eps ? 0.0 : 1.0 / w  )
         );</pre>
<h2>A brief Func&lt;&gt; &amp; Action&lt;&gt;  primer</h2>
<p>The generic delegate types, <code>Func&lt;&gt;</code> and <code>Action&lt;&gt;</code>, were introduced with the .NET 3.5 framework to unify delegate types across various .NET libraries.  This allows a .NET library developer like CenterSpace to create an API that accepts generic delegates that are defined elsewhere in client code.  The <code>Func</code> and <code>Action</code> are differentiated by their return values:  <code>Actions</code> have no return value, <code>Funcs</code> always have a <em>single</em> return value of type <code>TResult</code>.  For each of them, the .NET framework defines a type signature that takes between <code>0</code> and <code>16</code> generically typed arguments.</p>
<pre class="code">
<table style="font-size: 7pt;">
<tbody>
<tr>
<th colspan="2"> .NET Func&lt;&gt; and Action&lt;&gt; definitions</th>
</tr>
<tr>
<th>Func</th>
<th>Action</th>
</tr>
<tr>
<td>TResult Func()</td>
<td>void Action&lt;&gt;()</td>
</tr>
<tr>
<td>TResult Func( T arg )</td>
<td>void Action( T arg )</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>TResult Func(
	T1 arg1,
	T2 arg2,
	...
	T15 arg15,
	T16 arg16 )</td>
<td>void Action(
	T1 arg1,
	T2 arg2,
	...
	T15 arg15,
	T16 arg16 )</td>
</tr>
</tbody>
</table>
</pre>
<p>This is still all abstract.  Here's how we create a <code>Func</code> using a lambda expression.</p>
<pre lang="csharp">Func mySquaringFunc =
   new Func< double, double> ( x =>  x*x ); 

double xSquared = mySquaringFunc( 45 );  // xSquared = 2025</pre>
<p>This <code>Func</code> delegate takes single double value and returns a double value.  Lamda expressions are commonly used today to generate delegates, however an anonymous delegate could also be used for the same purpose.</p>
<pre lang="csharp">Func mySquaringFunc =
   new Func< double, double> ( delegate( double x ) { return x*x; } ); 

double xSquared = mySquaringFunc( 45 );  // xSquared = 2025</pre>
<p>I find the lambda syntax to be more expressive and succinct.  From the table above, <code>T1 = double</code>, and <code>TResult = double</code>.</p>
<p><code>Action</code> types are not used within the NMath API because we are always dealing with functions and return values.  However, <code>Actions</code> are similarly defined, and may be used for example in queuing code where a queue manager takes work in the form of <code>Action</code> delegates.</p>
<pre lang="csharp">Action< DoubleVector > FFTWorker =
   new Action< DoubleVector >( v =>
      {
         DoubleComplexForward1DFFT fft = new DoubleComplexForward1DFFT( v.Length );
         fft.FFTInPlace( v );
       } );
...
QueueManager.AddWork( FFTWorker, bigDataVector );</pre>
<p>The <code>Action</code> above computes the in-place FFT, and the <code>QueueManager</code> can now generically schedule this work on the queue.</p>
<p>Happy Computing,<br />
Paul Shirkey</p>
<p><!-- NOTES // Error DoubleVector kernel = new DoubleVector(kernelLength, -8.2 * Math.PI, 1).Transform(Math.Sin); //Fix DoubleVector kernel = new DoubleVector(kernelLength, -8.2*Math.PI,1).Transform( new Func&lt;double, double&gt;( Math.Sin ) ); --></p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-api-updated-with-net-func-delegates">NMath API updated with .NET Func&lt;&gt; delegates</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/nmath-api-updated-with-net-func-delegates/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3711</post-id>	</item>
		<item>
		<title>NMath Stats integration with Essential Chart</title>
		<link>https://www.centerspace.net/nmath-stats-integration-with-essential-chart</link>
					<comments>https://www.centerspace.net/nmath-stats-integration-with-essential-chart#respond</comments>
		
		<dc:creator><![CDATA[Trevor Misfeldt]]></dc:creator>
		<pubDate>Tue, 28 Feb 2012 16:59:06 +0000</pubDate>
				<category><![CDATA[NMath Stats]]></category>
		<category><![CDATA[Syncfusion]]></category>
		<guid isPermaLink="false">http://www.centerspace.net/blog/uncategorized/nmath-stats-integration-with-essential-chart/</guid>

					<description><![CDATA[<p>We previously released some free adapter code and a whitepaper detailing how to create visualizations of NMath data with Syncfusion’s Essential Chart. A follow-up whitepaper and adapter code extends these capabilities to NMath Stats.  This paper details how to: Use the NMathStatsChart adapter to create and customize Essential Chart ChartControl instances easily. Plot vectors, matrices, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-stats-integration-with-essential-chart">NMath Stats integration with Essential Chart</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>We previously released some <a href="/nmath-integration-with-essential-chart/" target="_blank">free adapter code and a whitepaper</a> detailing how to create visualizations of NMath data with <a href="http://www.syncfusion.com/" target="_blank">Syncfusion’s</a> <a href="http://www.syncfusion.com/products/windows-forms/chart" target="_blank">Essential Chart</a>.</p>
<p>A follow-up whitepaper and adapter code extends these capabilities to <a href="/nmath-stats/" target="_blank">NMath Stats</a>.  This paper details how to:</p>
<ul>
<li>Use the NMathStatsChart adapter to create and customize Essential Chart ChartControl instances easily.</li>
<li>Plot vectors, matrices, functions, fitted functions, function peaks, least squares classes, and histograms using a variety of chart types.</li>
<li>Plot NMath Stats data structures such as data frames, probability distributions, linear regressions, goodness of fit, principal component analyses, and cluster analyses.</li>
</ul>
<p><a href="http://www.syncfusion.com/downloads/resources/whitepaper/centerspace0112">Click here</a> to download the free adapter code and detailed instructions.</p>
<p>The post <a rel="nofollow" href="https://www.centerspace.net/nmath-stats-integration-with-essential-chart">NMath Stats integration with Essential Chart</a> appeared first on <a rel="nofollow" href="https://www.centerspace.net">CenterSpace</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.centerspace.net/nmath-stats-integration-with-essential-chart/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3709</post-id>	</item>
	</channel>
</rss>
