Solving the eigenvalue system
$begingroup$
$Au_{m,n}+Bu_{m-10,n-10}+Cu_{m+10,n+10}+Du_{m,n-10}+Eu_{m-10,n}=lambda u_{m,n}$
where $A=0.01(m^2+n^2),quad B=0.1(m+n),quad C=0.1(m-n),quad D=0.1 m, quad E=0.1 n$. and $m,n$ range from $[-50,50]$. My problem is hhow to transform the equation into a matrix form.
matrices linear-algebra
$endgroup$
migrated from mathematica.stackexchange.com Jan 8 at 19:14
This question came from our site for users of Wolfram Mathematica.
add a comment |
$begingroup$
$Au_{m,n}+Bu_{m-10,n-10}+Cu_{m+10,n+10}+Du_{m,n-10}+Eu_{m-10,n}=lambda u_{m,n}$
where $A=0.01(m^2+n^2),quad B=0.1(m+n),quad C=0.1(m-n),quad D=0.1 m, quad E=0.1 n$. and $m,n$ range from $[-50,50]$. My problem is hhow to transform the equation into a matrix form.
matrices linear-algebra
$endgroup$
migrated from mathematica.stackexchange.com Jan 8 at 19:14
This question came from our site for users of Wolfram Mathematica.
$begingroup$
This does not seem to be a Mathematica-specific question. How would one solve this outside of Mathematica ?
$endgroup$
– Lotus
Jan 2 at 9:37
$begingroup$
This problem is block-diagonal modulo 10: all indices $m$ that end in "1" are coupled only among each other, and all that end in "2" are coupled only among each other, etc., and the same for $n$. You can therefore set up 100 sub-problems with indices ${m,n}$ all ending the same way. This may simplify the calculation.
$endgroup$
– Roman
Jan 2 at 9:37
add a comment |
$begingroup$
$Au_{m,n}+Bu_{m-10,n-10}+Cu_{m+10,n+10}+Du_{m,n-10}+Eu_{m-10,n}=lambda u_{m,n}$
where $A=0.01(m^2+n^2),quad B=0.1(m+n),quad C=0.1(m-n),quad D=0.1 m, quad E=0.1 n$. and $m,n$ range from $[-50,50]$. My problem is hhow to transform the equation into a matrix form.
matrices linear-algebra
$endgroup$
$Au_{m,n}+Bu_{m-10,n-10}+Cu_{m+10,n+10}+Du_{m,n-10}+Eu_{m-10,n}=lambda u_{m,n}$
where $A=0.01(m^2+n^2),quad B=0.1(m+n),quad C=0.1(m-n),quad D=0.1 m, quad E=0.1 n$. and $m,n$ range from $[-50,50]$. My problem is hhow to transform the equation into a matrix form.
matrices linear-algebra
matrices linear-algebra
asked Jan 2 at 6:01
yun shiyun shi
1
1
migrated from mathematica.stackexchange.com Jan 8 at 19:14
This question came from our site for users of Wolfram Mathematica.
migrated from mathematica.stackexchange.com Jan 8 at 19:14
This question came from our site for users of Wolfram Mathematica.
$begingroup$
This does not seem to be a Mathematica-specific question. How would one solve this outside of Mathematica ?
$endgroup$
– Lotus
Jan 2 at 9:37
$begingroup$
This problem is block-diagonal modulo 10: all indices $m$ that end in "1" are coupled only among each other, and all that end in "2" are coupled only among each other, etc., and the same for $n$. You can therefore set up 100 sub-problems with indices ${m,n}$ all ending the same way. This may simplify the calculation.
$endgroup$
– Roman
Jan 2 at 9:37
add a comment |
$begingroup$
This does not seem to be a Mathematica-specific question. How would one solve this outside of Mathematica ?
$endgroup$
– Lotus
Jan 2 at 9:37
$begingroup$
This problem is block-diagonal modulo 10: all indices $m$ that end in "1" are coupled only among each other, and all that end in "2" are coupled only among each other, etc., and the same for $n$. You can therefore set up 100 sub-problems with indices ${m,n}$ all ending the same way. This may simplify the calculation.
$endgroup$
– Roman
Jan 2 at 9:37
$begingroup$
This does not seem to be a Mathematica-specific question. How would one solve this outside of Mathematica ?
$endgroup$
– Lotus
Jan 2 at 9:37
$begingroup$
This does not seem to be a Mathematica-specific question. How would one solve this outside of Mathematica ?
$endgroup$
– Lotus
Jan 2 at 9:37
$begingroup$
This problem is block-diagonal modulo 10: all indices $m$ that end in "1" are coupled only among each other, and all that end in "2" are coupled only among each other, etc., and the same for $n$. You can therefore set up 100 sub-problems with indices ${m,n}$ all ending the same way. This may simplify the calculation.
$endgroup$
– Roman
Jan 2 at 9:37
$begingroup$
This problem is block-diagonal modulo 10: all indices $m$ that end in "1" are coupled only among each other, and all that end in "2" are coupled only among each other, etc., and the same for $n$. You can therefore set up 100 sub-problems with indices ${m,n}$ all ending the same way. This may simplify the calculation.
$endgroup$
– Roman
Jan 2 at 9:37
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
You can set this equation into a SparseArray with
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n-10->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m+10&&n1==n+10->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m&&n1==n-10->(m-s-1)/10,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}] //ArrayFlatten;
This gets you a list of $(2s+1)^2$ equations:
Thread[X.U == [Lambda] U]
(* list of equations *)
The eigensystem is then
Eigensystem[N[X]]
If you want periodic boundary conditions expressed by the rollover function f
:
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
f[a_] = Mod[a, 2s+1, -s];
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==-10 ->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==+10 && f[n1-n]==+10 ->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==0 && f[n1-n]==-10 ->(m-s-1)/10,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==0 ->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}]//ArrayFlatten;
$endgroup$
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using theMod
function with offset:f[a_]=Mod[a,2s+1,-s]
. Try:s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
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%2f3066600%2fsolving-the-eigenvalue-system%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$
You can set this equation into a SparseArray with
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n-10->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m+10&&n1==n+10->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m&&n1==n-10->(m-s-1)/10,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}] //ArrayFlatten;
This gets you a list of $(2s+1)^2$ equations:
Thread[X.U == [Lambda] U]
(* list of equations *)
The eigensystem is then
Eigensystem[N[X]]
If you want periodic boundary conditions expressed by the rollover function f
:
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
f[a_] = Mod[a, 2s+1, -s];
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==-10 ->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==+10 && f[n1-n]==+10 ->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==0 && f[n1-n]==-10 ->(m-s-1)/10,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==0 ->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}]//ArrayFlatten;
$endgroup$
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using theMod
function with offset:f[a_]=Mod[a,2s+1,-s]
. Try:s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
add a comment |
$begingroup$
You can set this equation into a SparseArray with
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n-10->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m+10&&n1==n+10->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m&&n1==n-10->(m-s-1)/10,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}] //ArrayFlatten;
This gets you a list of $(2s+1)^2$ equations:
Thread[X.U == [Lambda] U]
(* list of equations *)
The eigensystem is then
Eigensystem[N[X]]
If you want periodic boundary conditions expressed by the rollover function f
:
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
f[a_] = Mod[a, 2s+1, -s];
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==-10 ->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==+10 && f[n1-n]==+10 ->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==0 && f[n1-n]==-10 ->(m-s-1)/10,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==0 ->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}]//ArrayFlatten;
$endgroup$
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using theMod
function with offset:f[a_]=Mod[a,2s+1,-s]
. Try:s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
add a comment |
$begingroup$
You can set this equation into a SparseArray with
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n-10->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m+10&&n1==n+10->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m&&n1==n-10->(m-s-1)/10,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}] //ArrayFlatten;
This gets you a list of $(2s+1)^2$ equations:
Thread[X.U == [Lambda] U]
(* list of equations *)
The eigensystem is then
Eigensystem[N[X]]
If you want periodic boundary conditions expressed by the rollover function f
:
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
f[a_] = Mod[a, 2s+1, -s];
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==-10 ->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==+10 && f[n1-n]==+10 ->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==0 && f[n1-n]==-10 ->(m-s-1)/10,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==0 ->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}]//ArrayFlatten;
$endgroup$
You can set this equation into a SparseArray with
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n-10->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m+10&&n1==n+10->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/;m1==m&&n1==n-10->(m-s-1)/10,
{m_,m1_,n_,n1_}/;m1==m-10&&n1==n->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}] //ArrayFlatten;
This gets you a list of $(2s+1)^2$ equations:
Thread[X.U == [Lambda] U]
(* list of equations *)
The eigensystem is then
Eigensystem[N[X]]
If you want periodic boundary conditions expressed by the rollover function f
:
s = 50;
U = Table[Subscript[u, m, n], {m, -s, s}, {n, -s, s}] // Flatten;
f[a_] = Mod[a, 2s+1, -s];
X = SparseArray[{{m_,m_,n_,n_}->((m-s-1)^2+(n-s-1)^2)/100,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==-10 ->((m-s-1)+(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==+10 && f[n1-n]==+10 ->((m-s-1)-(n-s-1))/10,
{m_,m1_,n_,n1_}/; f[m1-m]==0 && f[n1-n]==-10 ->(m-s-1)/10,
{m_,m1_,n_,n1_}/; f[m1-m]==-10 && f[n1-n]==0 ->(n-s-1)/10},
{2s+1,2s+1,2s+1,2s+1}]//ArrayFlatten;
answered Jan 2 at 9:43
RomanRoman
1686
1686
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using theMod
function with offset:f[a_]=Mod[a,2s+1,-s]
. Try:s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
add a comment |
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using theMod
function with offset:f[a_]=Mod[a,2s+1,-s]
. Try:s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
Thanks a lot. Also, if I want to consider the periodic boundary condition, how do I improve the code? i.e., if $m-10<-(2s+1)$, we need $m-10rightarrow m-10+(2s+1)$ .
$endgroup$
– yun shi
Jan 3 at 8:23
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
So you want $m=-51$ to be equal to $m=+50$? Or do you rather want $m=-50$ to be equal to $m=+50$? It makes a big difference how precisely you're doing the periodic connection.
$endgroup$
– Roman
Jan 3 at 18:36
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
eg., for $s=50$, the range $m$ is $[-101,101]$, but for $m=-101$, $m-10=-111$, which has exceeded the range, so I need to consider the periodic boundary condition that make $m-10=-111$ be $-111+202=91$. How should I do?
$endgroup$
– yun shi
Jan 4 at 4:59
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using the
Mod
function with offset: f[a_]=Mod[a,2s+1,-s]
. Try: s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
$begingroup$
@yunshi: for $s=50$, the range is $min[-50,50]$. For $m=-50$ you then find $m-10=-60mapsto-60+101=41$ using the
Mod
function with offset: f[a_]=Mod[a,2s+1,-s]
. Try: s=50;f[a_]=Mod[a,2s+1,-s];Table[f[a],{a,-60,60}]
$endgroup$
– Roman
Jan 4 at 7:28
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%2f3066600%2fsolving-the-eigenvalue-system%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$
This does not seem to be a Mathematica-specific question. How would one solve this outside of Mathematica ?
$endgroup$
– Lotus
Jan 2 at 9:37
$begingroup$
This problem is block-diagonal modulo 10: all indices $m$ that end in "1" are coupled only among each other, and all that end in "2" are coupled only among each other, etc., and the same for $n$. You can therefore set up 100 sub-problems with indices ${m,n}$ all ending the same way. This may simplify the calculation.
$endgroup$
– Roman
Jan 2 at 9:37