当前位置: 首页>>代码示例>>C#>>正文


C# ResidualStopCriterium.DetermineStatus方法代码示例

本文整理汇总了C#中ResidualStopCriterium.DetermineStatus方法的典型用法代码示例。如果您正苦于以下问题:C# ResidualStopCriterium.DetermineStatus方法的具体用法?C# ResidualStopCriterium.DetermineStatus怎么用?C# ResidualStopCriterium.DetermineStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ResidualStopCriterium的用法示例。


在下文中一共展示了ResidualStopCriterium.DetermineStatus方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DetermineStatus

        public void DetermineStatus()
        {
            var criterium = new ResidualStopCriterium(1e-3, 10);
            Assert.IsNotNull(criterium, "There should be a criterium");

            // Note that the solution vector isn't actually being used so ...
            var solution = new DenseVector(new[] { double.NaN, double.NaN, double.NaN });

            // Set the source values
            var source = new DenseVector(new[] { 1.000, 1.000, 2.001 });

            // Set the residual values
            var residual = new DenseVector(new[] { 0.001, 0.001, 0.002 });

            criterium.DetermineStatus(5, solution, source, residual);
            Assert.IsInstanceOfType(typeof(CalculationRunning), criterium.Status, "Should still be running");

            criterium.DetermineStatus(16, solution, source, residual);
            Assert.IsInstanceOfType(typeof(CalculationConverged), criterium.Status, "Should be done");
        }
开发者ID:xmap2008,项目名称:mathnet-numerics,代码行数:20,代码来源:ResidualStopCriteriumTest.cs

示例2: DetermineStatusWithNonMatchingSourceVectorThrowsArgumentException

        public void DetermineStatusWithNonMatchingSourceVectorThrowsArgumentException()
        {
            var criterium = new ResidualStopCriterium<double>(1e-8, 50);

            Assert.That(() => criterium.DetermineStatus(
                1,
                Vector<double>.Build.Dense(3, 4),
                Vector<double>.Build.Dense(4, 4),
                Vector<double>.Build.Dense(3, 4)), Throws.ArgumentException);
        }
开发者ID:kityandhero,项目名称:mathnet-numerics,代码行数:10,代码来源:ResidualStopCriteriumTest.cs

示例3: DetermineStatusWithSourceNaN

        public void DetermineStatusWithSourceNaN()
        {
            var criterium = new ResidualStopCriterium(1e-3, 10);
            Assert.IsNotNull(criterium, "There should be a criterium");

            var solution = new DenseVector(new[] { 1.0, 1.0, 2.0 });
            var source = new DenseVector(new[] { 1.0, 1.0, double.NaN });
            var residual = new DenseVector(new[] { 1000.0, 1000.0, 2001.0 });

            criterium.DetermineStatus(5, solution, source, residual);
            Assert.IsInstanceOf(typeof(CalculationDiverged), criterium.Status, "Should be diverged");
        }
开发者ID:KeithVanderzanden,项目名称:mmbot,代码行数:12,代码来源:ResidualStopCriteriumTest.cs

示例4: DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException

        public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException()
        {
            var criterium = new ResidualStopCriterium(1e-8, 50);
            Assert.IsNotNull(criterium, "There should be a criterium");

            Assert.Throws<ArgumentOutOfRangeException>(() => criterium.DetermineStatus(
                -1,
                new DenseVector(3, 4),
                new DenseVector(3, 5),
                new DenseVector(3, 6)));
        }
开发者ID:KeithVanderzanden,项目名称:mmbot,代码行数:11,代码来源:ResidualStopCriteriumTest.cs

示例5: ResetCalculationState

        public void ResetCalculationState()
        {
            var criterium = new ResidualStopCriterium<float>(1e-3f, 10);

            var solution = new DenseVector(new[] {0.001f, 0.001f, 0.002f});
            var source = new DenseVector(new[] {0.001f, 0.001f, 0.002f});
            var residual = new DenseVector(new[] {1.000f, 1.000f, 2.001f});

            var status = criterium.DetermineStatus(5, solution, source, residual);
            Assert.AreEqual(IterationStatus.Continue, status, "Should be running");

            criterium.Reset();
            Assert.AreEqual(IterationStatus.Continue, criterium.Status, "Should not have started");
        }
开发者ID:rmundy,项目名称:mathnet-numerics,代码行数:14,代码来源:ResidualStopCriteriumTest.cs

示例6: DetermineStatusWithNonMatchingSourceVectorThrowsArgumentException

        public void DetermineStatusWithNonMatchingSourceVectorThrowsArgumentException()
        {
            var criterium = new ResidualStopCriterium<float>(1e-6f, 50);

            Assert.Throws<ArgumentException>(() => criterium.DetermineStatus(
                1,
                Vector<float>.Build.Dense(3, 4),
                Vector<float>.Build.Dense(4, 4),
                Vector<float>.Build.Dense(3, 4)));
        }
开发者ID:rmundy,项目名称:mathnet-numerics,代码行数:10,代码来源:ResidualStopCriteriumTest.cs

示例7: DetermineStatusWithConvergenceAtFirstIteration

        public void DetermineStatusWithConvergenceAtFirstIteration()
        {
            var criterium = new ResidualStopCriterium<float>(1e-6);

            var solution = new DenseVector(new[] {1.0f, 1.0f, 1.0f});
            var source = new DenseVector(new[] {1.0f, 1.0f, 1.0f});
            var residual = new DenseVector(new[] {0.0f, 0.0f, 0.0f});

            var status = criterium.DetermineStatus(0, solution, source, residual);
            Assert.AreEqual(IterationStatus.Converged, status, "Should be done");
        }
开发者ID:rmundy,项目名称:mathnet-numerics,代码行数:11,代码来源:ResidualStopCriteriumTest.cs

示例8: DetermineStatusWithNonMatchingResidualVectorThrowsArgumentException

        public void DetermineStatusWithNonMatchingResidualVectorThrowsArgumentException()
        {
            var criterium = new ResidualStopCriterium(1e-8, 50);
            Assert.IsNotNull(criterium, "There should be a criterium");

            Assert.Throws<ArgumentException>(() => criterium.DetermineStatus(
                1,
                DenseVector.Create(3, i => 4),
                DenseVector.Create(3, i => 4),
                DenseVector.Create(4, i => 4)));
        }
开发者ID:hickford,项目名称:mathnet-numerics-native,代码行数:11,代码来源:ResidualStopCriteriumTest.cs

示例9: DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException

        public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException()
        {
            var criterium = new ResidualStopCriterium<Complex>(1e-8, 50);

            Assert.Throws<ArgumentOutOfRangeException>(() => criterium.DetermineStatus(
                -1,
                DenseVector.Create(3, i => 4),
                DenseVector.Create(3, i => 5),
                DenseVector.Create(3, i => 6)));
        }
开发者ID:EricGT,项目名称:mathnet-numerics,代码行数:10,代码来源:ResidualStopCriteriumTest.cs

示例10: ResetCalculationState

        public void ResetCalculationState()
        {
            var criterium = new ResidualStopCriterium<Complex>(1e-3, 10);

            var solution = new DenseVector(new[] {new Complex(0.001, 1), new Complex(0.001, 1), new Complex(0.002, 1)});
            var source = new DenseVector(new[] {new Complex(0.001, 1), new Complex(0.001, 1), new Complex(0.002, 1)});
            var residual = new DenseVector(new[] {new Complex(1.000, 0), new Complex(1.000, 0), new Complex(2.001, 0)});

            var status = criterium.DetermineStatus(5, solution, source, residual);
            Assert.AreEqual(IterationStatus.Continue, status, "Should be running");

            criterium.Reset();
            Assert.AreEqual(IterationStatus.Continue, criterium.Status, "Should not have started");
        }
开发者ID:EricGT,项目名称:mathnet-numerics,代码行数:14,代码来源:ResidualStopCriteriumTest.cs

示例11: DetermineStatus

        public void DetermineStatus()
        {
            var criterium = new ResidualStopCriterium<Complex>(1e-3, 10);

            // the solution vector isn't actually being used so ...
            var solution = new DenseVector(new[] {new Complex(double.NaN, double.NaN), new Complex(double.NaN, double.NaN), new Complex(double.NaN, double.NaN)});

            // Set the source values
            var source = new DenseVector(new[] {new Complex(1.000, 1), new Complex(1.000, 1), new Complex(2.001, 1)});

            // Set the residual values
            var residual = new DenseVector(new[] {new Complex(0.001, 0), new Complex(0.001, 0), new Complex(0.002, 0)});

            var status = criterium.DetermineStatus(5, solution, source, residual);
            Assert.AreEqual(IterationStatus.Continue, status, "Should still be running");

            var status2 = criterium.DetermineStatus(16, solution, source, residual);
            Assert.AreEqual(IterationStatus.Converged, status2, "Should be done");
        }
开发者ID:EricGT,项目名称:mathnet-numerics,代码行数:19,代码来源:ResidualStopCriteriumTest.cs

示例12: DetermineStatusWithConvergenceAtFirstIteration

        public void DetermineStatusWithConvergenceAtFirstIteration()
        {
            var criterium = new ResidualStopCriterium<Complex>(1e-12);

            var solution = new DenseVector(new[] {Complex.One, Complex.One, Complex.One});
            var source = new DenseVector(new[] {Complex.One, Complex.One, Complex.One});
            var residual = new DenseVector(new[] {Complex.Zero, Complex.Zero, Complex.Zero});

            var status = criterium.DetermineStatus(0, solution, source, residual);
            Assert.AreEqual(IterationStatus.Converged, status, "Should be done");
        }
开发者ID:EricGT,项目名称:mathnet-numerics,代码行数:11,代码来源:ResidualStopCriteriumTest.cs

示例13: DetermineStatusWithResidualNaN

        public void DetermineStatusWithResidualNaN()
        {
            var criterium = new ResidualStopCriterium<Complex>(1e-3, 10);

            var solution = new DenseVector(new[] {new Complex(1.0, 1), new Complex(1.0, 1), new Complex(2.0, 1)});
            var source = new DenseVector(new[] {new Complex(1.0, 1), new Complex(1.0, 1), new Complex(2.0, 1)});
            var residual = new DenseVector(new[] {new Complex(1000.0, 1), new Complex(double.NaN, 1), new Complex(2001.0, 1)});

            var status = criterium.DetermineStatus(5, solution, source, residual);
            Assert.AreEqual(IterationStatus.Diverged, status, "Should be diverged");
        }
开发者ID:EricGT,项目名称:mathnet-numerics,代码行数:11,代码来源:ResidualStopCriteriumTest.cs

示例14: ResetCalculationState

        public void ResetCalculationState()
        {
            var criterium = new ResidualStopCriterium<double>(1e-3, 10);

            var solution = Vector<double>.Build.Dense(new[] { 0.001, 0.001, 0.002 });
            var source = Vector<double>.Build.Dense(new[] { 0.001, 0.001, 0.002 });
            var residual = Vector<double>.Build.Dense(new[] { 1.000, 1.000, 2.001 });

            var status = criterium.DetermineStatus(5, solution, source, residual);
            Assert.AreEqual(IterationStatus.Continue, status, "Should be running");

            criterium.Reset();
            Assert.AreEqual(IterationStatus.Continue, criterium.Status, "Should not have started");
        }
开发者ID:kityandhero,项目名称:mathnet-numerics,代码行数:14,代码来源:ResidualStopCriteriumTest.cs

示例15: DetermineStatusWithSourceNaN

        public void DetermineStatusWithSourceNaN()
        {
            var criterium = new ResidualStopCriterium<double>(1e-3, 10);
            var solution = Vector<double>.Build.Dense(new[] { 1.0, 1.0, 2.0 });
            var source = Vector<double>.Build.Dense(new[] { 1.0, 1.0, double.NaN });
            var residual = Vector<double>.Build.Dense(new[] { 1000.0, 1000.0, 2001.0 });

            var status = criterium.DetermineStatus(5, solution, source, residual);
            Assert.AreEqual(IterationStatus.Diverged, status, "Should be diverged");
        }
开发者ID:kityandhero,项目名称:mathnet-numerics,代码行数:10,代码来源:ResidualStopCriteriumTest.cs


注:本文中的ResidualStopCriterium.DetermineStatus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。