From 563baac19db559d26265761efa0bb27f1be2bc8a Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Mon, 9 Sep 2013 23:24:34 +0200 Subject: [PATCH] LA: Simplify iterative solver implementation namespaces --- .../IterativeSolvers/BiCgStabSolver.cs | 8 ++- .../CompositeSolverExample.cs | 8 ++- .../IterativeSolvers/GpBiCgSolver.cs | 8 ++- .../IterativeSolvers/MlkBiCgStabSolver.cs | 8 ++- .../IterativeSolvers/TFQMRSolver.cs | 8 ++- .../Solvers/{Iterative => }/BiCgStab.cs | 11 ++-- .../{Iterative => }/CompositeSolver.cs | 4 +- .../Complex/Solvers/{Iterative => }/GpBiCg.cs | 5 +- .../Solvers/{Iterative => }/MlkBiCgStab.cs | 4 +- .../Complex/Solvers/{Iterative => }/TFQMR.cs | 4 +- .../Solvers/{Iterative => }/BiCgStab.cs | 40 +++++++------- .../{Iterative => }/CompositeSolver.cs | 36 ++++++------- .../Solvers/{Iterative => }/GpBiCg.cs | 40 +++++++------- .../Solvers/{Iterative => }/MlkBiCgStab.cs | 54 +++++++++---------- .../Solvers/{Iterative => }/TFQMR.cs | 40 +++++++------- .../Solvers/{Iterative => }/BiCgStab.cs | 4 +- .../{Iterative => }/CompositeSolver.cs | 4 +- .../Double/Solvers/{Iterative => }/GpBiCg.cs | 4 +- .../LinearAlgebra/Double/Solvers/Iterator.cs | 2 +- .../Solvers/{Iterative => }/MlkBiCgStab.cs | 4 +- .../Double/Solvers/{Iterative => }/TFQMR.cs | 4 +- .../Solvers/{Iterative => }/BiCgStab.cs | 4 +- .../{Iterative => }/CompositeSolver.cs | 4 +- .../Single/Solvers/{Iterative => }/GpBiCg.cs | 4 +- .../Solvers/{Iterative => }/MlkBiCgStab.cs | 4 +- .../Single/Solvers/{Iterative => }/TFQMR.cs | 4 +- src/Numerics/Numerics.csproj | 40 +++++++------- .../Complex/Solvers/Iterative/BiCgStabTest.cs | 2 +- .../Complex/Solvers/Iterative/GpBiCgTest.cs | 2 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 2 +- .../Complex/Solvers/Iterative/TFQMRTest.cs | 2 +- .../Solvers/Iterative/BiCgStabTest.cs | 2 +- .../Complex32/Solvers/Iterative/GpBiCgTest.cs | 2 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 2 +- .../Complex32/Solvers/Iterative/TFQMRTest.cs | 2 +- .../Double/Solvers/Iterative/BiCgStabTest.cs | 2 +- .../Double/Solvers/Iterative/GpBiCgTest.cs | 2 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 2 +- .../Double/Solvers/Iterative/TFQMRTest.cs | 2 +- .../Single/Solvers/Iterative/BiCgStabTest.cs | 2 +- .../Single/Solvers/Iterative/GpBiCgTest.cs | 2 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 2 +- .../Single/Solvers/Iterative/TFQMRTest.cs | 2 +- 43 files changed, 200 insertions(+), 192 deletions(-) rename src/Numerics/LinearAlgebra/Complex/Solvers/{Iterative => }/BiCgStab.cs (98%) rename src/Numerics/LinearAlgebra/Complex/Solvers/{Iterative => }/CompositeSolver.cs (99%) rename src/Numerics/LinearAlgebra/Complex/Solvers/{Iterative => }/GpBiCg.cs (99%) rename src/Numerics/LinearAlgebra/Complex/Solvers/{Iterative => }/MlkBiCgStab.cs (99%) rename src/Numerics/LinearAlgebra/Complex/Solvers/{Iterative => }/TFQMR.cs (99%) rename src/Numerics/LinearAlgebra/Complex32/Solvers/{Iterative => }/BiCgStab.cs (92%) rename src/Numerics/LinearAlgebra/Complex32/Solvers/{Iterative => }/CompositeSolver.cs (94%) rename src/Numerics/LinearAlgebra/Complex32/Solvers/{Iterative => }/GpBiCg.cs (93%) rename src/Numerics/LinearAlgebra/Complex32/Solvers/{Iterative => }/MlkBiCgStab.cs (92%) rename src/Numerics/LinearAlgebra/Complex32/Solvers/{Iterative => }/TFQMR.cs (92%) rename src/Numerics/LinearAlgebra/Double/Solvers/{Iterative => }/BiCgStab.cs (99%) rename src/Numerics/LinearAlgebra/Double/Solvers/{Iterative => }/CompositeSolver.cs (99%) rename src/Numerics/LinearAlgebra/Double/Solvers/{Iterative => }/GpBiCg.cs (99%) rename src/Numerics/LinearAlgebra/Double/Solvers/{Iterative => }/MlkBiCgStab.cs (99%) rename src/Numerics/LinearAlgebra/Double/Solvers/{Iterative => }/TFQMR.cs (99%) rename src/Numerics/LinearAlgebra/Single/Solvers/{Iterative => }/BiCgStab.cs (99%) rename src/Numerics/LinearAlgebra/Single/Solvers/{Iterative => }/CompositeSolver.cs (99%) rename src/Numerics/LinearAlgebra/Single/Solvers/{Iterative => }/GpBiCg.cs (99%) rename src/Numerics/LinearAlgebra/Single/Solvers/{Iterative => }/MlkBiCgStab.cs (99%) rename src/Numerics/LinearAlgebra/Single/Solvers/{Iterative => }/TFQMR.cs (99%) 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;