<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - answers and comments on Question, Algorithm used  by Maple function 'MatrixInverse' for calculating pseudo inverse of matrix</title>
    <link>http://www.mapleprimes.com/questions/126591-Algorithm-Used--By-Maple-Function-MatrixInverse</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Tue, 09 Jun 2026 19:04:04 GMT</lastBuildDate>
    <pubDate>Tue, 09 Jun 2026 19:04:04 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest answers and comments added to the Question, Algorithm used  by Maple function 'MatrixInverse' for calculating pseudo inverse of matrix</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - answers and comments on Question, Algorithm used  by Maple function 'MatrixInverse' for calculating pseudo inverse of matrix</title>
      <link>http://www.mapleprimes.com/questions/126591-Algorithm-Used--By-Maple-Function-MatrixInverse</link>
    </image>
    <item>
      <title>showstat</title>
      <link>http://www.mapleprimes.com/questions/126591-Algorithm-Used--By-Maple-Function-MatrixInverse?ref=Feed:MaplePrimes:Algorithm used  by Maple function 'MatrixInverse' for calculating pseudo inverse of matrix:Comments#answer126592</link>
      <itunes:summary>&lt;p&gt;Not sure what algorithm Maple uses but you could use showstat() to try to determine which one.&lt;/p&gt;
&lt;p&gt;showstat(LinearAlgebra[MatrixInverse])&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Not sure what algorithm Maple uses but you could use showstat() to try to determine which one.&lt;/p&gt;
&lt;p&gt;showstat(LinearAlgebra[MatrixInverse])&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <guid>126592</guid>
      <pubDate>Fri, 14 Oct 2011 03:11:47 Z</pubDate>
      <itunes:author>Christopher2222</itunes:author>
      <author>Christopher2222</author>
    </item>
    <item>
      <title>singular vectors and the SVD</title>
      <link>http://www.mapleprimes.com/questions/126591-Algorithm-Used--By-Maple-Function-MatrixInverse?ref=Feed:MaplePrimes:Algorithm used  by Maple function 'MatrixInverse' for calculating pseudo inverse of matrix:Comments#answer126594</link>
      <itunes:summary>&lt;p&gt;I suppose that you mean for floating-point, not for the exact symbolic case.&lt;/p&gt;
&lt;p&gt;It uses the singular value decomposition. See also the first application example described &lt;a href="http://en.wikipedia.org/wiki/Singular_value_decomposition#Applications_of_the_SVD"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can view the code that accomplishes this. Using Maple 15&lt;/p&gt;
&lt;pre&gt;showstat((LinearAlgebra::LA_Main)::`MatrixInverse/pseudo`,34..57);
&lt;/pre&gt;
&lt;p&gt;In Maple 11, the relevent code can be seen by issuing these commands&lt;/p&gt;
&lt;pre&gt;kernelopts(opaquemodules=false):
showstat(LinearAlgebra:-LA_Main:-`MatrixInverse/pseudo`,34..57);
&lt;/pre&gt;
&lt;p&gt;The code looks more complicated than it is, just because some care is being taken to keep down unnecessary copies in various cases like n&amp;gt;m, m&amp;gt;n, etc.&lt;/p&gt;
&lt;p&gt;It also computes a "proviso" of correctness. This is computed as a ratio of the r'th ordered singular value and the largest singular value, where r the rank of the Matrix is determined according to how many of the ordered singular values have a ratio w.r.t the largest that is greater than some tolerance that depends upon Digits. This is akin to how the Rank command determines r for float Matrices.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;I suppose that you mean for floating-point, not for the exact symbolic case.&lt;/p&gt;
&lt;p&gt;It uses the singular value decomposition. See also the first application example described &lt;a href="http://en.wikipedia.org/wiki/Singular_value_decomposition#Applications_of_the_SVD"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can view the code that accomplishes this. Using Maple 15&lt;/p&gt;
&lt;pre&gt;showstat((LinearAlgebra::LA_Main)::`MatrixInverse/pseudo`,34..57);
&lt;/pre&gt;
&lt;p&gt;In Maple 11, the relevent code can be seen by issuing these commands&lt;/p&gt;
&lt;pre&gt;kernelopts(opaquemodules=false):
showstat(LinearAlgebra:-LA_Main:-`MatrixInverse/pseudo`,34..57);
&lt;/pre&gt;
&lt;p&gt;The code looks more complicated than it is, just because some care is being taken to keep down unnecessary copies in various cases like n&amp;gt;m, m&amp;gt;n, etc.&lt;/p&gt;
&lt;p&gt;It also computes a "proviso" of correctness. This is computed as a ratio of the r'th ordered singular value and the largest singular value, where r the rank of the Matrix is determined according to how many of the ordered singular values have a ratio w.r.t the largest that is greater than some tolerance that depends upon Digits. This is akin to how the Rank command determines r for float Matrices.&lt;/p&gt;</description>
      <guid>126594</guid>
      <pubDate>Fri, 14 Oct 2011 03:53:24 Z</pubDate>
      <itunes:author>pagan</itunes:author>
      <author>pagan</author>
    </item>
  </channel>
</rss>