Instead of a specific Silverlight version, we now provide a separate
Portable Library assebly that supports .Net 4.0.1 and higher,
Silverlight 5 ad well as .Net for Metro style apps (WinRT).
New NuGet Package MathNet.Numerics.Portable with the portable library.
Since MathNet.Numerics.Portable now supports silverlight, the normal
package MathNet.Numerics no longer supports it (.Net 4 only).
Reworked the common parallel execution infrastructure for more reasonable
abstractions and better compatibility with portable libraries. Portable
libraries do support parts of the TPL, but neither the Parallel class nor
straight threading.
Linear Algebra comes with a set of IO classes for reading and writing text
files as well as files compatible with Matlab. These classes have now been
extracted into a separate MathNet.Numerics.IO project and assembly. The
core project no longer has zlib.net as dependency (only Numerics.IO has).
Equals previously returned always false in case of (asymmetric) accidential
zeros. Instead, Equals now expects accidential zeros and treats them
correctly (so we can allow arithmetic algorithms to generate accidential
zeros, avoiding a lot of zero checks).
Previously sparse vectors for Complex and Complex32 did override
Object.Equals instead of the generic IEquatable<Vector<T>>.Equals.
Now only overrides the generic version to ensure that the right version
is called in all code paths.
Change LeftMultiply to a protected method (from protected abstract) and it now
calls TransposeThisAndMultiply(). TransposeThisAndMultiply has unit tests
so it was chosen as the "main" method. Overrides of LeftMultiply were removed,
because now only TransposeThisAndMultiply() needs to be overriden.
Signed-off-by: Alexander Karatarakis <alex@karatarakis.com>
api: removed the LU solve methods with the transpose option from LA provider interface for consistency with other solvers
added SecuritySafeCritical and SecurityCritical attributes native provider and p/invoke methods