Write a computer function that takes a general n times n mat

Write a computer function that takes a general n times n matrix A as input and computes its inverse A^-1 as output. Implement the algorithm by hand, i.e., you shouldn\'t just call the Matlab function that computes the inverse. Apply this function to compute, numerically, the inverse of the matrix of the previous problem. Do the same for Hilbert matrices of sizes 10 times 10, 100 times 100 and 200 times 200. In each case, verify numerically that AA^-1 = I Where I is the identity matrix. What do you observe?

Solution

function b = mat_inv2(a)
% Find dimensions of input matrix
[r,c] = size(a);

% If input matrix is not square, stop function
if r ~= c
    disp(\'Only Square Matrices, please\')
    b = [];
    return
end

% Target identity matrix to be transformed into the output
% inverse matrix
b = eye(r);

%The following code actually performs the matrix inversion by working
% on each element of the input
for j = 1 : r
    for i = j : r
        if a(i,j) ~= 0
            for k = 1 : r
                s = a(j,k); a(j,k) = a(i,k); a(i,k) = s;
                s = b(j,k); b(j,k) = b(i,k); b(i,k) = s;
            end
            t = 1/a(j,j);
            for k = 1 : r
                a(j,k) = t * a(j,k);
                b(j,k) = t * b(j,k);
            end
            for L = 1 : r
                if L ~= j
                    t = -a(L,j);
                    for k = 1 : r
                        a(L,k) = a(L,k) + t * a(j,k);
                        b(L,k) = b(L,k) + t * b(j,k);
                    end
                end
            end           
        end
        break
    end
    % Display warning if a row full of zeros is found
    if a(i,j) == 0
        disp(\'Warning: Singular Matrix\')
        b = \'error\';
        return
    end
end
% Show the evolution of the input matrix, so that we can
% confirm that it became an identity matrix.
a

 Write a computer function that takes a general n times n matrix A as input and computes its inverse A^-1 as output. Implement the algorithm by hand, i.e., you

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site