0
|
8105 Views
|
4 Replies
|
0 Total Likes
View groups...
Share

# Can you find the PseudoInverse of this matrix?

Posted 10 years ago
 Please execute: alpha = 4; word = 3; dict = Partition[Flatten[Tuples[IdentityMatrix[alpha], word]], (alpha*word)]; MatrixForm[dict]  Do you see an easy way to get the PseudoInverse without using Mathematica's PseudoInverse function?
4 Replies
Sort By:
Posted 10 years ago
 The transpose of dict is 12 x 64, so Transpose[dict].dict is 12 x 12.
Posted 10 years ago
 Frank,alpha=4; word=3 should yield a 64 x 12 matrix. I was trying to see someone would re-invent - or already knew - what you see on page 16 of:http://youvan.com/Mathematics%20of%20the%20Genetic%20Code%20-%20submit%202%20-%20redacted.pdfThanks, Doug
Posted 10 years ago
 The product of the transpose of dict with dict is not of full rank and can't be inverted. In[26]:= test = {{1, 2}, {3, 5}, {7, 11}}; In[27]:= ps1 = PseudoInverse[test] Out[27]= {{-(19/7), -(10/7), 8/7}, {12/7, 13/14, -(9/14)}} In[29]:= ps2 = Inverse[Transpose[test].test].Transpose[test] Out[29]= {{-(19/7), -(10/7), 8/7}, {12/7, 13/14, -(9/14)}} In[30]:= alpha = 4; word = 3; dict = Partition[ Flatten[Tuples[IdentityMatrix[alpha], word]], (alpha*word)]; In[33]:= Dimensions[Transpose[dict].dict] Out[33]= {12, 12} In[35]:= MatrixRank[Transpose[dict].dict] Out[35]= 10 
Posted 10 years ago
 Other methods for finding the PseudoInverse require inverting the product of the matix with its transpose. That's probably much more complex than the method used by the PseudoInverse function.