def solver_2(mx, vec): m_gauss, v_gauss = gauss_transformation(mx, vec) x = lower_zeros_simple_equation_solver(m_gauss, v_gauss) doc.add(Text('После приведения к нижнетреугольной матрице:')) doc.add(Math(r'\acute{A} = ', m_gauss)) doc.add(Math(r'\acute{b} = ', v_gauss)) return x if __name__ == '__main__': n = int(sys.argv[1]) original_mx, original_vec, ans = generate_matrix_and_vector_and_answer(n) doc.add(Section('Решение Ax = b различными методами для N={}(вариант)'.format(n))) doc.add(Math('A = ', original_mx.map('{:.8g}'.format))) doc.add(Math('b = ', original_vec.map('{:.8g}'.format))) doc.add(Text('Точный ответ:')) doc.add(Math(r'\bar{x} = ', ans)) for method in [1, 2]: for k in [2, 4, 6]: Num.precision = k mx = original_mx.map(Num) vec = original_vec.map(Num) slv_name = 'компактной схемы Гаусса(LU-разложение)' if method == 1 else 'Гаусса с выбором главного элемента' doc.add(Text('')) doc.add(Text('')) doc.add(Section('Решение системы методом {} при k={}(точность)'.format(slv_name, k))) calc_ans = solver_1(mx, vec) if method == 1 else solver_2(mx, vec)