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
17 hours ago
1
@HenrikSchumacher I'll edit the post then :)
– wznd
17 hours ago
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 17 hours ago
asked 18 hours ago
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
17 hours ago
1
@HenrikSchumacher I'll edit the post then :)
– wznd
17 hours ago
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
17 hours ago
1
@HenrikSchumacher I'll edit the post then :)
– wznd
17 hours ago
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
17 hours ago
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
17 hours ago
1
1
@HenrikSchumacher I'll edit the post then :)
– wznd
17 hours ago
@HenrikSchumacher I'll edit the post then :)
– wznd
17 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
17 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
|
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
17 hours ago
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
17 hours ago
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
17 hours ago
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
17 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
|
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
17 hours ago
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
17 hours ago
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
17 hours ago
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
17 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
|
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 17 hours ago
answered 17 hours ago
Henrik Schumacher
48.6k467137
48.6k467137
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
17 hours ago
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
17 hours ago
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
17 hours ago
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
17 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
|
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
17 hours ago
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
17 hours ago
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
17 hours ago
You're welcome. I'd rather useV.Inverse[W]
orW.Inverse[V]
depending on which direction you would like to have.
– Henrik Schumacher
17 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
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
17 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
Well, I'd like to know the change of basis matrix from the base W -> V, so how would the function look like?
– wznd
16 hours ago
|
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
17 hours ago
1
@HenrikSchumacher I'll edit the post then :)
– wznd
17 hours ago