Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

How do I write a FULL GAUSS elimination method in python? CODE PLEASE! Solution

ID: 3673467 • Letter: H

Question

How do I write a FULL GAUSS elimination method in python? CODE PLEASE!

Explanation / Answer

Please find the code below : #!/usr/bin/env python # -*- coding: utf-8 -*- def pprint(A): n = len(A) for i in range(0, n): line = "" for j in range(0, n+1): line += str(A[i][j]) + " " if j == n-1: line += "| " print(line) print("") def gauss(A): n = len(A) for i in range(0, n): # Search for maximum in this column maxEl = abs(A[i][i]) maxRow = i for k in range(i+1, n): if abs(A[k][i]) > maxEl: maxEl = abs(A[k][i]) maxRow = k # Swap maximum row with current row (column by column) for k in range(i, n+1): tmp = A[maxRow][k] A[maxRow][k] = A[i][k] A[i][k] = tmp # Make all rows below this one 0 in current column for k in range(i+1, n): c = -A[k][i]/A[i][i] for j in range(i, n+1): if i == j: A[k][j] = 0 else: A[k][j] += c * A[i][j] # Solve equation Ax=b for an upper triangular matrix A x = [0 for i in range(n)] for i in range(n-1, -1, -1): x[i] = A[i][n]/A[i][i] for k in range(i-1, -1, -1): A[k][n] -= A[k][i] * x[i] return x if __name__ == "__main__": from fractions import Fraction n = input() A = [[0 for j in range(n+1)] for i in range(n)] # Read input data for i in range(0, n): line = map(Fraction, raw_input().split(" ")) for j, el in enumerate(line): A[i][j] = el raw_input() line = raw_input().split(" ") lastLine = map(Fraction, line) for i in range(0, n): A[i][n] = lastLine[i] # Print input pprint(A) # Calculate solution x = gauss(A) # Print result line = "Result: " for i in range(0, n): line += str(x[i]) + " " print(line)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote