Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please provide a solution that does not exist on chegg because all of it are false and i voted downvote for all answers. Please provide
Please provide a solution that does not exist on chegg because all of it are false and i voted downvote for all answers. Please provide the code without changing my code if you dont find any bugs and shortcoming. Please consider your code performs successfully for not only mentioned matrix This is my method to use partial pivoting
maxindex npargmaxnpabsAi:ki
AimaxindexAmaxindex, i; swapimaxindexswapmaxindex, i
replace this code with
if i i: AiiAii;swapiiswapii
then please read the problem in the attached image. Please dont provide complicated and longer codes. I just need this code performs well for both partial pivoting and like the code i given in the attached image. Just need to implement partial pivoting for only required not only given matrixconditions
My code:
import numpy as np
def eliminateColA k:
# guarantee that A is float type
if Adtype.kind f and Adtype.kind c: return None
# load dimensions
dimdim npshapeA
# initialize outputs
swap npidentitydimdtypefloat
oper npidentitydimdtypefloat
# k dim
k kdim
# if the column k is zero column, return
if A:kany False: return swap,oper
i
if k :
# find a row i whose left most k entries are all zero
while i dim:
if Ai:kany False: break
i
# find a nonzero element Aik to use as a pivot
i i;
while i dim:
if Aik: break
i
if i dim: return swap,oper
# swap the row i with the row i
if i i: Aii Aii;swapii swapii
# row i is the pivot row and Ajk is zero for i:
if Aij:
quot Aij Akj
Ai: Ai: quotAk:
operikquot
i
return oper
def eliminateScaleA:
# guarantee that A is float type
if Adtype.kind f and Adtype.kind c: return None
# load dimensions
dimdim npshapeA
# initialize outputs
oper npidentitydimdtypefloat
# find pivots
i
while i dim:
j
while j dim:
if Aij: j; continue
else:
operiiAij
Aij: Aij:Aij
break
j
i
return oper
def echelontorref A:
# Perform Gaussian elimination on matrix A
for k in rangeAshape:
eliminateColA k
eliminateRowA k
# Finally, scale the matrix
eliminateScaleA
return A
def getechelonformA:
dim dim npshapeA
for k in rangemindim dim:
# Eliminate below diagonal in column k
swap, oper eliminateColA k
return A
# Example Usage:
A nparray
dtypefloat
B nparray
dtypefloat
echelon getechelonformBcopy
reduced echelontorrefBcopy
printA
printechelon
printreduced
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started