def test_solver_parameters(self): A = poisson((50, 50), format='csr') for method in methods: # method = ('richardson', {'omega':4.0/3.0}) ml = smoothed_aggregation_solver(A, presmoother=method, postsmoother=method, max_coarse=10) residuals = profile_solver(ml) assert ((residuals[-1] / residuals[0])**(1.0 / len(residuals)) < 0.95) assert (ml.symmetric_smoothing) for method in methods2: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) residuals = profile_solver(ml) assert ((residuals[-1] / residuals[0])**(1.0 / len(residuals)) < 0.95) assert (not ml.symmetric_smoothing) for method in methods3: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) assert (ml.symmetric_smoothing) for method in methods4: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) assert (not ml.symmetric_smoothing)
def test_solver_parameters(self): A = poisson((50, 50), format='csr') for method in methods: # method = ('richardson', {'omega':4.0/3.0}) ml = smoothed_aggregation_solver(A, presmoother=method, postsmoother=method, max_coarse=10) residuals = profile_solver(ml) assert((residuals[-1]/residuals[0])**(1.0/len(residuals)) < 0.95) assert(ml.symmetric_smoothing) for method in methods2: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) residuals = profile_solver(ml) assert((residuals[-1]/residuals[0])**(1.0/len(residuals)) < 0.95) assert(not ml.symmetric_smoothing) for method in methods3: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) assert(ml.symmetric_smoothing) for method in methods4: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) assert(not ml.symmetric_smoothing)
def test_solver_parameters(self): A = poisson((50, 50), format='csr') for method in methods: #method = ('richardson', {'omega':4.0/3.0}) ml = smoothed_aggregation_solver(A, presmoother=method, postsmoother=method, max_coarse=10) residuals = profile_solver(ml) #print "method",method #print "residuals",residuals #print "convergence rate:",(residuals[-1]/residuals[0])**(1.0/len(residuals)) assert ((residuals[-1] / residuals[0])**(1.0 / len(residuals)) < 0.95) for method in methods2: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) residuals = profile_solver(ml) #print "method",method #print "residuals",residuals #print "convergence rate:",(residuals[-1]/residuals[0])**(1.0/len(residuals)) assert ((residuals[-1] / residuals[0])**(1.0 / len(residuals)) < 0.95)
def test_solver_parameters(self): A = poisson((50,50), format='csr') for method in methods: #method = ('richardson', {'omega':4.0/3.0}) ml = smoothed_aggregation_solver(A, presmoother=method, postsmoother=method, max_coarse=10) residuals = profile_solver(ml) #print "method",method #print "residuals",residuals #print "convergence rate:",(residuals[-1]/residuals[0])**(1.0/len(residuals)) assert( (residuals[-1]/residuals[0])**(1.0/len(residuals)) < 0.95 ) for method in methods2: ml = smoothed_aggregation_solver(A, max_coarse=10) change_smoothers(ml, presmoother=method[0], postsmoother=method[1]) residuals = profile_solver(ml) #print "method",method #print "residuals",residuals #print "convergence rate:",(residuals[-1]/residuals[0])**(1.0/len(residuals)) assert( (residuals[-1]/residuals[0])**(1.0/len(residuals)) < 0.95 )