Change of basis in Mathematica
I'm trying to set up a change of basis matrix from the base V -> W with the RowReduce function that's built into Mathematica. I am then supposed to verify the result by taking the product of the change of basis matrix and multiplying it with the co-ordinate vector for x. You can see the Bases and the vector x below.
So, my question is, how do I setup the change of basis matrix and then verify it, with just the RowReduce function? Thanks in advance.
V = {{1, 3}, {4, 6}}
W = {{4, 6}, {2, 5}}
x = {6, 6}
matrix mathematical-optimization linear-algebra
add a comment |
I'm trying to set up a change of basis matrix from the base V -> W with the RowReduce function that's built into Mathematica. I am then supposed to verify the result by taking the product of the change of basis matrix and multiplying it with the co-ordinate vector for x. You can see the Bases and the vector x below.
So, my question is, how do I setup the change of basis matrix and then verify it, with just the RowReduce function? Thanks in advance.
V = {{1, 3}, {4, 6}}
W = {{4, 6}, {2, 5}}
x = {6, 6}
matrix mathematical-optimization linear-algebra
Pleeeease. Don't useMatrixForm
in computations. See here why. Moreover, it would be appreciated if you would post copyable Mathematica code instead of images.
– Henrik Schumacher
Dec 27 '18 at 13:29
1
@HenrikSchumacher I'll edit the post then :)
– wznd
Dec 27 '18 at 13:31
add a comment |
I'm trying to set up a change of basis matrix from the base V -> W with the RowReduce function that's built into Mathematica. I am then supposed to verify the result by taking the product of the change of basis matrix and multiplying it with the co-ordinate vector for x. You can see the Bases and the vector x below.
So, my question is, how do I setup the change of basis matrix and then verify it, with just the RowReduce function? Thanks in advance.
V = {{1, 3}, {4, 6}}
W = {{4, 6}, {2, 5}}
x = {6, 6}
matrix mathematical-optimization linear-algebra
I'm trying to set up a change of basis matrix from the base V -> W with the RowReduce function that's built into Mathematica. I am then supposed to verify the result by taking the product of the change of basis matrix and multiplying it with the co-ordinate vector for x. You can see the Bases and the vector x below.
So, my question is, how do I setup the change of basis matrix and then verify it, with just the RowReduce function? Thanks in advance.
V = {{1, 3}, {4, 6}}
W = {{4, 6}, {2, 5}}
x = {6, 6}
matrix mathematical-optimization linear-algebra
matrix mathematical-optimization linear-algebra
edited Dec 27 '18 at 13:33
asked Dec 27 '18 at 13:11
wznd
315
315
Pleeeease. Don't useMatrixForm
in computations. See here why. Moreover, it would be appreciated if you would post copyable Mathematica code instead of images.
– Henrik Schumacher
Dec 27 '18 at 13:29
1
@HenrikSchumacher I'll edit the post then :)
– wznd
Dec 27 '18 at 13:31
add a comment |
Pleeeease. Don't useMatrixForm
in computations. See here why. Moreover, it would be appreciated if you would post copyable Mathematica code instead of images.
– Henrik Schumacher
Dec 27 '18 at 13:29
1
@HenrikSchumacher I'll edit the post then :)
– wznd
Dec 27 '18 at 13:31
Pleeeease. Don't use
MatrixForm
in computations. See here why. Moreover, it would be appreciated if you would post copyable Mathematica code instead of images.– Henrik Schumacher
Dec 27 '18 at 13:29
Pleeeease. Don't use
MatrixForm
in computations. See here why. Moreover, it would be appreciated if you would post copyable Mathematica code instead of images.– Henrik Schumacher
Dec 27 '18 at 13:29
1
1
@HenrikSchumacher I'll edit the post then :)
– wznd
Dec 27 '18 at 13:31
@HenrikSchumacher I'll edit the post then :)
– wznd
Dec 27 '18 at 13:31
add a comment |
1 Answer
1
active
oldest
votes
This might give you an idea... I merge V
and W
into one matrix with ArrayFlatten
and apply Gaussian elimination by RowReduce
.
V = {{1, 3}, {4, 6}};
W = {{4, 6}, {2, 5}};
B = RowReduce[ArrayFlatten[{{V, W}}]][[All, 3 ;;]]
V.B == W
{{-3, -(7/2)}, {7/3, 19/6}}
True
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
ArrayFlatten
can merge block matrices to a single matrix. AndA[[All, 3 ;;]]
reads off the columns3
toDimensions[A][[2]]
of a matrixA
. See the documentation ofPart
andSpan
for details.
– Henrik Schumacher
Dec 27 '18 at 13:36
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
Dec 27 '18 at 14:04
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
|
show 4 more comments
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: "387"
};
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
});
}
});
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%2fmathematica.stackexchange.com%2fquestions%2f188455%2fchange-of-basis-in-mathematica%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
This might give you an idea... I merge V
and W
into one matrix with ArrayFlatten
and apply Gaussian elimination by RowReduce
.
V = {{1, 3}, {4, 6}};
W = {{4, 6}, {2, 5}};
B = RowReduce[ArrayFlatten[{{V, W}}]][[All, 3 ;;]]
V.B == W
{{-3, -(7/2)}, {7/3, 19/6}}
True
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
ArrayFlatten
can merge block matrices to a single matrix. AndA[[All, 3 ;;]]
reads off the columns3
toDimensions[A][[2]]
of a matrixA
. See the documentation ofPart
andSpan
for details.
– Henrik Schumacher
Dec 27 '18 at 13:36
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
Dec 27 '18 at 14:04
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
|
show 4 more comments
This might give you an idea... I merge V
and W
into one matrix with ArrayFlatten
and apply Gaussian elimination by RowReduce
.
V = {{1, 3}, {4, 6}};
W = {{4, 6}, {2, 5}};
B = RowReduce[ArrayFlatten[{{V, W}}]][[All, 3 ;;]]
V.B == W
{{-3, -(7/2)}, {7/3, 19/6}}
True
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
ArrayFlatten
can merge block matrices to a single matrix. AndA[[All, 3 ;;]]
reads off the columns3
toDimensions[A][[2]]
of a matrixA
. See the documentation ofPart
andSpan
for details.
– Henrik Schumacher
Dec 27 '18 at 13:36
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
Dec 27 '18 at 14:04
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
|
show 4 more comments
This might give you an idea... I merge V
and W
into one matrix with ArrayFlatten
and apply Gaussian elimination by RowReduce
.
V = {{1, 3}, {4, 6}};
W = {{4, 6}, {2, 5}};
B = RowReduce[ArrayFlatten[{{V, W}}]][[All, 3 ;;]]
V.B == W
{{-3, -(7/2)}, {7/3, 19/6}}
True
This might give you an idea... I merge V
and W
into one matrix with ArrayFlatten
and apply Gaussian elimination by RowReduce
.
V = {{1, 3}, {4, 6}};
W = {{4, 6}, {2, 5}};
B = RowReduce[ArrayFlatten[{{V, W}}]][[All, 3 ;;]]
V.B == W
{{-3, -(7/2)}, {7/3, 19/6}}
True
edited Dec 27 '18 at 13:36
answered Dec 27 '18 at 13:32
Henrik Schumacher
48.8k467139
48.8k467139
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
ArrayFlatten
can merge block matrices to a single matrix. AndA[[All, 3 ;;]]
reads off the columns3
toDimensions[A][[2]]
of a matrixA
. See the documentation ofPart
andSpan
for details.
– Henrik Schumacher
Dec 27 '18 at 13:36
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
Dec 27 '18 at 14:04
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
|
show 4 more comments
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
ArrayFlatten
can merge block matrices to a single matrix. AndA[[All, 3 ;;]]
reads off the columns3
toDimensions[A][[2]]
of a matrixA
. See the documentation ofPart
andSpan
for details.
– Henrik Schumacher
Dec 27 '18 at 13:36
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
Dec 27 '18 at 14:04
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
Ah, smart. Wasn't thinking about how you could compare the two functions that easily. Just one question though. What does the ArrayFlatten, and the [[All, 3 ;;]] commands mean? Thank you very much for your answer.
– wznd
Dec 27 '18 at 13:34
ArrayFlatten
can merge block matrices to a single matrix. And A[[All, 3 ;;]]
reads off the columns 3
to Dimensions[A][[2]]
of a matrix A
. See the documentation of Part
and Span
for details.– Henrik Schumacher
Dec 27 '18 at 13:36
ArrayFlatten
can merge block matrices to a single matrix. And A[[All, 3 ;;]]
reads off the columns 3
to Dimensions[A][[2]]
of a matrix A
. See the documentation of Part
and Span
for details.– Henrik Schumacher
Dec 27 '18 at 13:36
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
Ah, now I get it. Thank you so much. If i were to calculate the change of basis matrix from W -> V, using the Inverse function, would I first take the inverse of W, and then multiply W^1 * V?
– wznd
Dec 27 '18 at 13:51
You're welcome. I'd rather use
V.Inverse[W]
or W.Inverse[V]
depending on which direction you would like to have.– Henrik Schumacher
Dec 27 '18 at 14:04
You're welcome. I'd rather use
V.Inverse[W]
or W.Inverse[V]
depending on which direction you would like to have.– Henrik Schumacher
Dec 27 '18 at 14:04
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
Dec 27 '18 at 14:16
|
show 4 more comments
Thanks for contributing an answer to Mathematica 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.
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%2fmathematica.stackexchange.com%2fquestions%2f188455%2fchange-of-basis-in-mathematica%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
Pleeeease. Don't use
MatrixForm
in computations. See here why. Moreover, it would be appreciated if you would post copyable Mathematica code instead of images.– Henrik Schumacher
Dec 27 '18 at 13:29
1
@HenrikSchumacher I'll edit the post then :)
– wznd
Dec 27 '18 at 13:31