Question: Where is the question about the pseudo inverse of a matrix

Not the first time that a question (OP's name  PhearunSeng ) is removed as I am writing an answer (I guess other people have already faced the same inconvenience). 
Why doesn't exist a mechanism which prevents removing, deleting, displacing a question where someone (here Carl) has akready given an answer ???

Whatever the reason, here is my answer

Title: Can be done quickly if you write the matrix in a more abstract form

MyKGff := Matrix(5, 5, 
  {
    (1, 1) = A+(1/63368)*B, 
    (1, 2) = -(1/63368)*B, 
    (1, 3) = -(1/39605)*B, 
    (1, 4) = 0, 
    (1, 5) = 0, 
    (2, 1) = -(1/63368)*B, 
    (2, 2) = (1/63368)*B+C, 
    (2, 3) = (1/39605)*B, 
    (2, 4) = -C, 
    (2, 5) = 0, 
    (3, 1) = -(1/39605)*B, 
    (3, 2) = (1/39605)*B, 
    (3, 3) = (8/198025)*B, 
    (3, 4) = 0, 
    (3, 5) = 0, 
    (4, 1) = 0, 
    (4, 2) = -C, 
    (4, 3) = 0, 
    (4, 4) = C+(1/63368)*F, 
    (4, 5) = -(1/39605)*F, 
    (5, 1) = 0, 
    (5, 2) = 0, 
    (5, 3) = 0, 
    (5, 4) = -(1/39605)*F, 
    (5, 5) = (8/198025)*F
  }
);

Then (Maple 2015.2)

PseudoInverse := CodeTools:-Usage( LinearAlgebra:-MatrixInverse(MyKGff, method=pseudo) ):
memory used=28.38MiB, alloc change=68.00MiB, cpu time=312.00ms, real time=314.00ms, gc time=24.90ms

To recover the pseudo inverse with original data do

Rewrite := [
             A = (D__pile*W[1] . E__c)/3000, 
             B = (D__pile*W[2] . E__c)*89^(1/2), 
             C = (D__pile*W[3] . E__c)/1000, 
             F = (D__pile*W[4] . E__c)*89^(1/2)
           ]:

eval(PseudoInverse, Rewrite):

InverseMatrix_mmcdara.mw

Please Wait...