the inverse of a sum of two symmetric for schur completion?
$begingroup$
I have a up-triangulate Jacobi matrix J which can be blocked like :
$J = begin{bmatrix}A & B\ 0 & Cend{bmatrix} $
both A and C are up-triangulate, we can get Hessian matrix H by:
$H = J'J =begin{bmatrix}A' & 0\B'&C'end{bmatrix} begin{bmatrix}A & B\ 0 & Cend{bmatrix} = begin{bmatrix}A'A & A'B\B'A & B'B+C'Cend{bmatrix} $
by schur completion, I want to margin $B'B+C'C$, the equation is:
$ A'A - A'B(B'B+C'C)^{-1}B'A $
I know $C^{-1}$ is easy computed because it's a up-triangulate matrix, but unfortunately the add ruin this equation.
I have found that
$ X(X^{-1}+Y^{-1})Y = (X^{-1}+Y^{-1})^{-1} $ only when both X and Y are invertible, which B'B dose not meet
so any one have some brilliant idea to compute this equation easily?
linear-algebra matrices inverse matrix-decomposition schur-complement
$endgroup$
|
show 6 more comments
$begingroup$
I have a up-triangulate Jacobi matrix J which can be blocked like :
$J = begin{bmatrix}A & B\ 0 & Cend{bmatrix} $
both A and C are up-triangulate, we can get Hessian matrix H by:
$H = J'J =begin{bmatrix}A' & 0\B'&C'end{bmatrix} begin{bmatrix}A & B\ 0 & Cend{bmatrix} = begin{bmatrix}A'A & A'B\B'A & B'B+C'Cend{bmatrix} $
by schur completion, I want to margin $B'B+C'C$, the equation is:
$ A'A - A'B(B'B+C'C)^{-1}B'A $
I know $C^{-1}$ is easy computed because it's a up-triangulate matrix, but unfortunately the add ruin this equation.
I have found that
$ X(X^{-1}+Y^{-1})Y = (X^{-1}+Y^{-1})^{-1} $ only when both X and Y are invertible, which B'B dose not meet
so any one have some brilliant idea to compute this equation easily?
linear-algebra matrices inverse matrix-decomposition schur-complement
$endgroup$
$begingroup$
I understand most of your question, but I don't understand this: "by schur completion, I want to margin $B'B+C'C$". What are you trying to say here? What do you mean by "margin"?
$endgroup$
– Omnomnomnom
Jan 7 at 2:03
$begingroup$
@Omnomnomnom thank you for your attention , basically margin means remove some target variable in optimization problem , you can refer it from g2o paper cct.lsu.edu/~kzhang/papers/g2o.pdf , equ(25)
$endgroup$
– Mr.Guo
Jan 7 at 2:10
$begingroup$
If $B$ (or $B^TB$) has low rank you can update the cholesky decomposition $C^TC$
$endgroup$
– LinAlg
Jan 7 at 2:12
$begingroup$
@LinAlg yes B'B is not full rank , could you give me some more information about "update the cholesky decomposition" ?
$endgroup$
– Mr.Guo
Jan 7 at 2:15
$begingroup$
@LinAlg thank you for your hint, I think cholesky decomposition update should be work
$endgroup$
– Mr.Guo
Jan 7 at 2:24
|
show 6 more comments
$begingroup$
I have a up-triangulate Jacobi matrix J which can be blocked like :
$J = begin{bmatrix}A & B\ 0 & Cend{bmatrix} $
both A and C are up-triangulate, we can get Hessian matrix H by:
$H = J'J =begin{bmatrix}A' & 0\B'&C'end{bmatrix} begin{bmatrix}A & B\ 0 & Cend{bmatrix} = begin{bmatrix}A'A & A'B\B'A & B'B+C'Cend{bmatrix} $
by schur completion, I want to margin $B'B+C'C$, the equation is:
$ A'A - A'B(B'B+C'C)^{-1}B'A $
I know $C^{-1}$ is easy computed because it's a up-triangulate matrix, but unfortunately the add ruin this equation.
I have found that
$ X(X^{-1}+Y^{-1})Y = (X^{-1}+Y^{-1})^{-1} $ only when both X and Y are invertible, which B'B dose not meet
so any one have some brilliant idea to compute this equation easily?
linear-algebra matrices inverse matrix-decomposition schur-complement
$endgroup$
I have a up-triangulate Jacobi matrix J which can be blocked like :
$J = begin{bmatrix}A & B\ 0 & Cend{bmatrix} $
both A and C are up-triangulate, we can get Hessian matrix H by:
$H = J'J =begin{bmatrix}A' & 0\B'&C'end{bmatrix} begin{bmatrix}A & B\ 0 & Cend{bmatrix} = begin{bmatrix}A'A & A'B\B'A & B'B+C'Cend{bmatrix} $
by schur completion, I want to margin $B'B+C'C$, the equation is:
$ A'A - A'B(B'B+C'C)^{-1}B'A $
I know $C^{-1}$ is easy computed because it's a up-triangulate matrix, but unfortunately the add ruin this equation.
I have found that
$ X(X^{-1}+Y^{-1})Y = (X^{-1}+Y^{-1})^{-1} $ only when both X and Y are invertible, which B'B dose not meet
so any one have some brilliant idea to compute this equation easily?
linear-algebra matrices inverse matrix-decomposition schur-complement
linear-algebra matrices inverse matrix-decomposition schur-complement
edited Jan 7 at 2:05
Mr.Guo
asked Jan 7 at 1:56
Mr.GuoMr.Guo
307
307
$begingroup$
I understand most of your question, but I don't understand this: "by schur completion, I want to margin $B'B+C'C$". What are you trying to say here? What do you mean by "margin"?
$endgroup$
– Omnomnomnom
Jan 7 at 2:03
$begingroup$
@Omnomnomnom thank you for your attention , basically margin means remove some target variable in optimization problem , you can refer it from g2o paper cct.lsu.edu/~kzhang/papers/g2o.pdf , equ(25)
$endgroup$
– Mr.Guo
Jan 7 at 2:10
$begingroup$
If $B$ (or $B^TB$) has low rank you can update the cholesky decomposition $C^TC$
$endgroup$
– LinAlg
Jan 7 at 2:12
$begingroup$
@LinAlg yes B'B is not full rank , could you give me some more information about "update the cholesky decomposition" ?
$endgroup$
– Mr.Guo
Jan 7 at 2:15
$begingroup$
@LinAlg thank you for your hint, I think cholesky decomposition update should be work
$endgroup$
– Mr.Guo
Jan 7 at 2:24
|
show 6 more comments
$begingroup$
I understand most of your question, but I don't understand this: "by schur completion, I want to margin $B'B+C'C$". What are you trying to say here? What do you mean by "margin"?
$endgroup$
– Omnomnomnom
Jan 7 at 2:03
$begingroup$
@Omnomnomnom thank you for your attention , basically margin means remove some target variable in optimization problem , you can refer it from g2o paper cct.lsu.edu/~kzhang/papers/g2o.pdf , equ(25)
$endgroup$
– Mr.Guo
Jan 7 at 2:10
$begingroup$
If $B$ (or $B^TB$) has low rank you can update the cholesky decomposition $C^TC$
$endgroup$
– LinAlg
Jan 7 at 2:12
$begingroup$
@LinAlg yes B'B is not full rank , could you give me some more information about "update the cholesky decomposition" ?
$endgroup$
– Mr.Guo
Jan 7 at 2:15
$begingroup$
@LinAlg thank you for your hint, I think cholesky decomposition update should be work
$endgroup$
– Mr.Guo
Jan 7 at 2:24
$begingroup$
I understand most of your question, but I don't understand this: "by schur completion, I want to margin $B'B+C'C$". What are you trying to say here? What do you mean by "margin"?
$endgroup$
– Omnomnomnom
Jan 7 at 2:03
$begingroup$
I understand most of your question, but I don't understand this: "by schur completion, I want to margin $B'B+C'C$". What are you trying to say here? What do you mean by "margin"?
$endgroup$
– Omnomnomnom
Jan 7 at 2:03
$begingroup$
@Omnomnomnom thank you for your attention , basically margin means remove some target variable in optimization problem , you can refer it from g2o paper cct.lsu.edu/~kzhang/papers/g2o.pdf , equ(25)
$endgroup$
– Mr.Guo
Jan 7 at 2:10
$begingroup$
@Omnomnomnom thank you for your attention , basically margin means remove some target variable in optimization problem , you can refer it from g2o paper cct.lsu.edu/~kzhang/papers/g2o.pdf , equ(25)
$endgroup$
– Mr.Guo
Jan 7 at 2:10
$begingroup$
If $B$ (or $B^TB$) has low rank you can update the cholesky decomposition $C^TC$
$endgroup$
– LinAlg
Jan 7 at 2:12
$begingroup$
If $B$ (or $B^TB$) has low rank you can update the cholesky decomposition $C^TC$
$endgroup$
– LinAlg
Jan 7 at 2:12
$begingroup$
@LinAlg yes B'B is not full rank , could you give me some more information about "update the cholesky decomposition" ?
$endgroup$
– Mr.Guo
Jan 7 at 2:15
$begingroup$
@LinAlg yes B'B is not full rank , could you give me some more information about "update the cholesky decomposition" ?
$endgroup$
– Mr.Guo
Jan 7 at 2:15
$begingroup$
@LinAlg thank you for your hint, I think cholesky decomposition update should be work
$endgroup$
– Mr.Guo
Jan 7 at 2:24
$begingroup$
@LinAlg thank you for your hint, I think cholesky decomposition update should be work
$endgroup$
– Mr.Guo
Jan 7 at 2:24
|
show 6 more comments
2 Answers
2
active
oldest
votes
$begingroup$
To compute $X:=(B^TB+C^TC)^{-1}B^TA$, you never actually compute $(B^TB+C^TC)^{-1}$, but instead you solve $(B^TB+C^TC)X=B^TA$. Since $C$ is upper triangular, you can see $C^T$ as the Cholesky factor of $C^TC$. You can update the Cholesky factor $C^T$ to account for the low rank update $B^TB$ (via repeated rank-1 updates). That will give you a new Cholesky factor $L$ such that $LL^T = B^TB+C^TC$. Then all you need to do is solve $LL^TX = B^TA$, which is relatively easy.
$endgroup$
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
add a comment |
$begingroup$
hi @Omnomnomnom you have given me a better hint to solve this problem , I'd like to list it here
I have checked your equation it's correct except one little mistaken, it should be:
$ (C'C+B'B)^{-1} = (C'C)^{-1} - (C'C)^{-1}B'(I+B(C'C)^{-1}B')^{-1}B(C'C)^{-1} $
I think it's a good solution because B is (small rows * big cols) matrix, we can get
$D = (C'C)^{-1}$
$E = BDB'$
$F = (I+E)^{-1}$
D,E,F are all easy computed, so the result is :
$ (C'C+B'B)^{-1} = D - DB'FBD $
and finally,
$ result = A'A-A'B(B'B+C'C)^{-1}B'A = A'(I-B(B'B+C'C)^{-1}B')A = A'(I-BDB' + BDB'FBDB')A = A'(I-E+EFE)A$
$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: "69"
};
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
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%2fmath.stackexchange.com%2fquestions%2f3064585%2fthe-inverse-of-a-sum-of-two-symmetric-for-schur-completion%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$
To compute $X:=(B^TB+C^TC)^{-1}B^TA$, you never actually compute $(B^TB+C^TC)^{-1}$, but instead you solve $(B^TB+C^TC)X=B^TA$. Since $C$ is upper triangular, you can see $C^T$ as the Cholesky factor of $C^TC$. You can update the Cholesky factor $C^T$ to account for the low rank update $B^TB$ (via repeated rank-1 updates). That will give you a new Cholesky factor $L$ such that $LL^T = B^TB+C^TC$. Then all you need to do is solve $LL^TX = B^TA$, which is relatively easy.
$endgroup$
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
add a comment |
$begingroup$
To compute $X:=(B^TB+C^TC)^{-1}B^TA$, you never actually compute $(B^TB+C^TC)^{-1}$, but instead you solve $(B^TB+C^TC)X=B^TA$. Since $C$ is upper triangular, you can see $C^T$ as the Cholesky factor of $C^TC$. You can update the Cholesky factor $C^T$ to account for the low rank update $B^TB$ (via repeated rank-1 updates). That will give you a new Cholesky factor $L$ such that $LL^T = B^TB+C^TC$. Then all you need to do is solve $LL^TX = B^TA$, which is relatively easy.
$endgroup$
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
add a comment |
$begingroup$
To compute $X:=(B^TB+C^TC)^{-1}B^TA$, you never actually compute $(B^TB+C^TC)^{-1}$, but instead you solve $(B^TB+C^TC)X=B^TA$. Since $C$ is upper triangular, you can see $C^T$ as the Cholesky factor of $C^TC$. You can update the Cholesky factor $C^T$ to account for the low rank update $B^TB$ (via repeated rank-1 updates). That will give you a new Cholesky factor $L$ such that $LL^T = B^TB+C^TC$. Then all you need to do is solve $LL^TX = B^TA$, which is relatively easy.
$endgroup$
To compute $X:=(B^TB+C^TC)^{-1}B^TA$, you never actually compute $(B^TB+C^TC)^{-1}$, but instead you solve $(B^TB+C^TC)X=B^TA$. Since $C$ is upper triangular, you can see $C^T$ as the Cholesky factor of $C^TC$. You can update the Cholesky factor $C^T$ to account for the low rank update $B^TB$ (via repeated rank-1 updates). That will give you a new Cholesky factor $L$ such that $LL^T = B^TB+C^TC$. Then all you need to do is solve $LL^TX = B^TA$, which is relatively easy.
answered Jan 7 at 2:58
LinAlgLinAlg
9,4991521
9,4991521
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
add a comment |
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
cholesky factor update is a good idea, I'm using eigen , but I didn't find the rank one update for C, it only have interface for C'C which need mutiply first, so I think @Omnomnomnom 's idea is more fitting for me :) , I have listed the detail below
$endgroup$
– Mr.Guo
Jan 7 at 3:50
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
@Mr.Guo what do you mean by "I didn't find the rank one update for C, it only have interface for C'C which need mutiply first"?
$endgroup$
– LinAlg
Jan 7 at 4:42
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
I mean Eigen have no good interface for up-triangulate matrix rank-one update :)
$endgroup$
– Mr.Guo
Jan 7 at 9:32
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
$begingroup$
@Mr.Guo I think $C$ is of the LLT type with the UpLo flag set to upper, and that you can use this procedure.
$endgroup$
– LinAlg
Jan 7 at 13:11
add a comment |
$begingroup$
hi @Omnomnomnom you have given me a better hint to solve this problem , I'd like to list it here
I have checked your equation it's correct except one little mistaken, it should be:
$ (C'C+B'B)^{-1} = (C'C)^{-1} - (C'C)^{-1}B'(I+B(C'C)^{-1}B')^{-1}B(C'C)^{-1} $
I think it's a good solution because B is (small rows * big cols) matrix, we can get
$D = (C'C)^{-1}$
$E = BDB'$
$F = (I+E)^{-1}$
D,E,F are all easy computed, so the result is :
$ (C'C+B'B)^{-1} = D - DB'FBD $
and finally,
$ result = A'A-A'B(B'B+C'C)^{-1}B'A = A'(I-B(B'B+C'C)^{-1}B')A = A'(I-BDB' + BDB'FBDB')A = A'(I-E+EFE)A$
$endgroup$
add a comment |
$begingroup$
hi @Omnomnomnom you have given me a better hint to solve this problem , I'd like to list it here
I have checked your equation it's correct except one little mistaken, it should be:
$ (C'C+B'B)^{-1} = (C'C)^{-1} - (C'C)^{-1}B'(I+B(C'C)^{-1}B')^{-1}B(C'C)^{-1} $
I think it's a good solution because B is (small rows * big cols) matrix, we can get
$D = (C'C)^{-1}$
$E = BDB'$
$F = (I+E)^{-1}$
D,E,F are all easy computed, so the result is :
$ (C'C+B'B)^{-1} = D - DB'FBD $
and finally,
$ result = A'A-A'B(B'B+C'C)^{-1}B'A = A'(I-B(B'B+C'C)^{-1}B')A = A'(I-BDB' + BDB'FBDB')A = A'(I-E+EFE)A$
$endgroup$
add a comment |
$begingroup$
hi @Omnomnomnom you have given me a better hint to solve this problem , I'd like to list it here
I have checked your equation it's correct except one little mistaken, it should be:
$ (C'C+B'B)^{-1} = (C'C)^{-1} - (C'C)^{-1}B'(I+B(C'C)^{-1}B')^{-1}B(C'C)^{-1} $
I think it's a good solution because B is (small rows * big cols) matrix, we can get
$D = (C'C)^{-1}$
$E = BDB'$
$F = (I+E)^{-1}$
D,E,F are all easy computed, so the result is :
$ (C'C+B'B)^{-1} = D - DB'FBD $
and finally,
$ result = A'A-A'B(B'B+C'C)^{-1}B'A = A'(I-B(B'B+C'C)^{-1}B')A = A'(I-BDB' + BDB'FBDB')A = A'(I-E+EFE)A$
$endgroup$
hi @Omnomnomnom you have given me a better hint to solve this problem , I'd like to list it here
I have checked your equation it's correct except one little mistaken, it should be:
$ (C'C+B'B)^{-1} = (C'C)^{-1} - (C'C)^{-1}B'(I+B(C'C)^{-1}B')^{-1}B(C'C)^{-1} $
I think it's a good solution because B is (small rows * big cols) matrix, we can get
$D = (C'C)^{-1}$
$E = BDB'$
$F = (I+E)^{-1}$
D,E,F are all easy computed, so the result is :
$ (C'C+B'B)^{-1} = D - DB'FBD $
and finally,
$ result = A'A-A'B(B'B+C'C)^{-1}B'A = A'(I-B(B'B+C'C)^{-1}B')A = A'(I-BDB' + BDB'FBDB')A = A'(I-E+EFE)A$
edited Jan 7 at 4:11
answered Jan 7 at 3:46
Mr.GuoMr.Guo
307
307
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics 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');
});
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%2fmath.stackexchange.com%2fquestions%2f3064585%2fthe-inverse-of-a-sum-of-two-symmetric-for-schur-completion%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');
});
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');
});
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');
});
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
$begingroup$
I understand most of your question, but I don't understand this: "by schur completion, I want to margin $B'B+C'C$". What are you trying to say here? What do you mean by "margin"?
$endgroup$
– Omnomnomnom
Jan 7 at 2:03
$begingroup$
@Omnomnomnom thank you for your attention , basically margin means remove some target variable in optimization problem , you can refer it from g2o paper cct.lsu.edu/~kzhang/papers/g2o.pdf , equ(25)
$endgroup$
– Mr.Guo
Jan 7 at 2:10
$begingroup$
If $B$ (or $B^TB$) has low rank you can update the cholesky decomposition $C^TC$
$endgroup$
– LinAlg
Jan 7 at 2:12
$begingroup$
@LinAlg yes B'B is not full rank , could you give me some more information about "update the cholesky decomposition" ?
$endgroup$
– Mr.Guo
Jan 7 at 2:15
$begingroup$
@LinAlg thank you for your hint, I think cholesky decomposition update should be work
$endgroup$
– Mr.Guo
Jan 7 at 2:24