Browse Source

moved factorization extenstions into typed namespaces

removed version t4 template for the silverlight project
la-knuth
Marcus Cuda 16 years ago
parent
commit
8e24293a79
  1. 11
      src/Examples/LinearAlgebra/Factorization/QR.cs
  2. 40
      src/Numerics/LinearAlgebra/Complex/ExtensionMethods.cs
  3. 100
      src/Numerics/LinearAlgebra/Complex32/ExtensionMethods.cs
  4. 99
      src/Numerics/LinearAlgebra/Double/ExtensionMethods.cs
  5. 99
      src/Numerics/LinearAlgebra/Single/ExtensionMethods.cs
  6. 5
      src/Numerics/Numerics.csproj
  7. 4
      src/Silverlight/Properties/AssemblyInfo.cs
  8. 50
      src/Silverlight/Silverlight.csproj
  9. 38
      src/Silverlight/Version.tt
  10. 2
      src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserCholeskyTests.cs
  11. 2
      src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserEvdTests.cs
  12. 2
      src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserGramSchmidtTests.cs
  13. 2
      src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserLUTests.cs
  14. 2
      src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserQRTests.cs
  15. 2
      src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserSvdTests.cs
  16. 2
      src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserCholeskyTests.cs
  17. 2
      src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserEvdTests.cs
  18. 2
      src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserGramSchmidtTests.cs
  19. 2
      src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserLUTests.cs
  20. 2
      src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserQRTests.cs
  21. 2
      src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserSvdTests.cs
  22. 1
      src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs
  23. 2
      src/UnitTests/LinearAlgebraTests/Double/Factorization/UserCholeskyTests.cs
  24. 2
      src/UnitTests/LinearAlgebraTests/Double/Factorization/UserEvdTests.cs
  25. 2
      src/UnitTests/LinearAlgebraTests/Double/Factorization/UserGramSchmidtTests.cs
  26. 2
      src/UnitTests/LinearAlgebraTests/Double/Factorization/UserLUTests.cs
  27. 2
      src/UnitTests/LinearAlgebraTests/Double/Factorization/UserQRTests.cs
  28. 2
      src/UnitTests/LinearAlgebraTests/Double/Factorization/UserSvdTests.cs
  29. 2
      src/UnitTests/LinearAlgebraTests/Single/Factorization/UserCholeskyTests.cs
  30. 2
      src/UnitTests/LinearAlgebraTests/Single/Factorization/UserEvdTests.cs
  31. 2
      src/UnitTests/LinearAlgebraTests/Single/Factorization/UserGramSchmidtTests.cs
  32. 2
      src/UnitTests/LinearAlgebraTests/Single/Factorization/UserLUTests.cs
  33. 2
      src/UnitTests/LinearAlgebraTests/Single/Factorization/UserQRTests.cs
  34. 2
      src/UnitTests/LinearAlgebraTests/Single/Factorization/UserSvdTests.cs

11
src/Examples/LinearAlgebra/Factorization/QR.cs

@ -29,7 +29,6 @@ namespace Examples.LinearAlgebra.Factorization
using System;
using System.Globalization;
using MathNet.Numerics.LinearAlgebra.Double;
using MathNet.Numerics.LinearAlgebra.Generic.Factorization;
/// <summary>
/// QR factorization example. Any real square matrix A (m x n) may be decomposed as A = QR where Q is an orthogonal matrix (m x m)
@ -104,26 +103,26 @@ namespace Examples.LinearAlgebra.Factorization
Console.WriteLine();
// Perform QR decomposition (Gram–Schmidt process)
qr = matrix.GramSchmidt();
var gramSchmidt = matrix.GramSchmidt();
Console.WriteLine(@"QR decomposition (Gram–Schmidt process)");
// 5. Orthogonal Q matrix
Console.WriteLine(@"5. Orthogonal Q matrix");
Console.WriteLine(qr.Q.ToString("#0.00\t", formatProvider));
Console.WriteLine(gramSchmidt.Q.ToString("#0.00\t", formatProvider));
Console.WriteLine();
// 6. Multiply Q matrix by its transpose gives identity matrix
Console.WriteLine(@"6. Multiply Q matrix by its transpose gives identity matrix");
Console.WriteLine((qr.Q.Transpose() * qr.Q).ToString("#0.00\t", formatProvider));
Console.WriteLine((gramSchmidt.Q.Transpose() * gramSchmidt.Q).ToString("#0.00\t", formatProvider));
Console.WriteLine();
// 7. Upper triangular factor R
Console.WriteLine(@"7. Upper triangular factor R");
Console.WriteLine(qr.R.ToString("#0.00\t", formatProvider));
Console.WriteLine(gramSchmidt.R.ToString("#0.00\t", formatProvider));
Console.WriteLine();
// 8. Reconstruct initial matrix: A = Q * R
reconstruct = qr.Q * qr.R;
reconstruct = gramSchmidt.Q * gramSchmidt.R;
Console.WriteLine(@"8. Reconstruct initial matrix: A = Q*R");
Console.WriteLine(reconstruct.ToString("#0.00\t", formatProvider));
Console.WriteLine();

40
src/Numerics/LinearAlgebra/Generic/Factorization/ExtensionMethods.cs → src/Numerics/LinearAlgebra/Complex/ExtensionMethods.cs

@ -3,9 +3,7 @@
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
// Copyright (c) 2009-2010 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
@ -14,10 +12,8 @@
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
@ -28,12 +24,12 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
namespace MathNet.Numerics.LinearAlgebra.Complex
{
using System;
using System.Numerics;
using Factorization;
using Generic;
using Numerics;
using Generic.Factorization;
/// <summary>
/// Extension methods which return factorizations for the various matrix classes.
@ -45,10 +41,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The Cholesky decomposition object.</returns>
/// <typeparam name="T">Supported data types are double, single, <see cref="Complex"/>, and <see cref="Complex32"/>.</typeparam>
public static Cholesky<T> Cholesky<T>(this Matrix<T> matrix) where T : struct, IEquatable<T>, IFormattable
public static Cholesky Cholesky(this Matrix<Complex> matrix)
{
return Factorization.Cholesky<T>.Create(matrix);
return (Cholesky)Cholesky<Complex>.Create(matrix);
}
/// <summary>
@ -56,10 +51,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The LU decomposition object.</returns>
/// <typeparam name="T">Supported data types are double, single, <see cref="Complex"/>, and <see cref="Complex32"/>.</typeparam>
public static LU<T> LU<T>(this Matrix<T> matrix) where T : struct, IEquatable<T>, IFormattable
public static LU LU(this Matrix<Complex> matrix)
{
return Factorization.LU<T>.Create(matrix);
return (LU)LU<Complex>.Create(matrix);
}
/// <summary>
@ -67,10 +61,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
/// <typeparam name="T">Supported data types are double, single, <see cref="Complex"/>, and <see cref="Complex32"/>.</typeparam>
public static QR<T> QR<T>(this Matrix<T> matrix) where T : struct, IEquatable<T>, IFormattable
public static QR QR(this Matrix<Complex> matrix)
{
return Factorization.QR<T>.Create(matrix);
return (QR)QR<Complex>.Create(matrix);
}
/// <summary>
@ -78,10 +71,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
/// <typeparam name="T">Supported data types are double, single, <see cref="Complex"/>, and <see cref="Complex32"/>.</typeparam>
public static GramSchmidt<T> GramSchmidt<T>(this Matrix<T> matrix) where T : struct, IEquatable<T>, IFormattable
public static GramSchmidt GramSchmidt(this Matrix<Complex> matrix)
{
return Factorization.GramSchmidt<T>.Create(matrix);
return (GramSchmidt)GramSchmidt<Complex>.Create(matrix);
}
/// <summary>
@ -90,10 +82,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
/// <param name="matrix">The matrix to factor.</param>
/// <param name="computeVectors">Compute the singular U and VT vectors or not.</param>
/// <returns>The SVD decomposition object.</returns>
/// <typeparam name="T">Supported data types are double, single, <see cref="Complex"/>, and <see cref="Complex32"/>.</typeparam>
public static Svd<T> Svd<T>(this Matrix<T> matrix, bool computeVectors) where T : struct, IEquatable<T>, IFormattable
public static Svd Svd(this Matrix<Complex> matrix, bool computeVectors)
{
return Factorization.Svd<T>.Create(matrix, computeVectors);
return (Svd)Svd<Complex>.Create(matrix, computeVectors);
}
/// <summary>
@ -101,10 +92,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic.Factorization
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The EVD decomposition object.</returns>
/// <typeparam name="T">Supported data types are double, single, <see cref="Complex"/>, and <see cref="Complex32"/>.</typeparam>
public static Evd<T> Evd<T>(this Matrix<T> matrix) where T : struct, IEquatable<T>, IFormattable
public static Evd Evd(this Matrix<Complex> matrix)
{
return Factorization.Evd<T>.Create(matrix);
return (Evd)Evd<Complex>.Create(matrix);
}
}
}

100
src/Numerics/LinearAlgebra/Complex32/ExtensionMethods.cs

@ -0,0 +1,100 @@
// <copyright file="ExtensionMethods.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
// Copyright (c) 2009-2010 Math.NET
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.LinearAlgebra.Complex32
{
using Factorization;
using Generic;
using Generic.Factorization;
using Numerics;
/// <summary>
/// Extension methods which return factorizations for the various matrix classes.
/// </summary>
public static class ExtensionMethods
{
/// <summary>
/// Computes the Cholesky decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The Cholesky decomposition object.</returns>
public static Cholesky Cholesky(this Matrix<Complex32> matrix)
{
return (Cholesky)Cholesky<Complex32>.Create(matrix);
}
/// <summary>
/// Computes the LU decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The LU decomposition object.</returns>
public static LU LU(this Matrix<Complex32> matrix)
{
return (LU)LU<Complex32>.Create(matrix);
}
/// <summary>
/// Computes the QR decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
public static QR QR(this Matrix<Complex32> matrix)
{
return (QR)QR<Complex32>.Create(matrix);
}
/// <summary>
/// Computes the QR decomposition for a matrix using Modified Gram-Schmidt Orthogonalization.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
public static GramSchmidt GramSchmidt(this Matrix<Complex32> matrix)
{
return (GramSchmidt)GramSchmidt<Complex32>.Create(matrix);
}
/// <summary>
/// Computes the SVD decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <param name="computeVectors">Compute the singular U and VT vectors or not.</param>
/// <returns>The SVD decomposition object.</returns>
public static Svd Svd(this Matrix<Complex32> matrix, bool computeVectors)
{
return (Svd)Svd<Complex32>.Create(matrix, computeVectors);
}
/// <summary>
/// Computes the EVD decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The EVD decomposition object.</returns>
public static Evd Evd(this Matrix<Complex32> matrix)
{
return (Evd)Evd<Complex32>.Create(matrix);
}
}
}

99
src/Numerics/LinearAlgebra/Double/ExtensionMethods.cs

@ -0,0 +1,99 @@
// <copyright file="ExtensionMethods.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
// Copyright (c) 2009-2010 Math.NET
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.LinearAlgebra.Double
{
using Factorization;
using Generic;
using Generic.Factorization;
/// <summary>
/// Extension methods which return factorizations for the various matrix classes.
/// </summary>
public static class ExtensionMethods
{
/// <summary>
/// Computes the Cholesky decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The Cholesky decomposition object.</returns>
public static Cholesky Cholesky(this Matrix<double> matrix)
{
return (Cholesky)Cholesky<double>.Create(matrix);
}
/// <summary>
/// Computes the LU decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The LU decomposition object.</returns>
public static LU LU(this Matrix<double> matrix)
{
return (LU)LU<double>.Create(matrix);
}
/// <summary>
/// Computes the QR decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
public static QR QR(this Matrix<double> matrix)
{
return (QR)QR<double>.Create(matrix);
}
/// <summary>
/// Computes the QR decomposition for a matrix using Modified Gram-Schmidt Orthogonalization.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
public static GramSchmidt GramSchmidt(this Matrix<double> matrix)
{
return (GramSchmidt)GramSchmidt<double>.Create(matrix);
}
/// <summary>
/// Computes the SVD decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <param name="computeVectors">Compute the singular U and VT vectors or not.</param>
/// <returns>The SVD decomposition object.</returns>
public static Svd Svd(this Matrix<double> matrix, bool computeVectors)
{
return (Svd)Svd<double>.Create(matrix, computeVectors);
}
/// <summary>
/// Computes the EVD decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The EVD decomposition object.</returns>
public static Evd Evd(this Matrix<double> matrix)
{
return (Evd)Evd<double>.Create(matrix);
}
}
}

99
src/Numerics/LinearAlgebra/Single/ExtensionMethods.cs

@ -0,0 +1,99 @@
// <copyright file="ExtensionMethods.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
// Copyright (c) 2009-2010 Math.NET
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
namespace MathNet.Numerics.LinearAlgebra.Single
{
using Factorization;
using Generic;
using Generic.Factorization;
/// <summary>
/// Extension methods which return factorizations for the various matrix classes.
/// </summary>
public static class ExtensionMethods
{
/// <summary>
/// Computes the Cholesky decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The Cholesky decomposition object.</returns>
public static Cholesky Cholesky(this Matrix<float> matrix)
{
return (Cholesky)Cholesky<float>.Create(matrix);
}
/// <summary>
/// Computes the LU decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The LU decomposition object.</returns>
public static LU LU(this Matrix<float> matrix)
{
return (LU)LU<float>.Create(matrix);
}
/// <summary>
/// Computes the QR decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
public static QR QR(this Matrix<float> matrix)
{
return (QR)QR<float>.Create(matrix);
}
/// <summary>
/// Computes the QR decomposition for a matrix using Modified Gram-Schmidt Orthogonalization.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The QR decomposition object.</returns>
public static GramSchmidt GramSchmidt(this Matrix<float> matrix)
{
return (GramSchmidt)GramSchmidt<float>.Create(matrix);
}
/// <summary>
/// Computes the SVD decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <param name="computeVectors">Compute the singular U and VT vectors or not.</param>
/// <returns>The SVD decomposition object.</returns>
public static Svd Svd(this Matrix<float> matrix, bool computeVectors)
{
return (Svd)Svd<float>.Create(matrix, computeVectors);
}
/// <summary>
/// Computes the EVD decomposition for a matrix.
/// </summary>
/// <param name="matrix">The matrix to factor.</param>
/// <returns>The EVD decomposition object.</returns>
public static Evd Evd(this Matrix<float> matrix)
{
return (Evd)Evd<float>.Create(matrix);
}
}
}

5
src/Numerics/Numerics.csproj

@ -124,6 +124,7 @@
<Compile Include="Distributions\Multivariate\InverseWishart.cs" />
<Compile Include="Distributions\Multivariate\MatrixNormal.cs" />
<Compile Include="Distributions\Multivariate\Wishart.cs" />
<Compile Include="LinearAlgebra\Complex32\ExtensionMethods.cs" />
<Compile Include="LinearAlgebra\Complex32\Factorization\Cholesky.cs" />
<Compile Include="LinearAlgebra\Complex32\DenseMatrix.cs" />
<Compile Include="LinearAlgebra\Complex32\DiagonalMatrix.cs" />
@ -146,6 +147,7 @@
<SubType>Code</SubType>
</Compile>
<Compile Include="LinearAlgebra\Complex\DiagonalMatrix.cs" />
<Compile Include="LinearAlgebra\Complex\ExtensionMethods.cs" />
<Compile Include="LinearAlgebra\Complex\Factorization\Cholesky.cs" />
<Compile Include="LinearAlgebra\Complex\Factorization\Evd.cs" />
<Compile Include="LinearAlgebra\Complex\Factorization\GramSchmidt.cs" />
@ -161,6 +163,7 @@
<Compile Include="LinearAlgebra\Complex\Solvers\StopCriterium\IIterationStopCriterium.cs" />
<Compile Include="LinearAlgebra\Complex\SparseMatrix.cs" />
<Compile Include="LinearAlgebra\Complex\Vector.cs" />
<Compile Include="LinearAlgebra\Double\ExtensionMethods.cs" />
<Compile Include="LinearAlgebra\Double\Factorization\Cholesky.cs" />
<Compile Include="LinearAlgebra\Double\DenseMatrix.cs" />
<Compile Include="LinearAlgebra\Double\DiagonalMatrix.cs" />
@ -256,6 +259,7 @@
<Compile Include="LinearAlgebra\Single\DenseMatrix.cs" />
<Compile Include="LinearAlgebra\Single\DenseVector.cs" />
<Compile Include="LinearAlgebra\Single\DiagonalMatrix.cs" />
<Compile Include="LinearAlgebra\Single\ExtensionMethods.cs" />
<Compile Include="LinearAlgebra\Single\Factorization\Cholesky.cs" />
<Compile Include="LinearAlgebra\Single\Factorization\DenseGramSchmidt.cs" />
<Compile Include="LinearAlgebra\Single\Factorization\DenseEvd.cs" />
@ -305,7 +309,6 @@
<Compile Include="LinearAlgebra\Double\Factorization\DenseQR.cs" />
<Compile Include="LinearAlgebra\Double\Factorization\DenseSvd.cs" />
<Compile Include="LinearAlgebra\Double\Factorization\UserGramSchmidt.cs" />
<Compile Include="LinearAlgebra\Generic\Factorization\ExtensionMethods.cs" />
<Compile Include="LinearAlgebra\Generic\Factorization\LU.cs" />
<Compile Include="LinearAlgebra\Generic\Factorization\QR.cs" />
<Compile Include="LinearAlgebra\Generic\Factorization\Svd.cs" />

4
src/Silverlight/Properties/AssemblyInfo.cs

@ -29,7 +29,6 @@
using System;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Math.NET Numerics for Silverlight")]
@ -44,4 +43,5 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: Guid("7b66646f-f0ee-425d-9065-910d1937a2df")]
[assembly: NeutralResourcesLanguage("en")]
//[assembly: InternalsVisibleTo("MathNet.Numerics.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100ed2314a577643d859571b8b9307c6ff2670525c4598fbb307e57ea65ebf5d4417284cb3da9181636480b623f4db8cc3c1947244ba069df0df86e2431621f51a488f9929519a1c5d0ae595f6e2d0e4094685f0c1229ff658360acbb9f63f1a0258e984dda00dc7ad4fd16dbb550ec1ef8a11df138402b7c1998ee224e652c839b")]
[assembly: AssemblyVersion("2011.04.17.0")]
[assembly: AssemblyFileVersion("2011.04.17")]

50
src/Silverlight/Silverlight.csproj

@ -17,6 +17,21 @@
<SilverlightApplication>false</SilverlightApplication>
<ValidateXaml>true</ValidateXaml>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<!-- This property group is only here to support building this project using the
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
@ -294,6 +309,9 @@
<Compile Include="..\Numerics\LinearAlgebra\Complex32\DiagonalMatrix.cs">
<Link>LinearAlgebra\Complex32\DiagonalMatrix.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Complex32\ExtensionMethods.cs">
<Link>LinearAlgebra\Complex32\ExtensionMethods.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Complex32\Factorization\Cholesky.cs">
<Link>LinearAlgebra\Complex32\Factorization\Cholesky.cs</Link>
</Compile>
@ -429,6 +447,9 @@
<Compile Include="..\Numerics\LinearAlgebra\Complex\DiagonalMatrix.cs">
<Link>LinearAlgebra\Complex\DiagonalMatrix.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Complex\ExtensionMethods.cs">
<Link>LinearAlgebra\Complex\ExtensionMethods.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Complex\Factorization\Cholesky.cs">
<Link>LinearAlgebra\Complex\Factorization\Cholesky.cs</Link>
</Compile>
@ -564,6 +585,9 @@
<Compile Include="..\Numerics\LinearAlgebra\Double\DiagonalMatrix.cs">
<Link>LinearAlgebra\Double\DiagonalMatrix.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Double\ExtensionMethods.cs">
<Link>LinearAlgebra\Double\ExtensionMethods.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Double\Factorization\Cholesky.cs">
<Link>LinearAlgebra\Double\Factorization\Cholesky.cs</Link>
</Compile>
@ -708,6 +732,9 @@
<Compile Include="..\Numerics\LinearAlgebra\Single\DiagonalMatrix.cs">
<Link>LinearAlgebra\Single\DiagonalMatrix.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Single\ExtensionMethods.cs">
<Link>LinearAlgebra\Single\ExtensionMethods.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Single\Factorization\Cholesky.cs">
<Link>LinearAlgebra\Single\Factorization\Cholesky.cs</Link>
</Compile>
@ -834,9 +861,6 @@
<Compile Include="..\Numerics\LinearAlgebra\Generic\Factorization\Cholesky.cs">
<Link>LinearAlgebra\Generic\Factorization\Cholesky.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Generic\Factorization\ExtensionMethods.cs">
<Link>LinearAlgebra\Generic\Factorization\ExtensionMethods.cs</Link>
</Compile>
<Compile Include="..\Numerics\LinearAlgebra\Generic\Factorization\LU.cs">
<Link>LinearAlgebra\Generic\Factorization\LU.cs</Link>
</Compile>
@ -1010,11 +1034,6 @@
<Compile Include="Threading\Task.cs" />
<Compile Include="Threading\TaskOfT.cs" />
<Compile Include="Threading\ThreadQueue.cs" />
<Compile Include="Version.cs">
<DependentUpon>Version.tt</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\Numerics\Properties\Resources.resx">
@ -1025,12 +1044,17 @@
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<None Include="Version.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>Version.cs</LastGenOutput>
</None>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>

38
src/Silverlight/Version.tt

@ -1,38 +0,0 @@
// <copyright file="Version.cs" company="Math.NET">
// Math.NET Numerics, part of the Math.NET Project
// http://mathnet.opensourcedotnet.info
//
// Copyright (c) 2009 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
/* This file is automatically generated - do not modify it. Change Version.tt instead.
Last generated on UTC <#=DateTime.UtcNow.ToString("u")#>
*/
<#@ template Language="C#"#>
using System.Reflection;
<# DateTime date = DateTime.UtcNow; #>
[assembly: AssemblyVersion("<#=date.Year#>.<#=date.Month.ToString("0#")#>.<#=date.Day#>.<#=(int)date.TimeOfDay.TotalMinutes#>")]
[assembly: AssemblyFileVersion("<#=date.Year#>.<#=date.Month.ToString("0#")#>.<#=date.Day#>.<#=(int)date.TimeOfDay.TotalMinutes#>")]

2
src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserCholeskyTests.cs

@ -28,7 +28,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Complex;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserEvdTests.cs

@ -28,8 +28,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Complex;
using LinearAlgebra.Complex.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserGramSchmidtTests.cs

@ -28,8 +28,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Complex;
using LinearAlgebra.Complex.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserLUTests.cs

@ -28,7 +28,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Complex;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserQRTests.cs

@ -28,8 +28,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Complex;
using LinearAlgebra.Complex.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Complex/Factorization/UserSvdTests.cs

@ -28,8 +28,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Complex;
using LinearAlgebra.Complex.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserCholeskyTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Complex32;
using NUnit.Framework;
using Complex32 = Numerics.Complex32;

2
src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserEvdTests.cs

@ -28,8 +28,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Complex32;
using LinearAlgebra.Complex32.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
using Complex32 = Numerics.Complex32;

2
src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserGramSchmidtTests.cs

@ -27,8 +27,8 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
using System;
using LinearAlgebra.Complex32;
using LinearAlgebra.Complex32.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
using Complex32 = Numerics.Complex32;

2
src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserLUTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Complex32;
using NUnit.Framework;
using Complex32 = Numerics.Complex32;

2
src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserQRTests.cs

@ -27,8 +27,8 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
using System;
using LinearAlgebra.Complex32;
using LinearAlgebra.Complex32.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
using Complex32 = Numerics.Complex32;

2
src/UnitTests/LinearAlgebraTests/Complex32/Factorization/UserSvdTests.cs

@ -27,8 +27,8 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
using System;
using LinearAlgebra.Complex32;
using LinearAlgebra.Complex32.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
using Complex32 = Numerics.Complex32;

1
src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs

@ -28,7 +28,6 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using LinearAlgebra.Double;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Double/Factorization/UserCholeskyTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Double;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Double/Factorization/UserEvdTests.cs

@ -28,8 +28,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Double;
using LinearAlgebra.Double.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Double/Factorization/UserGramSchmidtTests.cs

@ -27,8 +27,8 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using LinearAlgebra.Double;
using LinearAlgebra.Double.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Double/Factorization/UserLUTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Double;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Double/Factorization/UserQRTests.cs

@ -27,8 +27,8 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using LinearAlgebra.Double;
using LinearAlgebra.Double.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Double/Factorization/UserSvdTests.cs

@ -27,8 +27,8 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
using System;
using LinearAlgebra.Double;
using LinearAlgebra.Double.Factorization;
using LinearAlgebra.Generic.Factorization;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Single/Factorization/UserCholeskyTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Single;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Single/Factorization/UserEvdTests.cs

@ -28,7 +28,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
using System;
using System.Numerics;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Single;
using LinearAlgebra.Single.Factorization;
using NUnit.Framework;

2
src/UnitTests/LinearAlgebraTests/Single/Factorization/UserGramSchmidtTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Single;
using LinearAlgebra.Single.Factorization;
using NUnit.Framework;

2
src/UnitTests/LinearAlgebraTests/Single/Factorization/UserLUTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Single;
using NUnit.Framework;
/// <summary>

2
src/UnitTests/LinearAlgebraTests/Single/Factorization/UserQRTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Single;
using LinearAlgebra.Single.Factorization;
using NUnit.Framework;

2
src/UnitTests/LinearAlgebraTests/Single/Factorization/UserSvdTests.cs

@ -27,7 +27,7 @@
namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
using System;
using LinearAlgebra.Generic.Factorization;
using LinearAlgebra.Single;
using LinearAlgebra.Single.Factorization;
using NUnit.Framework;

Loading…
Cancel
Save