Question: import numpy as np def eliminateCol ( A , k = 0 ) : # guarantee that A is float type if A . dtype.kind

import numpy as np
def eliminateCol(A, k=0):
# guarantee that A is float type
if A.dtype.kind !='f' and A.dtype.kind !='c': return None
# load dimensions
dim0,dim1= np.shape(A)
# initialize outputs
swap = np.identity(dim0,dtype=float)
oper = np.identity(dim0,dtype=float)
# k < dim1
k = k%dim1
# if the column k is zero column, return
if A[:,k].any()== False: return swap,oper
i0=0
if k !=0:
# find a row i0 whose left most k-1 entries are all zero
while i0< dim0:
if A[i0,0:k].any()== False: break
i0+=1
# find a nonzero element A[i,k] to use as a pivot
i = i0;
while i < dim0:
if A[i,k]!=0: break
i+=1
if i == dim0: return swap,oper
# swap the row i with the row i0
if i != i0: A[[i0,i],]= A[[i,i0],];swap[[i0,i],]= swap[[i,i0],]
# row i0 is the pivot row and A[j,k] is zero for i0=0:
if A[i,j]!=0:
quot = A[i,j]/ A[k,j]
A[i,:]= A[i,:]- quot*A[k,:]
oper[i,k]=-quot
i-=1
return oper
def eliminateScale(A):
# guarantee that A is float type
if A.dtype.kind !='f' and A.dtype.kind !='c': return None
# load dimensions
dim0,dim1= np.shape(A)
# initialize outputs
oper = np.identity(dim0,dtype=float)
# find pivots
i =0
while i < dim0:
j =0
while j < dim1:
if A[i,j]==0: j+=1; continue
else:
oper[i,i]=1/A[i,j]
A[i,j:]= A[i,j:]/A[i,j]
break
j+=1
i+=1
return oper
def echelon_to_rref (A):
# Perform Gaussian elimination on matrix A
for k in range(A.shape[1]):
eliminateCol(A, k)
eliminateRow(A, k)
# Finally, scale the matrix
eliminateScale(A)
return A
# Example Usage:
A = np.array([[0.0,-1.0,2.0,8.0],
[0.0,0.0,-1.0,-11.0],
[0.0,2.0,-1.0,-3.0]], dtype=float)
reduced = echelon_to_rref(A.copy())
print(A)
print(reduced)
Reduced row echelon form A matrix is false. Rref of A should be
[[0,1,0,14],
[0,0,1,11],
[0,0,0,-20]]
System should be inconsistent. Fix the code.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!