Strassen algorithm for matrix multiplication complexity analysis











up vote
3
down vote

favorite












I see everywhere that the recursive equation for the complexity of Strassen alg is:
$$T(n) = 7T(tfrac{n}{2})+O(n^2).$$ This is not so clear to me.
The parameter $n$ is supposed to be the size of the input, but it seems that here it is one dimension of a matrix while the input size is actually $n^2$.
Also, each matrix of the input is divided to 4 sub matrices so it seems the recursive equation should be $$T(n) = 7T(tfrac{n}{4}) + O(n).$$










share|cite|improve this question









New contributor




user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    3
    down vote

    favorite












    I see everywhere that the recursive equation for the complexity of Strassen alg is:
    $$T(n) = 7T(tfrac{n}{2})+O(n^2).$$ This is not so clear to me.
    The parameter $n$ is supposed to be the size of the input, but it seems that here it is one dimension of a matrix while the input size is actually $n^2$.
    Also, each matrix of the input is divided to 4 sub matrices so it seems the recursive equation should be $$T(n) = 7T(tfrac{n}{4}) + O(n).$$










    share|cite|improve this question









    New contributor




    user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      3
      down vote

      favorite









      up vote
      3
      down vote

      favorite











      I see everywhere that the recursive equation for the complexity of Strassen alg is:
      $$T(n) = 7T(tfrac{n}{2})+O(n^2).$$ This is not so clear to me.
      The parameter $n$ is supposed to be the size of the input, but it seems that here it is one dimension of a matrix while the input size is actually $n^2$.
      Also, each matrix of the input is divided to 4 sub matrices so it seems the recursive equation should be $$T(n) = 7T(tfrac{n}{4}) + O(n).$$










      share|cite|improve this question









      New contributor




      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      I see everywhere that the recursive equation for the complexity of Strassen alg is:
      $$T(n) = 7T(tfrac{n}{2})+O(n^2).$$ This is not so clear to me.
      The parameter $n$ is supposed to be the size of the input, but it seems that here it is one dimension of a matrix while the input size is actually $n^2$.
      Also, each matrix of the input is divided to 4 sub matrices so it seems the recursive equation should be $$T(n) = 7T(tfrac{n}{4}) + O(n).$$







      complexity-theory divide-and-conquer matrix






      share|cite|improve this question









      New contributor




      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|cite|improve this question









      New contributor




      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|cite|improve this question




      share|cite|improve this question








      edited 1 hour ago









      Yuval Filmus

      188k12177339




      188k12177339






      New contributor




      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 hours ago









      user97899

      161




      161




      New contributor




      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      user97899 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          3
          down vote













          It's back to the size of the matrix. Suppose the original matrix is $ntimes n$. Hence we will consider $T(n)$ as a computation of two matrix with size of $ntimes n$. When we divide the original matrix to 4 part, size of each part is $frac{n}{2}times frac{n}{2}$. Hence, the computation cost of multiplication of two matrices with this size is $T(frac{n}{2})$.






          share|cite|improve this answer




























            up vote
            0
            down vote













            It's true that the parameter $n$ usually denotes the size of the input, but this is not always the case. For square matrix multiplication, $n$ denotes the number of rows (or columns). For graphs, $n$ often denotes the number of vertices, and $m$ the number of edges. For algorithms on Boolean functions, $n$ denotes the number of inputs, though the truth table itself has size $2^n$. There are many other examples.






            share|cite|improve this answer





















              Your Answer





              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("mathjaxEditing", function () {
              StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
              StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
              });
              });
              }, "mathjax-editing");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "419"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });






              user97899 is a new contributor. Be nice, and check out our Code of Conduct.










              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f101638%2fstrassen-algorithm-for-matrix-multiplication-complexity-analysis%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              3
              down vote













              It's back to the size of the matrix. Suppose the original matrix is $ntimes n$. Hence we will consider $T(n)$ as a computation of two matrix with size of $ntimes n$. When we divide the original matrix to 4 part, size of each part is $frac{n}{2}times frac{n}{2}$. Hence, the computation cost of multiplication of two matrices with this size is $T(frac{n}{2})$.






              share|cite|improve this answer

























                up vote
                3
                down vote













                It's back to the size of the matrix. Suppose the original matrix is $ntimes n$. Hence we will consider $T(n)$ as a computation of two matrix with size of $ntimes n$. When we divide the original matrix to 4 part, size of each part is $frac{n}{2}times frac{n}{2}$. Hence, the computation cost of multiplication of two matrices with this size is $T(frac{n}{2})$.






                share|cite|improve this answer























                  up vote
                  3
                  down vote










                  up vote
                  3
                  down vote









                  It's back to the size of the matrix. Suppose the original matrix is $ntimes n$. Hence we will consider $T(n)$ as a computation of two matrix with size of $ntimes n$. When we divide the original matrix to 4 part, size of each part is $frac{n}{2}times frac{n}{2}$. Hence, the computation cost of multiplication of two matrices with this size is $T(frac{n}{2})$.






                  share|cite|improve this answer












                  It's back to the size of the matrix. Suppose the original matrix is $ntimes n$. Hence we will consider $T(n)$ as a computation of two matrix with size of $ntimes n$. When we divide the original matrix to 4 part, size of each part is $frac{n}{2}times frac{n}{2}$. Hence, the computation cost of multiplication of two matrices with this size is $T(frac{n}{2})$.







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered 2 hours ago









                  OmG

                  1,363412




                  1,363412






















                      up vote
                      0
                      down vote













                      It's true that the parameter $n$ usually denotes the size of the input, but this is not always the case. For square matrix multiplication, $n$ denotes the number of rows (or columns). For graphs, $n$ often denotes the number of vertices, and $m$ the number of edges. For algorithms on Boolean functions, $n$ denotes the number of inputs, though the truth table itself has size $2^n$. There are many other examples.






                      share|cite|improve this answer

























                        up vote
                        0
                        down vote













                        It's true that the parameter $n$ usually denotes the size of the input, but this is not always the case. For square matrix multiplication, $n$ denotes the number of rows (or columns). For graphs, $n$ often denotes the number of vertices, and $m$ the number of edges. For algorithms on Boolean functions, $n$ denotes the number of inputs, though the truth table itself has size $2^n$. There are many other examples.






                        share|cite|improve this answer























                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          It's true that the parameter $n$ usually denotes the size of the input, but this is not always the case. For square matrix multiplication, $n$ denotes the number of rows (or columns). For graphs, $n$ often denotes the number of vertices, and $m$ the number of edges. For algorithms on Boolean functions, $n$ denotes the number of inputs, though the truth table itself has size $2^n$. There are many other examples.






                          share|cite|improve this answer












                          It's true that the parameter $n$ usually denotes the size of the input, but this is not always the case. For square matrix multiplication, $n$ denotes the number of rows (or columns). For graphs, $n$ often denotes the number of vertices, and $m$ the number of edges. For algorithms on Boolean functions, $n$ denotes the number of inputs, though the truth table itself has size $2^n$. There are many other examples.







                          share|cite|improve this answer












                          share|cite|improve this answer



                          share|cite|improve this answer










                          answered 1 hour ago









                          Yuval Filmus

                          188k12177339




                          188k12177339






















                              user97899 is a new contributor. Be nice, and check out our Code of Conduct.










                              draft saved

                              draft discarded


















                              user97899 is a new contributor. Be nice, and check out our Code of Conduct.













                              user97899 is a new contributor. Be nice, and check out our Code of Conduct.












                              user97899 is a new contributor. Be nice, and check out our Code of Conduct.
















                              Thanks for contributing an answer to Computer Science Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              Use MathJax to format equations. MathJax reference.


                              To learn more, see our tips on writing great answers.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f101638%2fstrassen-algorithm-for-matrix-multiplication-complexity-analysis%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Quarter-circle Tiles

                              build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

                              Mont Emei