diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs
index 48d0122b..d240535a 100644
--- a/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs
+++ b/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs
@@ -3,7 +3,9 @@
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
-// Copyright (c) 2009-2010 Math.NET
+//
+// Copyright (c) 2009-2013 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
@@ -12,8 +14,10 @@
// 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
@@ -27,7 +31,7 @@
using System;
using System.Globalization;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium;
diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs b/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs
index 0586169c..ae512d5c 100644
--- a/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs
+++ b/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs
@@ -3,7 +3,9 @@
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
-// Copyright (c) 2009-2010 Math.NET
+//
+// Copyright (c) 2009-2013 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
@@ -12,8 +14,10 @@
// 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,7 +32,7 @@ using System;
using System.Globalization;
using System.Reflection;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium;
diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs
index 7432154a..d3cb3aa3 100644
--- a/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs
+++ b/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs
@@ -3,7 +3,9 @@
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
-// Copyright (c) 2009-2010 Math.NET
+//
+// Copyright (c) 2009-2013 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
@@ -12,8 +14,10 @@
// 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
@@ -27,7 +31,7 @@
using System;
using System.Globalization;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium;
diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs
index f8c74827..90d108bb 100644
--- a/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs
+++ b/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs
@@ -3,7 +3,9 @@
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
-// Copyright (c) 2009-2010 Math.NET
+//
+// Copyright (c) 2009-2013 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
@@ -12,8 +14,10 @@
// 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
@@ -27,7 +31,7 @@
using System;
using System.Globalization;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium;
diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs
index 3d254514..db25cbf2 100644
--- a/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs
+++ b/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs
@@ -3,7 +3,9 @@
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
-// Copyright (c) 2009-2010 Math.NET
+//
+// Copyright (c) 2009-2013 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
@@ -12,8 +14,10 @@
// 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
@@ -27,7 +31,7 @@
using System;
using System.Globalization;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium;
diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs
similarity index 98%
rename from src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs
rename to src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs
index b06dcfb7..1387579e 100644
--- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,14 +34,13 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers
{
#if NOSYSNUMERICS
using Complex = Numerics.Complex;
#else
using Complex = System.Numerics.Complex;
-
#endif
///
@@ -140,7 +139,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
/// When using this constructor the solver will use the with
/// the standard settings.
///
- /// The that will be used to precondition the matrix equation.
+ /// The that will be used to precondition the matrix equation.
public BiCgStab(IPreConditioner preconditioner)
: this(preconditioner, null)
{
@@ -161,7 +160,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
///
///
///
- /// The that will be used to precondition the matrix equation.
+ /// The that will be used to precondition the matrix equation.
/// The that will be used to monitor the iterative process.
public BiCgStab(IPreConditioner preconditioner, IIterator iterator)
{
@@ -170,7 +169,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
}
///
- /// Sets the that will be used to precondition the iterative process.
+ /// Sets the that will be used to precondition the iterative process.
///
/// The preconditioner.
public void SetPreconditioner(IPreConditioner preconditioner)
diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs
rename to src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs
index 1068ecf1..0ab0abd8 100644
--- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -37,7 +37,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers
{
#if NOSYSNUMERICS
diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs
rename to src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs
index af7575ec..858ddd98 100644
--- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,14 +34,13 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers
{
#if NOSYSNUMERICS
using Complex = Numerics.Complex;
#else
using Complex = System.Numerics.Complex;
-
#endif
///
diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs
rename to src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs
index 46407fc2..0f8a4d61 100644
--- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -38,7 +38,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers
{
#if NOSYSNUMERICS
diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/TFQMR.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs
rename to src/Numerics/LinearAlgebra/Complex/Solvers/TFQMR.cs
index db65ec7e..25f16c01 100644
--- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Solvers/TFQMR.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers
{
#if NOSYSNUMERICS
diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs
similarity index 92%
rename from src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs
rename to src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs
index a878e1bc..da0b15fb 100644
--- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,10 +34,8 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers
{
- using Complex32 = Numerics.Complex32;
-
///
/// A Bi-Conjugate Gradient stabilized iterative matrix solver.
///
@@ -67,7 +65,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// solver.
///
///
- public sealed class BiCgStab : IIterativeSolver
+ public sealed class BiCgStab : IIterativeSolver
{
///
/// The status used if there is no status, i.e. the solver hasn't run yet and there is no
@@ -79,12 +77,12 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The preconditioner that will be used. Can be set to , in which case the default
/// pre-conditioner will be used.
///
- IPreConditioner _preconditioner;
+ IPreConditioner _preconditioner;
///
/// The iterative process controller.
///
- IIterator _iterator;
+ IIterator _iterator;
///
/// Indicates if the user has stopped the solver.
@@ -122,7 +120,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
///
/// The that will be used to monitor the iterative process.
- public BiCgStab(IIterator iterator)
+ public BiCgStab(IIterator iterator)
: this(null, iterator)
{
}
@@ -135,7 +133,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// the standard settings.
///
/// The that will be used to precondition the matrix equation.
- public BiCgStab(IPreConditioner preconditioner)
+ public BiCgStab(IPreConditioner preconditioner)
: this(preconditioner, null)
{
}
@@ -157,7 +155,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
/// The that will be used to precondition the matrix equation.
/// The that will be used to monitor the iterative process.
- public BiCgStab(IPreConditioner preconditioner, IIterator iterator)
+ public BiCgStab(IPreConditioner preconditioner, IIterator iterator)
{
_iterator = iterator;
_preconditioner = preconditioner;
@@ -167,7 +165,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to precondition the iterative process.
///
/// The preconditioner.
- public void SetPreconditioner(IPreConditioner preconditioner)
+ public void SetPreconditioner(IPreConditioner preconditioner)
{
_preconditioner = preconditioner;
}
@@ -176,7 +174,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to track the iterative process.
///
/// The iterator.
- public void SetIterator(IIterator iterator)
+ public void SetIterator(IIterator iterator)
{
_iterator = iterator;
}
@@ -207,7 +205,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient , A.
/// The solution , b.
/// The result , x.
- public Vector Solve(Matrix matrix, Vector vector)
+ public Vector Solve(Matrix matrix, Vector vector)
{
if (vector == null)
{
@@ -226,7 +224,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient , A.
/// The solution , b.
/// The result , x.
- public void Solve(Matrix matrix, Vector input, Vector result)
+ public void Solve(Matrix matrix, Vector input, Vector result)
{
// If we were stopped before, we are no longer
// We're doing this at the start of the method to ensure
@@ -300,9 +298,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
// create some temporary float variables that are needed
// to hold values in between iterations
- Complex32 currentRho = 0;
- Complex32 alpha = 0;
- Complex32 omega = 0;
+ Numerics.Complex32 currentRho = 0;
+ Numerics.Complex32 alpha = 0;
+ Numerics.Complex32 omega = 0;
var iterationNumber = 0;
while (ShouldContinue(iterationNumber, result, input, residuals))
@@ -434,7 +432,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Residual values in .
/// Instance of the x.
/// Instance of the b.
- static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
+ static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
{
// -Ax = residual
matrix.Multiply(x, residual);
@@ -454,7 +452,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Source .
/// Residual .
/// true if continue, otherwise false
- bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
+ bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
{
if (_hasBeenStopped)
{
@@ -478,7 +476,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient , A.
/// The solution , B.
/// The result , X.
- public Matrix Solve(Matrix matrix, Matrix input)
+ public Matrix Solve(Matrix matrix, Matrix input)
{
if (matrix == null)
{
@@ -502,7 +500,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient , A.
/// The solution , B.
/// The result , X
- public void Solve(Matrix matrix, Matrix input, Matrix result)
+ public void Solve(Matrix matrix, Matrix input, Matrix result)
{
if (matrix == null)
{
diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs
similarity index 94%
rename from src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs
rename to src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs
index ad653a73..9cceea81 100644
--- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs
+++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -37,10 +37,8 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers
{
- using Numerics;
-
///
/// A composite matrix solver. The actual solver is made by a sequence of
/// matrix solvers.
@@ -56,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Note that if an iterator is passed to this solver it will be used for all the sub-solvers.
///
///
- public sealed class CompositeSolver : IIterativeSolver
+ public sealed class CompositeSolver : IIterativeSolver
{
#region Internal class - DoubleComparer
///
@@ -103,7 +101,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The collection of iterative solver setups. Stored based on the
/// ratio between the relative speed and relative accuracy.
///
- private static readonly SortedList>> SolverSetups = new SortedList>>(new DoubleComparer());
+ private static readonly SortedList>> SolverSetups = new SortedList>>(new DoubleComparer());
#endif
#region Solver information loading methods
@@ -268,18 +266,18 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
{
interfaceTypes.Clear();
interfaceTypes.AddRange(type.GetInterfaces());
- if (!interfaceTypes.Any(match => typeof(IIterativeSolverSetup).IsAssignableFrom(match)))
+ if (!interfaceTypes.Any(match => typeof(IIterativeSolverSetup).IsAssignableFrom(match)))
{
continue;
}
// See if we actually want this type of iterative solver
- IIterativeSolverSetup setup;
+ IIterativeSolverSetup setup;
try
{
// If something goes wrong we just ignore it and move on with the next type.
// There should probably be a log somewhere indicating that something went wrong?
- setup = (IIterativeSolverSetup)Activator.CreateInstance(type);
+ setup = (IIterativeSolverSetup)Activator.CreateInstance(type);
}
catch (ArgumentException)
{
@@ -322,7 +320,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
var ratio = setup.SolutionSpeed / setup.Reliability;
if (!SolverSetups.ContainsKey(ratio))
{
- SolverSetups.Add(ratio, new List>());
+ SolverSetups.Add(ratio, new List>());
}
var list = SolverSetups[ratio];
@@ -335,7 +333,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
/// The collection of solvers that will be used to
///
- private readonly List> _solvers = new List>();
+ private readonly List> _solvers = new List>();
///
/// The status of the calculation.
@@ -345,7 +343,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
/// The iterator that is used to control the iteration process.
///
- private IIterator _iterator;
+ private IIterator _iterator;
///
/// A flag indicating if the solver has been stopped or not.
@@ -356,7 +354,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The solver that is currently running. Reference is used to be able to stop the
/// solver if the user cancels the solve process.
///
- private IIterativeSolver _currentSolver;
+ private IIterativeSolver _currentSolver;
///
/// Initializes a new instance of the class with the default iterator.
@@ -369,7 +367,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Initializes a new instance of the class with the specified iterator.
///
/// The iterator that will be used to control the iteration process.
- public CompositeSolver(IIterator iterator)
+ public CompositeSolver(IIterator iterator)
{
_iterator = iterator;
}
@@ -378,7 +376,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the IIterator that will be used to track the iterative process.
///
/// The iterator.
- public void SetIterator(IIterator iterator)
+ public void SetIterator(IIterator iterator)
{
_iterator = iterator;
}
@@ -416,7 +414,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b.
/// The result vector, x.
- public Vector Solve(Matrix matrix, Vector vector)
+ public Vector Solve(Matrix matrix, Vector vector)
{
if (vector == null)
{
@@ -435,7 +433,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b
/// The result vector, x
- public void Solve(Matrix matrix, Vector input, Vector result)
+ public void Solve(Matrix matrix, Vector input, Vector result)
{
// If we were stopped before, we are no longer
// We're doing this at the start of the method to ensure
@@ -577,7 +575,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X.
- public Matrix Solve(Matrix matrix, Matrix input)
+ public Matrix Solve(Matrix matrix, Matrix input)
{
if (matrix == null)
{
@@ -601,7 +599,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X
- public void Solve(Matrix matrix, Matrix input, Matrix result)
+ public void Solve(Matrix matrix, Matrix input, Matrix result)
{
if (matrix == null)
{
diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs
similarity index 93%
rename from src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs
rename to src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs
index ef30bfa7..649cfb94 100644
--- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs
+++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,10 +34,8 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers
{
- using Numerics;
-
///
/// A Generalized Product Bi-Conjugate Gradient iterative matrix solver.
///
@@ -65,7 +63,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// solver.
///
///
- public sealed class GpBiCg : IIterativeSolver
+ public sealed class GpBiCg : IIterativeSolver
{
///
/// The status used if there is no status, i.e. the solver hasn't run yet and there is no
@@ -77,12 +75,12 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The preconditioner that will be used. Can be set to null, in which case the default
/// pre-conditioner will be used.
///
- IPreConditioner _preconditioner;
+ IPreConditioner _preconditioner;
///
/// The iterative process controller.
///
- IIterator _iterator;
+ IIterator _iterator;
///
/// Indicates the number of BiCGStab steps should be taken
@@ -132,7 +130,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
///
/// The that will be used to monitor the iterative process.
- public GpBiCg(IIterator iterator)
+ public GpBiCg(IIterator iterator)
: this(null, iterator)
{
}
@@ -145,7 +143,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// the standard settings.
///
/// The that will be used to precondition the matrix equation.
- public GpBiCg(IPreConditioner preconditioner)
+ public GpBiCg(IPreConditioner preconditioner)
: this(preconditioner, null)
{
}
@@ -167,7 +165,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
/// The that will be used to precondition the matrix equation.
/// The that will be used to monitor the iterative process.
- public GpBiCg(IPreConditioner preconditioner, IIterator iterator)
+ public GpBiCg(IPreConditioner preconditioner, IIterator iterator)
{
_iterator = iterator;
_preconditioner = preconditioner;
@@ -215,7 +213,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to precondition the iterative process.
///
/// The preconditioner.
- public void SetPreconditioner(IPreConditioner preconditioner)
+ public void SetPreconditioner(IPreConditioner preconditioner)
{
_preconditioner = preconditioner;
}
@@ -224,7 +222,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to track the iterative process.
///
/// The iterator.
- public void SetIterator(IIterator iterator)
+ public void SetIterator(IIterator iterator)
{
_iterator = iterator;
}
@@ -256,7 +254,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b.
/// The result vector, x.
- public Vector Solve(Matrix matrix, Vector vector)
+ public Vector Solve(Matrix matrix, Vector vector)
{
if (vector == null)
{
@@ -275,7 +273,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b
/// The result vector, x
- public void Solve(Matrix matrix, Vector input, Vector result)
+ public void Solve(Matrix matrix, Vector input, Vector result)
{
// If we were stopped before, we are no longer
// We're doing this at the start of the method to ensure
@@ -337,7 +335,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
CalculateTrueResidual(matrix, residuals, xtemp, input);
// Define the temporary scalars
- Complex32 beta = 0;
+ Numerics.Complex32 beta = 0;
// Define the temporary vectors
// rDash_0 = r_0
@@ -417,8 +415,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
// system, but we'll only have to take special measures
// if we don't do any so ...
var ctdot = c.ConjugateDotProduct(t);
- Complex32 eta;
- Complex32 sigma;
+ Numerics.Complex32 eta;
+ Numerics.Complex32 sigma;
if (((_numberOfBiCgStabSteps == 0) && (iterationNumber == 0)) || ShouldRunBiCgStabSteps(iterationNumber))
{
// sigma_k = (c_k * t_k) / (c_k * c_k)
@@ -524,7 +522,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Residual values in .
/// Instance of the x.
/// Instance of the b.
- static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
+ static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
{
// -Ax = residual
matrix.Multiply(x, residual);
@@ -542,7 +540,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Source .
/// Residual .
/// true if continue, otherwise false
- bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
+ bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
{
if (_hasBeenStopped)
{
@@ -583,7 +581,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X.
- public Matrix Solve(Matrix matrix, Matrix input)
+ public Matrix Solve(Matrix matrix, Matrix input)
{
if (matrix == null)
{
@@ -607,7 +605,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X
- public void Solve(Matrix matrix, Matrix input, Matrix result)
+ public void Solve(Matrix matrix, Matrix input, Matrix result)
{
if (matrix == null)
{
diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs
similarity index 92%
rename from src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs
rename to src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs
index 16e2f4a9..9019921a 100644
--- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -38,10 +38,8 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers
{
- using Numerics;
-
///
/// A Multiple-Lanczos Bi-Conjugate Gradient stabilized iterative matrix solver.
///
@@ -65,7 +63,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// solver.
///
///
- public sealed class MlkBiCgStab : IIterativeSolver
+ public sealed class MlkBiCgStab : IIterativeSolver
{
///
/// The default number of starting vectors.
@@ -82,17 +80,17 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The preconditioner that will be used. Can be set to , in which case the default
/// pre-conditioner will be used.
///
- IPreConditioner _preconditioner;
+ IPreConditioner _preconditioner;
///
/// The iterative process controller.
///
- IIterator _iterator;
+ IIterator _iterator;
///
/// The collection of starting vectors which are used as the basis for the Krylov sub-space.
///
- IList> _startingVectors;
+ IList> _startingVectors;
///
/// The number of starting vectors used by the algorithm
@@ -135,7 +133,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
///
/// The that will be used to monitor the iterative process.
- public MlkBiCgStab(IIterator iterator)
+ public MlkBiCgStab(IIterator iterator)
: this(null, iterator)
{
}
@@ -148,7 +146,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// the standard settings.
///
/// The that will be used to precondition the matrix equation.
- public MlkBiCgStab(IPreConditioner preconditioner)
+ public MlkBiCgStab(IPreConditioner preconditioner)
: this(preconditioner, null)
{
}
@@ -170,7 +168,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
/// The that will be used to precondition the matrix equation.
/// The that will be used to monitor the iterative process.
- public MlkBiCgStab(IPreConditioner preconditioner, IIterator iterator)
+ public MlkBiCgStab(IPreConditioner preconditioner, IIterator iterator)
{
_iterator = iterator;
_preconditioner = preconditioner;
@@ -212,7 +210,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to precondition the iterative process.
///
/// The preconditioner.
- public void SetPreconditioner(IPreConditioner preconditioner)
+ public void SetPreconditioner(IPreConditioner preconditioner)
{
_preconditioner = preconditioner;
}
@@ -221,7 +219,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to track the iterative process.
///
/// The iterator.
- public void SetIterator(IIterator iterator)
+ public void SetIterator(IIterator iterator)
{
_iterator = iterator;
}
@@ -230,7 +228,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Gets or sets a series of orthonormal vectors which will be used as basis for the
/// Krylov sub-space.
///
- public IList> StartingVectors
+ public IList> StartingVectors
{
[DebuggerStepThrough]
get { return _startingVectors; }
@@ -276,7 +274,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b.
/// The result vector, x.
- public Vector Solve(Matrix matrix, Vector vector)
+ public Vector Solve(Matrix matrix, Vector vector)
{
if (vector == null)
{
@@ -295,7 +293,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b
/// The result vector, x
- public void Solve(Matrix matrix, Vector input, Vector result)
+ public void Solve(Matrix matrix, Vector input, Vector result)
{
// If we were stopped before, we are no longer
// We're doing this at the start of the method to ensure
@@ -382,7 +380,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
CalculateTrueResidual(matrix, residuals, xtemp, input);
// Define the temporary values
- var c = new Complex32[k];
+ var c = new Numerics.Complex32[k];
// Define the temporary vectors
var gtemp = new DenseVector(residuals.Count);
@@ -492,7 +490,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
zw.Clear();
// FOR (s = i, ...., k-1) AND j >= 1
- Complex32 beta;
+ Numerics.Complex32 beta;
if (iterationNumber >= 1)
{
for (var s = i; s < k - 1; s++)
@@ -639,7 +637,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// the is smaller than
/// the .
///
- static IList> CreateStartingVectors(int maximumNumberOfStartingVectors, int numberOfVariables)
+ static IList> CreateStartingVectors(int maximumNumberOfStartingVectors, int numberOfVariables)
{
// Create no more starting vectors than the size of the problem - 1
// Get random values and then orthogonalize them with
@@ -653,12 +651,12 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
var matrix = new DenseMatrix(numberOfVariables, count);
for (var i = 0; i < matrix.ColumnCount; i++)
{
- var samples = new Complex32[matrix.RowCount];
+ var samples = new Numerics.Complex32[matrix.RowCount];
var samplesRe = distribution.Samples().Take(matrix.RowCount).ToArray();
var samplesIm = distribution.Samples().Take(matrix.RowCount).ToArray();
for (int j = 0; j < matrix.RowCount; j++)
{
- samples[j] = new Complex32((float) samplesRe[j], (float) samplesIm[j]);
+ samples[j] = new Numerics.Complex32((float) samplesRe[j], (float) samplesIm[j]);
}
// Set the column
@@ -670,7 +668,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
var orthogonalMatrix = gs.Q;
// Now transfer this to vectors
- var result = new List>();
+ var result = new List>();
for (var i = 0; i < orthogonalMatrix.ColumnCount; i++)
{
result.Add(orthogonalMatrix.Column(i));
@@ -688,9 +686,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Number of vectors
/// Size of each vector
/// Array of random vectors
- static Vector[] CreateVectorArray(int arraySize, int vectorSize)
+ static Vector[] CreateVectorArray(int arraySize, int vectorSize)
{
- var result = new Vector[arraySize];
+ var result = new Vector[arraySize];
for (var i = 0; i < result.Length; i++)
{
result[i] = new DenseVector(vectorSize);
@@ -706,7 +704,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Residual data.
/// x data.
/// b data.
- static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
+ static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
{
// -Ax = residual
matrix.Multiply(x, residual);
@@ -724,7 +722,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Source .
/// Residual .
/// true if continue, otherwise false
- bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
+ bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
{
if (_hasBeenStopped)
{
@@ -748,7 +746,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X.
- public Matrix Solve(Matrix matrix, Matrix input)
+ public Matrix Solve(Matrix matrix, Matrix input)
{
if (matrix == null)
{
@@ -772,7 +770,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X
- public void Solve(Matrix matrix, Matrix input, Matrix result)
+ public void Solve(Matrix matrix, Matrix input, Matrix result)
{
if (matrix == null)
{
diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/TFQMR.cs
similarity index 92%
rename from src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs
rename to src/Numerics/LinearAlgebra/Complex32/Solvers/TFQMR.cs
index ecf0e258..32dd1294 100644
--- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs
+++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/TFQMR.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,10 +34,8 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers
{
- using Complex32 = Numerics.Complex32;
-
///
/// A Transpose Free Quasi-Minimal Residual (TFQMR) iterative matrix solver.
///
@@ -55,7 +53,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// solver.
///
///
- public sealed class TFQMR : IIterativeSolver
+ public sealed class TFQMR : IIterativeSolver
{
///
/// The status used if there is no status, i.e. the solver hasn't run yet and there is no
@@ -67,12 +65,12 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The preconditioner that will be used. Can be set to , in which case the default
/// pre-conditioner will be used.
///
- IPreConditioner _preconditioner;
+ IPreConditioner _preconditioner;
///
/// The iterative process controller.
///
- IIterator _iterator;
+ IIterator _iterator;
///
/// Indicates if the user has stopped the solver.
@@ -110,7 +108,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
///
/// The that will be used to monitor the iterative process.
- public TFQMR(IIterator iterator)
+ public TFQMR(IIterator iterator)
: this(null, iterator)
{
}
@@ -123,7 +121,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// the standard settings.
///
/// The that will be used to precondition the matrix equation.
- public TFQMR(IPreConditioner preconditioner)
+ public TFQMR(IPreConditioner preconditioner)
: this(preconditioner, null)
{
}
@@ -145,7 +143,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
///
/// The that will be used to precondition the matrix equation.
/// The that will be used to monitor the iterative process.
- public TFQMR(IPreConditioner preconditioner, IIterator iterator)
+ public TFQMR(IPreConditioner preconditioner, IIterator iterator)
{
_iterator = iterator;
_preconditioner = preconditioner;
@@ -155,7 +153,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to precondition the iterative process.
///
/// The preconditioner.
- public void SetPreconditioner(IPreConditioner preconditioner)
+ public void SetPreconditioner(IPreConditioner preconditioner)
{
_preconditioner = preconditioner;
}
@@ -164,7 +162,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Sets the that will be used to track the iterative process.
///
/// The iterator.
- public void SetIterator(IIterator iterator)
+ public void SetIterator(IIterator iterator)
{
_iterator = iterator;
}
@@ -195,7 +193,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b.
/// The result vector, x.
- public Vector Solve(Matrix matrix, Vector vector)
+ public Vector Solve(Matrix matrix, Vector vector)
{
if (vector == null)
{
@@ -214,7 +212,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution vector, b
/// The result vector, x
- public void Solve(Matrix matrix, Vector input, Vector result)
+ public void Solve(Matrix matrix, Vector input, Vector result)
{
// If we were stopped before, we are no longer
// We're doing this at the start of the method to ensure
@@ -285,13 +283,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
var temp2 = new DenseVector(input.Count);
// Define the scalars
- Complex32 alpha = 0;
- Complex32 eta = 0;
+ Numerics.Complex32 alpha = 0;
+ Numerics.Complex32 eta = 0;
float theta = 0;
// Initialize
var tau = input.L2Norm().Real;
- Complex32 rho = tau*tau;
+ Numerics.Complex32 rho = tau*tau;
// Calculate the initial values for v
// M temp = yEven
@@ -430,7 +428,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Residual values in .
/// Instance of the x.
/// Instance of the b.
- static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
+ static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
{
// -Ax = residual
matrix.Multiply(x, residual);
@@ -448,7 +446,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// Source .
/// Residual .
/// true if continue, otherwise false
- bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
+ bool ShouldContinue(int iterationNumber, Vector result, Vector source, Vector residuals)
{
if (_hasBeenStopped)
{
@@ -482,7 +480,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X.
- public Matrix Solve(Matrix matrix, Matrix input)
+ public Matrix Solve(Matrix matrix, Matrix input)
{
if (matrix == null)
{
@@ -506,7 +504,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative
/// The coefficient matrix, A.
/// The solution matrix, B.
/// The result matrix, X
- public void Solve(Matrix matrix, Matrix input, Matrix result)
+ public void Solve(Matrix matrix, Matrix input, Matrix result)
{
if (matrix == null)
{
diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs
rename to src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs
index 61089ca2..8e7367bc 100644
--- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Double.Solvers
{
///
/// A Bi-Conjugate Gradient stabilized iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs
rename to src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs
index c9c4b804..c97f0a76 100644
--- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs
+++ b/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -37,7 +37,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Double.Solvers
{
///
/// A composite matrix solver. The actual solver is made by a sequence of
diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs
rename to src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs
index a4074ae0..b7d321aa 100644
--- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs
+++ b/src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Double.Solvers
{
///
/// A Generalized Product Bi-Conjugate Gradient iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs
index 61688c99..3049ec83 100644
--- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs
+++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs
rename to src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs
index 78b00041..0b1b0d0a 100644
--- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -38,7 +38,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Double.Solvers
{
///
/// A Multiple-Lanczos Bi-Conjugate Gradient stabilized iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Double/Solvers/TFQMR.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs
rename to src/Numerics/LinearAlgebra/Double/Solvers/TFQMR.cs
index 5e76cad2..9620557b 100644
--- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs
+++ b/src/Numerics/LinearAlgebra/Double/Solvers/TFQMR.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Double.Solvers
{
///
/// A Transpose Free Quasi-Minimal Residual (TFQMR) iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs
rename to src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs
index 90b8a8af..a95dec59 100644
--- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Single.Solvers
{
///
/// A Bi-Conjugate Gradient stabilized iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs
rename to src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs
index 5c318a4b..cc8d9c33 100644
--- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs
+++ b/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -37,7 +37,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Single.Solvers
{
///
/// A composite matrix solver. The actual solver is made by a sequence of
diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs
rename to src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs
index 52d7ad46..5cbe2705 100644
--- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs
+++ b/src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Single.Solvers
{
///
/// A Generalized Product Bi-Conjugate Gradient iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs
rename to src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs
index 77ea9aa0..61996d2a 100644
--- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs
+++ b/src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -37,7 +37,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Single.Solvers
{
///
/// A Multiple-Lanczos Bi-Conjugate Gradient stabilized iterative matrix solver.
diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Single/Solvers/TFQMR.cs
similarity index 99%
rename from src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs
rename to src/Numerics/LinearAlgebra/Single/Solvers/TFQMR.cs
index f27f5054..bb8d79d7 100644
--- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs
+++ b/src/Numerics/LinearAlgebra/Single/Solvers/TFQMR.cs
@@ -4,7 +4,7 @@
// http://github.com/mathnet/mathnet-numerics
// http://mathnetnumerics.codeplex.com
//
-// Copyright (c) 2009-2010 Math.NET
+// Copyright (c) 2009-2013 Math.NET
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
@@ -34,7 +34,7 @@ using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
using MathNet.Numerics.Properties;
-namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative
+namespace MathNet.Numerics.LinearAlgebra.Single.Solvers
{
///
/// A Transpose Free Quasi-Minimal Residual (TFQMR) iterative matrix solver.
diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj
index d0b55780..ca49cf2d 100644
--- a/src/Numerics/Numerics.csproj
+++ b/src/Numerics/Numerics.csproj
@@ -236,11 +236,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -263,11 +263,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -306,11 +306,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -336,11 +336,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs
index 4024cbee..9f903fcf 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex;
-using MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs
index b5898ff8..3cace2b4 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex;
-using MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs
index 026d7792..88760e0f 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex;
-using MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs
index b9b0434a..0f47e896 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex;
-using MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs
index 9806d41f..9847d1a9 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex32;
-using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex32.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs
index b6bc86d6..b000a92a 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex32;
-using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex32.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs
index 4c8d025f..d5403ef1 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex32;
-using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex32.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs
index 0e3dbedd..2115bf71 100644
--- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Complex32;
-using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Complex32.Solvers;
using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs
index 569d8361..8224451a 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs
index 3f180aec..85b4086c 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs
index 34fa4776..4e66d11b 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs
index 0d0c5686..212cbb5b 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Double;
-using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Double.Solvers;
using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs
index c9ce1678..444e57d6 100644
--- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Single;
-using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Single.Solvers;
using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs
index 1eae836f..d18f7495 100644
--- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Single;
-using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Single.Solvers;
using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs
index 34f9e22e..ecb2a9dc 100644
--- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs
@@ -31,7 +31,7 @@
using System;
using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.LinearAlgebra.Single;
-using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Single.Solvers;
using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;
diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs
index fea8be3f..d7ec4401 100644
--- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs
@@ -30,7 +30,7 @@
using System;
using MathNet.Numerics.LinearAlgebra.Single;
-using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative;
+using MathNet.Numerics.LinearAlgebra.Single.Solvers;
using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium;
using MathNet.Numerics.LinearAlgebra.Solvers;
using MathNet.Numerics.LinearAlgebra.Solvers.Status;