Asymptotic Complexity of Gaussian Elimination using Complete Pivoting
$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?
linear-algebra linear-solver complexity
New contributor
$endgroup$
add a comment |
$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?
linear-algebra linear-solver complexity
New contributor
$endgroup$
add a comment |
$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?
linear-algebra linear-solver complexity
New contributor
$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
linear-algebra linear-solver complexity
New contributor
New contributor
edited 9 hours ago
Anton Menshov
3,84121663
3,84121663
New contributor
asked 16 hours ago
IggIgg
132
132
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$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)$.
$endgroup$
add a comment |
$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.
$endgroup$
add a comment |
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
});
}
});
Igg is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$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)$.
$endgroup$
add a comment |
$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)$.
$endgroup$
add a comment |
$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)$.
$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)$.
answered 15 hours ago
Carl ChristianCarl Christian
95748
95748
add a comment |
add a comment |
$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.
$endgroup$
add a comment |
$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.
$endgroup$
add a comment |
$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.
$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.
edited 9 hours ago
answered 9 hours ago
rchilton1980rchilton1980
2,228712
2,228712
add a comment |
add a comment |
Igg is a new contributor. Be nice, and check out our Code of Conduct.
Igg is a new contributor. Be nice, and check out our Code of Conduct.
Igg is a new contributor. Be nice, and check out our Code of Conduct.
Igg is a new contributor. Be nice, and check out our Code of Conduct.
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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