Matrix inversion fails, using either inverse or pseudo inverse!Elementary Row Operations To Find Inverse MatrixMatlab: Matrix with variable number of of columnsFast Ax = b solverpseudo-inverse by SVD decomposition has not accurate results?Generating a Triangular Matrix via a Vector MATLABSolution of equations involving determinant and matrix inverseGet direction of normal without matrix inversionA question about non-linear least square method…When pseudo inverse and general inverse of a invertible square matrix will be equal or not equal?Solving $ Ax=b $ for A, given multiple pairs of vectors, $x$ and $b$
What mechanic is there to disable a threat instead of killing it?
What killed these X2 caps?
How to compactly explain secondary and tertiary characters without resorting to stereotypes?
Avoiding the "not like other girls" trope?
Why is this clock signal connected to a capacitor to gnd?
Avoiding direct proof while writing proof by induction
How to show a landlord what we have in savings?
Am I breaking OOP practice with this architecture?
ssTTsSTtRrriinInnnnNNNIiinngg
How can saying a song's name be a copyright violation?
Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?
Unlock My Phone! February 2018
Assassin's bullet with mercury
Is it possible to create a QR code using text?
Ambiguity in the definition of entropy
Im going to France and my passport expires June 19th
A category-like structure without composition?
What reasons are there for a Capitalist to oppose a 100% inheritance tax?
How do I gain back my faith in my PhD degree?
Would Slavery Reparations be considered Bills of Attainder and hence Illegal?
How to tell a function to use the default argument values?
CAST throwing error when run in stored procedure but not when run as raw query
Is it acceptable for a professor to tell male students to not think that they are smarter than female students?
Can my sorcerer use a spellbook only to collect spells and scribe scrolls, not cast?
Matrix inversion fails, using either inverse or pseudo inverse!
Elementary Row Operations To Find Inverse MatrixMatlab: Matrix with variable number of of columnsFast Ax = b solverpseudo-inverse by SVD decomposition has not accurate results?Generating a Triangular Matrix via a Vector MATLABSolution of equations involving determinant and matrix inverseGet direction of normal without matrix inversionA question about non-linear least square method…When pseudo inverse and general inverse of a invertible square matrix will be equal or not equal?Solving $ Ax=b $ for A, given multiple pairs of vectors, $x$ and $b$
$begingroup$
I am doing this little manipulation on Matlab and I really don't understand why it doesn't work. Here it is:
First I generate a $1times400$ vector A, and a $400times3$ matrix C.
Then I generate a $1times3$ vector B by
$B=AC$
Now my aim is to express A as a function of B. First I tried this:
$A=BC^T(CC^T)^-1$
But the matrix $CC^T$ is not invertible, its determinant is always zero, whatever the initial $C$ matrix (at least numerically). So I tried using the pseudo inverse of $C$, (function pinv() in Matlab, which uses singular value decomposition). I get some matrix $C^+$ and I'm hoping to express A like
$A=BC^+$
But it doesn't work! If I compute the right-hand side of this equation (using my newly found $C^+$) I don't get A at all!
Would anybody know how I could express A as a function of B with a suitable matrix?
Thank you!
EDIT:
I know from elsewhere (for physical reasons) that $A$ can only be a linear combination of three elementary vectors ($1times400$), which weights are the elements of $B$. So it seems legitimate that I should be able to express $A$ like $A=BM$, with some matrix $M$ containing the three elementary vectors in question. But I can only experimentally relate $A$ and $B$ the other way round, as $B=AC$. So I am trying to retrieve the $M$ matrix from $C$.
A and B are physical quantities in my initial problem, the above manipulation was just an attempt to illustrate it and make things clearer. But maybe it was a source of confusion as it seems not to be possible in the general case!
linear-algebra matrices matrix-equations matlab pseudoinverse
$endgroup$
add a comment |
$begingroup$
I am doing this little manipulation on Matlab and I really don't understand why it doesn't work. Here it is:
First I generate a $1times400$ vector A, and a $400times3$ matrix C.
Then I generate a $1times3$ vector B by
$B=AC$
Now my aim is to express A as a function of B. First I tried this:
$A=BC^T(CC^T)^-1$
But the matrix $CC^T$ is not invertible, its determinant is always zero, whatever the initial $C$ matrix (at least numerically). So I tried using the pseudo inverse of $C$, (function pinv() in Matlab, which uses singular value decomposition). I get some matrix $C^+$ and I'm hoping to express A like
$A=BC^+$
But it doesn't work! If I compute the right-hand side of this equation (using my newly found $C^+$) I don't get A at all!
Would anybody know how I could express A as a function of B with a suitable matrix?
Thank you!
EDIT:
I know from elsewhere (for physical reasons) that $A$ can only be a linear combination of three elementary vectors ($1times400$), which weights are the elements of $B$. So it seems legitimate that I should be able to express $A$ like $A=BM$, with some matrix $M$ containing the three elementary vectors in question. But I can only experimentally relate $A$ and $B$ the other way round, as $B=AC$. So I am trying to retrieve the $M$ matrix from $C$.
A and B are physical quantities in my initial problem, the above manipulation was just an attempt to illustrate it and make things clearer. But maybe it was a source of confusion as it seems not to be possible in the general case!
linear-algebra matrices matrix-equations matlab pseudoinverse
$endgroup$
$begingroup$
It is impossible to express $A$ as a function of $B$. This is because there are many matrices $A$ for a single matrix $B$.
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:09
$begingroup$
What if I know from elsewhere that there is a one-to-one correspondence between A and B? (It is actually my case).
$endgroup$
– user655870
Mar 28 at 21:18
$begingroup$
That is impossible
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:18
add a comment |
$begingroup$
I am doing this little manipulation on Matlab and I really don't understand why it doesn't work. Here it is:
First I generate a $1times400$ vector A, and a $400times3$ matrix C.
Then I generate a $1times3$ vector B by
$B=AC$
Now my aim is to express A as a function of B. First I tried this:
$A=BC^T(CC^T)^-1$
But the matrix $CC^T$ is not invertible, its determinant is always zero, whatever the initial $C$ matrix (at least numerically). So I tried using the pseudo inverse of $C$, (function pinv() in Matlab, which uses singular value decomposition). I get some matrix $C^+$ and I'm hoping to express A like
$A=BC^+$
But it doesn't work! If I compute the right-hand side of this equation (using my newly found $C^+$) I don't get A at all!
Would anybody know how I could express A as a function of B with a suitable matrix?
Thank you!
EDIT:
I know from elsewhere (for physical reasons) that $A$ can only be a linear combination of three elementary vectors ($1times400$), which weights are the elements of $B$. So it seems legitimate that I should be able to express $A$ like $A=BM$, with some matrix $M$ containing the three elementary vectors in question. But I can only experimentally relate $A$ and $B$ the other way round, as $B=AC$. So I am trying to retrieve the $M$ matrix from $C$.
A and B are physical quantities in my initial problem, the above manipulation was just an attempt to illustrate it and make things clearer. But maybe it was a source of confusion as it seems not to be possible in the general case!
linear-algebra matrices matrix-equations matlab pseudoinverse
$endgroup$
I am doing this little manipulation on Matlab and I really don't understand why it doesn't work. Here it is:
First I generate a $1times400$ vector A, and a $400times3$ matrix C.
Then I generate a $1times3$ vector B by
$B=AC$
Now my aim is to express A as a function of B. First I tried this:
$A=BC^T(CC^T)^-1$
But the matrix $CC^T$ is not invertible, its determinant is always zero, whatever the initial $C$ matrix (at least numerically). So I tried using the pseudo inverse of $C$, (function pinv() in Matlab, which uses singular value decomposition). I get some matrix $C^+$ and I'm hoping to express A like
$A=BC^+$
But it doesn't work! If I compute the right-hand side of this equation (using my newly found $C^+$) I don't get A at all!
Would anybody know how I could express A as a function of B with a suitable matrix?
Thank you!
EDIT:
I know from elsewhere (for physical reasons) that $A$ can only be a linear combination of three elementary vectors ($1times400$), which weights are the elements of $B$. So it seems legitimate that I should be able to express $A$ like $A=BM$, with some matrix $M$ containing the three elementary vectors in question. But I can only experimentally relate $A$ and $B$ the other way round, as $B=AC$. So I am trying to retrieve the $M$ matrix from $C$.
A and B are physical quantities in my initial problem, the above manipulation was just an attempt to illustrate it and make things clearer. But maybe it was a source of confusion as it seems not to be possible in the general case!
linear-algebra matrices matrix-equations matlab pseudoinverse
linear-algebra matrices matrix-equations matlab pseudoinverse
edited Mar 28 at 22:12
user655870
asked Mar 28 at 20:52
user655870user655870
112
112
$begingroup$
It is impossible to express $A$ as a function of $B$. This is because there are many matrices $A$ for a single matrix $B$.
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:09
$begingroup$
What if I know from elsewhere that there is a one-to-one correspondence between A and B? (It is actually my case).
$endgroup$
– user655870
Mar 28 at 21:18
$begingroup$
That is impossible
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:18
add a comment |
$begingroup$
It is impossible to express $A$ as a function of $B$. This is because there are many matrices $A$ for a single matrix $B$.
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:09
$begingroup$
What if I know from elsewhere that there is a one-to-one correspondence between A and B? (It is actually my case).
$endgroup$
– user655870
Mar 28 at 21:18
$begingroup$
That is impossible
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:18
$begingroup$
It is impossible to express $A$ as a function of $B$. This is because there are many matrices $A$ for a single matrix $B$.
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:09
$begingroup$
It is impossible to express $A$ as a function of $B$. This is because there are many matrices $A$ for a single matrix $B$.
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:09
$begingroup$
What if I know from elsewhere that there is a one-to-one correspondence between A and B? (It is actually my case).
$endgroup$
– user655870
Mar 28 at 21:18
$begingroup$
What if I know from elsewhere that there is a one-to-one correspondence between A and B? (It is actually my case).
$endgroup$
– user655870
Mar 28 at 21:18
$begingroup$
That is impossible
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:18
$begingroup$
That is impossible
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:18
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
If $C$ has rank $3$ then take $$A = B (C^mathrmT C)^-1 C^mathrmT.$$ Then $A C = B$. As pointed out in the comments, this is only a way to find a matrix $A$, since there are many that satisfy this equation.
$endgroup$
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
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%2f3166406%2fmatrix-inversion-fails-using-either-inverse-or-pseudo-inverse%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
If $C$ has rank $3$ then take $$A = B (C^mathrmT C)^-1 C^mathrmT.$$ Then $A C = B$. As pointed out in the comments, this is only a way to find a matrix $A$, since there are many that satisfy this equation.
$endgroup$
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
add a comment |
$begingroup$
If $C$ has rank $3$ then take $$A = B (C^mathrmT C)^-1 C^mathrmT.$$ Then $A C = B$. As pointed out in the comments, this is only a way to find a matrix $A$, since there are many that satisfy this equation.
$endgroup$
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
add a comment |
$begingroup$
If $C$ has rank $3$ then take $$A = B (C^mathrmT C)^-1 C^mathrmT.$$ Then $A C = B$. As pointed out in the comments, this is only a way to find a matrix $A$, since there are many that satisfy this equation.
$endgroup$
If $C$ has rank $3$ then take $$A = B (C^mathrmT C)^-1 C^mathrmT.$$ Then $A C = B$. As pointed out in the comments, this is only a way to find a matrix $A$, since there are many that satisfy this equation.
answered Mar 28 at 21:20
WimCWimC
24.4k23063
24.4k23063
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
add a comment |
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
$begingroup$
Thank you, I edited my question for more clarity!
$endgroup$
– user655870
Mar 28 at 21:42
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%2f3166406%2fmatrix-inversion-fails-using-either-inverse-or-pseudo-inverse%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$
It is impossible to express $A$ as a function of $B$. This is because there are many matrices $A$ for a single matrix $B$.
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:09
$begingroup$
What if I know from elsewhere that there is a one-to-one correspondence between A and B? (It is actually my case).
$endgroup$
– user655870
Mar 28 at 21:18
$begingroup$
That is impossible
$endgroup$
– Jorge Fernández Hidalgo
Mar 28 at 21:18