<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - answers and comments on Question, Generate (an FFT) matrix from equation and have it simplify as I wish</title>
    <link>http://www.mapleprimes.com/questions/137850-Generate-an-FFT-Matrix-From-Equation</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Sat, 13 Jun 2026 18:30:00 GMT</lastBuildDate>
    <pubDate>Sat, 13 Jun 2026 18:30:00 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest answers and comments added to the Question, Generate (an FFT) matrix from equation and have it simplify as I wish</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - answers and comments on Question, Generate (an FFT) matrix from equation and have it simplify as I wish</title>
      <link>http://www.mapleprimes.com/questions/137850-Generate-an-FFT-Matrix-From-Equation</link>
    </image>
    <item>
      <title>simplify with side-relations?</title>
      <link>http://www.mapleprimes.com/questions/137850-Generate-an-FFT-Matrix-From-Equation?ref=Feed:MaplePrimes:Generate (an FFT) matrix from equation and have it simplify as I wish:Comments#answer137853</link>
      <itunes:summary>&lt;p&gt;Do you mean a reduction something like this?&lt;/p&gt;
&lt;pre&gt;simplify(F, {omega^(N/2)=-1});
&lt;/pre&gt;
&lt;p&gt;For example,&lt;/p&gt;
&lt;pre&gt;restart; 

N:=6:

F:=Matrix(N,N,(i,j)-&amp;gt;omega^((i-1)*(j-1)));

                 [1    1        1        1        1        1   ]
                 [                                             ]
                 [                2        3        4        5 ]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
                 [        2       4        6        8        10]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
            F := [        3       6        9        12       15]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
                 [        4       8        12       16       20]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
                 [        5       10       15       20       25]
                 [1  omega   omega    omega    omega    omega  ]

simplify(F,{omega^(N/2)=-1});

                  [1     1       1     1     1        1   ]
                  [                                       ]
                  [                 2                    2]
                  [1   omega   omega   -1  -omega  -omega ]
                  [                                       ]
                  [        2                    2         ]
                  [1  omega    -omega  1   omega   -omega ]
                  [                                       ]
                  [1    -1       1     -1    1       -1   ]
                  [                                       ]
                  [                 2                   2 ]
                  [1  -omega   omega   1   -omega  omega  ]
                  [                                       ]
                  [         2                   2         ]
                  [1  -omega   -omega  -1  omega    omega ]
&lt;/pre&gt;
&lt;!--break--&gt;
&lt;p&gt;acer&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Do you mean a reduction something like this?&lt;/p&gt;
&lt;pre&gt;simplify(F, {omega^(N/2)=-1});
&lt;/pre&gt;
&lt;p&gt;For example,&lt;/p&gt;
&lt;pre&gt;restart; 

N:=6:

F:=Matrix(N,N,(i,j)-&amp;gt;omega^((i-1)*(j-1)));

                 [1    1        1        1        1        1   ]
                 [                                             ]
                 [                2        3        4        5 ]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
                 [        2       4        6        8        10]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
            F := [        3       6        9        12       15]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
                 [        4       8        12       16       20]
                 [1  omega   omega    omega    omega    omega  ]
                 [                                             ]
                 [        5       10       15       20       25]
                 [1  omega   omega    omega    omega    omega  ]

simplify(F,{omega^(N/2)=-1});

                  [1     1       1     1     1        1   ]
                  [                                       ]
                  [                 2                    2]
                  [1   omega   omega   -1  -omega  -omega ]
                  [                                       ]
                  [        2                    2         ]
                  [1  omega    -omega  1   omega   -omega ]
                  [                                       ]
                  [1    -1       1     -1    1       -1   ]
                  [                                       ]
                  [                 2                   2 ]
                  [1  -omega   omega   1   -omega  omega  ]
                  [                                       ]
                  [         2                   2         ]
                  [1  -omega   -omega  -1  omega    omega ]
&lt;/pre&gt;
&lt;!--break--&gt;
&lt;p&gt;acer&lt;/p&gt;</description>
      <guid>137853</guid>
      <pubDate>Sun, 30 Sep 2012 06:21:36 Z</pubDate>
      <itunes:author>acer</itunes:author>
      <author>acer</author>
    </item>
    <item>
      <title>Yup, I meant a reduction something sorta</title>
      <link>http://www.mapleprimes.com/questions/137850-Generate-an-FFT-Matrix-From-Equation?ref=Feed:MaplePrimes:Generate (an FFT) matrix from equation and have it simplify as I wish:Comments#comment137862</link>
      <itunes:summary>&lt;p&gt;Yup, I meant a reduction something sorta like that! :D.&lt;/p&gt;
&lt;p&gt;I tried all the "Simplification" choices on the menu. I didn't know you could type something like that. Good to go. Thanks.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Yup, I meant a reduction something sorta like that! :D.&lt;/p&gt;
&lt;p&gt;I tried all the "Simplification" choices on the menu. I didn't know you could type something like that. Good to go. Thanks.&lt;/p&gt;</description>
      <guid>137862</guid>
      <pubDate>Mon, 01 Oct 2012 06:04:42 Z</pubDate>
      <itunes:author>Jeff</itunes:author>
      <author>Jeff</author>
    </item>
    <item>
      <title>efficiency</title>
      <link>http://www.mapleprimes.com/questions/137850-Generate-an-FFT-Matrix-From-Equation?ref=Feed:MaplePrimes:Generate (an FFT) matrix from equation and have it simplify as I wish:Comments#comment137867</link>
      <itunes:summary>&lt;p&gt;As acer has an inclination for efficiency issues, I add a brief note. For the original 8x8 matrix, N=8, I have compared &lt;strong&gt;simplify&lt;/strong&gt; +&amp;nbsp; side relation with the &lt;strong&gt;applyrule&lt;/strong&gt; approach for the "full" simplification of the matrix terms to the form &lt;strong&gt;p&lt;/strong&gt; or &lt;strong&gt;p*omega&lt;/strong&gt;, where &lt;strong&gt;p&lt;/strong&gt; is a 4th root of the unity. I have got these results:&lt;/p&gt;
&lt;pre&gt;&amp;gt; CodeTools:-Usage(simplify(F,{omega^(N/4)=I}));
memory used=2.19MiB, alloc change=8.00MiB, cpu time=37.00ms, real time=34.00ms

&amp;gt; CodeTools:-Usage(subs(`&amp;amp;*`=`*`,map2(applyrule1,r,F,2)));
memory used=1.03MiB, alloc change=0 bytes, cpu time=20.00ms, real time=19.00ms

&lt;/pre&gt;
&lt;p&gt;Just a comment here on the second statement. I have used a custom variation of &lt;strong&gt;applyrule&lt;/strong&gt; that applies the rules just once by default or any other given number of times, in this case 2. And the neutral operator &lt;strong&gt;`&amp;amp;*`&lt;/strong&gt; is being used in a rule for avoiding premature automatic simplification. Certainly, the rules &lt;strong&gt;r&lt;/strong&gt; (not shown here) are somewhat long (3 lines say), a fact that stresses the need for a mathematical pattern matcher. But yet, I was somewhat surprised at seeing the rule method operating much more efficiently both in time and memory.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;As acer has an inclination for efficiency issues, I add a brief note. For the original 8x8 matrix, N=8, I have compared &lt;strong&gt;simplify&lt;/strong&gt; +&amp;nbsp; side relation with the &lt;strong&gt;applyrule&lt;/strong&gt; approach for the "full" simplification of the matrix terms to the form &lt;strong&gt;p&lt;/strong&gt; or &lt;strong&gt;p*omega&lt;/strong&gt;, where &lt;strong&gt;p&lt;/strong&gt; is a 4th root of the unity. I have got these results:&lt;/p&gt;
&lt;pre&gt;&amp;gt; CodeTools:-Usage(simplify(F,{omega^(N/4)=I}));
memory used=2.19MiB, alloc change=8.00MiB, cpu time=37.00ms, real time=34.00ms

&amp;gt; CodeTools:-Usage(subs(`&amp;amp;*`=`*`,map2(applyrule1,r,F,2)));
memory used=1.03MiB, alloc change=0 bytes, cpu time=20.00ms, real time=19.00ms

&lt;/pre&gt;
&lt;p&gt;Just a comment here on the second statement. I have used a custom variation of &lt;strong&gt;applyrule&lt;/strong&gt; that applies the rules just once by default or any other given number of times, in this case 2. And the neutral operator &lt;strong&gt;`&amp;amp;*`&lt;/strong&gt; is being used in a rule for avoiding premature automatic simplification. Certainly, the rules &lt;strong&gt;r&lt;/strong&gt; (not shown here) are somewhat long (3 lines say), a fact that stresses the need for a mathematical pattern matcher. But yet, I was somewhat surprised at seeing the rule method operating much more efficiently both in time and memory.&lt;/p&gt;</description>
      <guid>137867</guid>
      <pubDate>Mon, 01 Oct 2012 10:25:43 Z</pubDate>
      <itunes:author>Alejandro Jakubi</itunes:author>
      <author>Alejandro Jakubi</author>
    </item>
  </channel>
</rss>