Asymptotic Complexity of Gaussian Elimination using Complete Pivoting












2












$begingroup$


I would like to know the algorithm asymptotic complexity with Complete Pivoting. With partial pivoting, it is known to be $O(n^3)$.



Is it the same for complete pivoting?










share|cite|improve this question











$endgroup$

















    2












    $begingroup$


    I would like to know the algorithm asymptotic complexity with Complete Pivoting. With partial pivoting, it is known to be $O(n^3)$.



    Is it the same for complete pivoting?










    share|cite|improve this question











    $endgroup$















      2












      2








      2





      $begingroup$


      I would like to know the algorithm asymptotic complexity with Complete Pivoting. With partial pivoting, it is known to be $O(n^3)$.



      Is it the same for complete pivoting?










      share|cite|improve this question











      $endgroup$




      I would like to know the algorithm asymptotic complexity with Complete Pivoting. With partial pivoting, it is known to be $O(n^3)$.



      Is it the same for complete pivoting?







      linear-algebra linear-solver complexity






      share|cite|improve this question















      share|cite|improve this question













      share|cite|improve this question




      share|cite|improve this question








      edited Feb 8 at 15:51









      Anton Menshov

      3,91521663




      3,91521663










      asked Feb 8 at 9:07









      IggIgg

      132




      132






















          2 Answers
          2






          active

          oldest

          votes


















          4












          $begingroup$

          Yes. Searching the entire trailing submatrix for the next pivot instead of only the current column merely replaces the time spent on finding pivots from $O(n^2)$ to $O(n^3)$. While the total runtime is increased, the overall asymptotic complexity remains $O(n^3)$.






          share|cite|improve this answer









          $endgroup$





















            4












            $begingroup$

            Carl's answer is correct, I upvoted it too. The growth in pivot searches from taking $O(n^2)$ steps to $O(n^3)$ steps is unfortunate, but doesn't jeopardize the overall complexity. But I think the usual caveats about big-$O$ notation should be doubly repeated, that omitting the constants can obscure important details.



            The hidden problem here is that full pivoting appears to spoil the opportunity to use BLAS3 operations to do deferred updates on the trailing columns. Because any column might be holding the next pivot at any time, they always have to be to kept up to date using BLAS2 kernels.



            In contrast, partial pivoting only requires BLAS2 to update a thin "leading panel" of upcoming columns, and can update all the trailing columns later using BLAS3 once the panel is done.



            The bottom line of all this is that full pivoting runs vastly slower than partial pivoting on practical computers, despite having the same asymptotic complexity.






            share|cite|improve this answer











            $endgroup$













              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: "363"
              };
              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',
              autoActivateHeartbeat: false,
              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
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fscicomp.stackexchange.com%2fquestions%2f31029%2fasymptotic-complexity-of-gaussian-elimination-using-complete-pivoting%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









              4












              $begingroup$

              Yes. Searching the entire trailing submatrix for the next pivot instead of only the current column merely replaces the time spent on finding pivots from $O(n^2)$ to $O(n^3)$. While the total runtime is increased, the overall asymptotic complexity remains $O(n^3)$.






              share|cite|improve this answer









              $endgroup$


















                4












                $begingroup$

                Yes. Searching the entire trailing submatrix for the next pivot instead of only the current column merely replaces the time spent on finding pivots from $O(n^2)$ to $O(n^3)$. While the total runtime is increased, the overall asymptotic complexity remains $O(n^3)$.






                share|cite|improve this answer









                $endgroup$
















                  4












                  4








                  4





                  $begingroup$

                  Yes. Searching the entire trailing submatrix for the next pivot instead of only the current column merely replaces the time spent on finding pivots from $O(n^2)$ to $O(n^3)$. While the total runtime is increased, the overall asymptotic complexity remains $O(n^3)$.






                  share|cite|improve this answer









                  $endgroup$



                  Yes. Searching the entire trailing submatrix for the next pivot instead of only the current column merely replaces the time spent on finding pivots from $O(n^2)$ to $O(n^3)$. While the total runtime is increased, the overall asymptotic complexity remains $O(n^3)$.







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered Feb 8 at 9:41









                  Carl ChristianCarl Christian

                  97748




                  97748























                      4












                      $begingroup$

                      Carl's answer is correct, I upvoted it too. The growth in pivot searches from taking $O(n^2)$ steps to $O(n^3)$ steps is unfortunate, but doesn't jeopardize the overall complexity. But I think the usual caveats about big-$O$ notation should be doubly repeated, that omitting the constants can obscure important details.



                      The hidden problem here is that full pivoting appears to spoil the opportunity to use BLAS3 operations to do deferred updates on the trailing columns. Because any column might be holding the next pivot at any time, they always have to be to kept up to date using BLAS2 kernels.



                      In contrast, partial pivoting only requires BLAS2 to update a thin "leading panel" of upcoming columns, and can update all the trailing columns later using BLAS3 once the panel is done.



                      The bottom line of all this is that full pivoting runs vastly slower than partial pivoting on practical computers, despite having the same asymptotic complexity.






                      share|cite|improve this answer











                      $endgroup$


















                        4












                        $begingroup$

                        Carl's answer is correct, I upvoted it too. The growth in pivot searches from taking $O(n^2)$ steps to $O(n^3)$ steps is unfortunate, but doesn't jeopardize the overall complexity. But I think the usual caveats about big-$O$ notation should be doubly repeated, that omitting the constants can obscure important details.



                        The hidden problem here is that full pivoting appears to spoil the opportunity to use BLAS3 operations to do deferred updates on the trailing columns. Because any column might be holding the next pivot at any time, they always have to be to kept up to date using BLAS2 kernels.



                        In contrast, partial pivoting only requires BLAS2 to update a thin "leading panel" of upcoming columns, and can update all the trailing columns later using BLAS3 once the panel is done.



                        The bottom line of all this is that full pivoting runs vastly slower than partial pivoting on practical computers, despite having the same asymptotic complexity.






                        share|cite|improve this answer











                        $endgroup$
















                          4












                          4








                          4





                          $begingroup$

                          Carl's answer is correct, I upvoted it too. The growth in pivot searches from taking $O(n^2)$ steps to $O(n^3)$ steps is unfortunate, but doesn't jeopardize the overall complexity. But I think the usual caveats about big-$O$ notation should be doubly repeated, that omitting the constants can obscure important details.



                          The hidden problem here is that full pivoting appears to spoil the opportunity to use BLAS3 operations to do deferred updates on the trailing columns. Because any column might be holding the next pivot at any time, they always have to be to kept up to date using BLAS2 kernels.



                          In contrast, partial pivoting only requires BLAS2 to update a thin "leading panel" of upcoming columns, and can update all the trailing columns later using BLAS3 once the panel is done.



                          The bottom line of all this is that full pivoting runs vastly slower than partial pivoting on practical computers, despite having the same asymptotic complexity.






                          share|cite|improve this answer











                          $endgroup$



                          Carl's answer is correct, I upvoted it too. The growth in pivot searches from taking $O(n^2)$ steps to $O(n^3)$ steps is unfortunate, but doesn't jeopardize the overall complexity. But I think the usual caveats about big-$O$ notation should be doubly repeated, that omitting the constants can obscure important details.



                          The hidden problem here is that full pivoting appears to spoil the opportunity to use BLAS3 operations to do deferred updates on the trailing columns. Because any column might be holding the next pivot at any time, they always have to be to kept up to date using BLAS2 kernels.



                          In contrast, partial pivoting only requires BLAS2 to update a thin "leading panel" of upcoming columns, and can update all the trailing columns later using BLAS3 once the panel is done.



                          The bottom line of all this is that full pivoting runs vastly slower than partial pivoting on practical computers, despite having the same asymptotic complexity.







                          share|cite|improve this answer














                          share|cite|improve this answer



                          share|cite|improve this answer








                          edited Feb 8 at 15:50

























                          answered Feb 8 at 15:44









                          rchilton1980rchilton1980

                          2,238712




                          2,238712






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Computational 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.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fscicomp.stackexchange.com%2fquestions%2f31029%2fasymptotic-complexity-of-gaussian-elimination-using-complete-pivoting%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

                              How to change which sound is reproduced for terminal bell?

                              Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                              Can I use Tabulator js library in my java Spring + Thymeleaf project?