示例#1
0
 def test_root_diagbroyden(self):
     res = root(F,
                F.xin,
                method='diagbroyden',
                options={
                    'nit': 11,
                    'jac_options': {
                        'alpha': 1
                    }
                })
     assert_(nonlin.norm(res.x) < 1e-8)
     assert_(nonlin.norm(res.fun) < 1e-8)
示例#2
0
 def test_root_linearmixing(self):
     res = root(F,
                F.xin,
                method='linearmixing',
                options={
                    'nit': 60,
                    'jac_options': {
                        'alpha': 0.5
                    }
                })
     assert_(nonlin.norm(res.x) < 1e-7)
     assert_(nonlin.norm(res.fun) < 1e-7)
示例#3
0
 def test_root_excitingmixing(self):
     res = root(F,
                F.xin,
                method='excitingmixing',
                options={
                    'nit': 20,
                    'jac_options': {
                        'alpha': 0.5
                    }
                })
     assert_(nonlin.norm(res.x) < 1e-5)
     assert_(nonlin.norm(res.fun) < 1e-5)
示例#4
0
 def test_root_broyden2(self):
     res = root(F,
                F.xin,
                method='broyden2',
                options={
                    'nit': 12,
                    'jac_options': {
                        'alpha': 1
                    }
                })
     assert_(nonlin.norm(res.x) < 1e-9)
     assert_(nonlin.norm(res.fun) < 1e-9)
示例#5
0
 def test_root_anderson(self):
     res = root(F,
                F.xin,
                method='anderson',
                options={
                    'nit': 12,
                    'jac_options': {
                        'alpha': 0.03,
                        'M': 5
                    }
                })
     assert_(nonlin.norm(res.x) < 0.33)
示例#6
0
 def test_diagbroyden(self):
     x = nonlin.diagbroyden(F, F.xin, iter=11, alpha=1)
     assert_(nonlin.norm(x) < 1e-8)
     assert_(nonlin.norm(F(x)) < 1e-8)
示例#7
0
 def test_exciting(self):
     x = nonlin.excitingmixing(F, F.xin, iter=20, alpha=0.5)
     assert_(nonlin.norm(x) < 1e-5)
     assert_(nonlin.norm(F(x)) < 1e-5)
示例#8
0
 def test_linearmixing(self):
     x = nonlin.linearmixing(F, F.xin, iter=60, alpha=0.5)
     assert_(nonlin.norm(x) < 1e-7)
     assert_(nonlin.norm(F(x)) < 1e-7)
示例#9
0
 def test_anderson(self):
     x = nonlin.anderson(F, F.xin, iter=12, alpha=0.03, M=5)
     assert_(nonlin.norm(x) < 0.33)
示例#10
0
 def test_broyden2(self):
     x = nonlin.broyden2(F, F.xin, iter=12, alpha=1)
     assert_(nonlin.norm(x) < 1e-9)
     assert_(nonlin.norm(F(x)) < 1e-9)