for mu in w.active_indices(): print print "=" * 80 print mu print np.array([b0[mu].coeffs.array(), b1[mu].coeffs.array(), b2[mu].coeffs.array(), bl[mu].coeffs.array()]).T b = b2 B = [] for mu in b.active_indices(): B += [b[mu].array] print np.array(B) print pde.assemble_operator(coeff_field.mean_func, w[Multiindex()].basis)._matrix.array() print pde.assemble_operator_inner_dofs(coeff_field[0][0], w[Multiindex()].basis)._matrix.array() # sys.exit(0) P = PreconditioningOperator(coeff_field.mean_func, pde.assemble_solve_operator) w, zeta, numit = pcg(A, b, P, w0=w, eps=pcg_eps, maxiter=pcg_maxiter) # for mu in w.active_indices(): # pde.set_dirichlet_bc_entries(w[mu], homogeneous=bool(mu.order!=0)) # w, zeta = pcg_solve(A, w, coeff_field, pde, {}, pcg_eps, pcg_maxiter) # numit = -1 logger.info("PCG finished with zeta=%f after %i iterations", zeta, numit) if True: for mu in w.active_indices():