Noise in Eigenvalues plot
$begingroup$
I am trying to Plot Eigenvalues of a Hamiltonian, but I am getting noisy plot, which is incorrect. Here is the code.
A1 = {{0, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, -1, 0}};
A2 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, -I}, {0, 0, I, 0}};
A3 = {{0, 0, 0, -1}, {0, 0, 1, 0}, {0, 1, 0, 0}, {-1, 0, 0, 0}};
A4 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, I}, {0, 0, -I, 0}};
A5 = {{1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, -1}};
A6 = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, -I, 0, 0}, {I, 0, 0, 0}};
A7 = {{0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, 1, 0, 0}};
A8 = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}};
H[d_, λ_, β_, m_] :=
a (Sin[x] A1 + Sin[ky] A2) + A3 β +
d A4 + (t Cos[z] + 2 b (2 - Cos[x] - Cos[ky])) A5 + α*
Sin[ky] A6 + λ Sin[z] A7+m*A8;
ky = 0;
a = 1;
b = 1;
t = 1.5;
α = 0.3;
Plot3D[Eigenvalues[H[0.1, 0.5, 0.7, 0]][[4]], {x, -π, π}, {z, 0, 2 π}]

Any help will be highly appreciated.
plotting eigenvalues
$endgroup$
add a comment |
$begingroup$
I am trying to Plot Eigenvalues of a Hamiltonian, but I am getting noisy plot, which is incorrect. Here is the code.
A1 = {{0, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, -1, 0}};
A2 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, -I}, {0, 0, I, 0}};
A3 = {{0, 0, 0, -1}, {0, 0, 1, 0}, {0, 1, 0, 0}, {-1, 0, 0, 0}};
A4 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, I}, {0, 0, -I, 0}};
A5 = {{1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, -1}};
A6 = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, -I, 0, 0}, {I, 0, 0, 0}};
A7 = {{0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, 1, 0, 0}};
A8 = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}};
H[d_, λ_, β_, m_] :=
a (Sin[x] A1 + Sin[ky] A2) + A3 β +
d A4 + (t Cos[z] + 2 b (2 - Cos[x] - Cos[ky])) A5 + α*
Sin[ky] A6 + λ Sin[z] A7+m*A8;
ky = 0;
a = 1;
b = 1;
t = 1.5;
α = 0.3;
Plot3D[Eigenvalues[H[0.1, 0.5, 0.7, 0]][[4]], {x, -π, π}, {z, 0, 2 π}]

Any help will be highly appreciated.
plotting eigenvalues
$endgroup$
add a comment |
$begingroup$
I am trying to Plot Eigenvalues of a Hamiltonian, but I am getting noisy plot, which is incorrect. Here is the code.
A1 = {{0, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, -1, 0}};
A2 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, -I}, {0, 0, I, 0}};
A3 = {{0, 0, 0, -1}, {0, 0, 1, 0}, {0, 1, 0, 0}, {-1, 0, 0, 0}};
A4 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, I}, {0, 0, -I, 0}};
A5 = {{1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, -1}};
A6 = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, -I, 0, 0}, {I, 0, 0, 0}};
A7 = {{0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, 1, 0, 0}};
A8 = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}};
H[d_, λ_, β_, m_] :=
a (Sin[x] A1 + Sin[ky] A2) + A3 β +
d A4 + (t Cos[z] + 2 b (2 - Cos[x] - Cos[ky])) A5 + α*
Sin[ky] A6 + λ Sin[z] A7+m*A8;
ky = 0;
a = 1;
b = 1;
t = 1.5;
α = 0.3;
Plot3D[Eigenvalues[H[0.1, 0.5, 0.7, 0]][[4]], {x, -π, π}, {z, 0, 2 π}]

Any help will be highly appreciated.
plotting eigenvalues
$endgroup$
I am trying to Plot Eigenvalues of a Hamiltonian, but I am getting noisy plot, which is incorrect. Here is the code.
A1 = {{0, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, -1, 0}};
A2 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, -I}, {0, 0, I, 0}};
A3 = {{0, 0, 0, -1}, {0, 0, 1, 0}, {0, 1, 0, 0}, {-1, 0, 0, 0}};
A4 = {{0, -I, 0, 0}, {I, 0, 0, 0}, {0, 0, 0, I}, {0, 0, -I, 0}};
A5 = {{1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, -1}};
A6 = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, -I, 0, 0}, {I, 0, 0, 0}};
A7 = {{0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, 1, 0, 0}};
A8 = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}};
H[d_, λ_, β_, m_] :=
a (Sin[x] A1 + Sin[ky] A2) + A3 β +
d A4 + (t Cos[z] + 2 b (2 - Cos[x] - Cos[ky])) A5 + α*
Sin[ky] A6 + λ Sin[z] A7+m*A8;
ky = 0;
a = 1;
b = 1;
t = 1.5;
α = 0.3;
Plot3D[Eigenvalues[H[0.1, 0.5, 0.7, 0]][[4]], {x, -π, π}, {z, 0, 2 π}]

Any help will be highly appreciated.
plotting eigenvalues
plotting eigenvalues
edited Apr 21 at 21:11
Michael E2
151k12203483
151k12203483
asked Apr 21 at 20:58
Hazoor ImranHazoor Imran
363
363
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
By default, the eigenvalues are ordered by absolute value. All the eigenvalues of this particular matrix have the same absolute value plus some rounding errors. Thus, it can easily happen, that the fourth eigenvalue is positive or negative, depending on the parameters.
You can use Max to plot the largest eigenvalue:
Plot3D[Max@Eigenvalues[H[0.1, 0.5, 0.7, 0.]], {x, -Pi, Pi}, {z, 0, 2 Pi}]

Alternatively, you may use the "Criteria" suboption of the Method "Arnoldi":
Plot3D[
Eigenvalues[
H[0.1, 0.5, 0.7, 0], -1,
Method -> {"Arnoldi", "Criteria" -> "RealPart"}
],
{x, - Pi, Pi}, {z, 0, 2 Pi}]
$endgroup$
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
add a comment |
$begingroup$
Not sure why you pick the 4th element, but maybe this will help:
ev4 = Eigenvalues[H[p, q, r, s]][[4]] /.
Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}];
Plot3D[ev4, {x, -π, π}, {z, 0, 2 π}]

$endgroup$
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
@HazoorImran Yes, but set the value-0.5on the right hand side to something bigger. For exampleContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].
$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
add a comment |
Your Answer
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%2f195721%2fnoise-in-eigenvalues-plot%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$
By default, the eigenvalues are ordered by absolute value. All the eigenvalues of this particular matrix have the same absolute value plus some rounding errors. Thus, it can easily happen, that the fourth eigenvalue is positive or negative, depending on the parameters.
You can use Max to plot the largest eigenvalue:
Plot3D[Max@Eigenvalues[H[0.1, 0.5, 0.7, 0.]], {x, -Pi, Pi}, {z, 0, 2 Pi}]

Alternatively, you may use the "Criteria" suboption of the Method "Arnoldi":
Plot3D[
Eigenvalues[
H[0.1, 0.5, 0.7, 0], -1,
Method -> {"Arnoldi", "Criteria" -> "RealPart"}
],
{x, - Pi, Pi}, {z, 0, 2 Pi}]
$endgroup$
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
add a comment |
$begingroup$
By default, the eigenvalues are ordered by absolute value. All the eigenvalues of this particular matrix have the same absolute value plus some rounding errors. Thus, it can easily happen, that the fourth eigenvalue is positive or negative, depending on the parameters.
You can use Max to plot the largest eigenvalue:
Plot3D[Max@Eigenvalues[H[0.1, 0.5, 0.7, 0.]], {x, -Pi, Pi}, {z, 0, 2 Pi}]

Alternatively, you may use the "Criteria" suboption of the Method "Arnoldi":
Plot3D[
Eigenvalues[
H[0.1, 0.5, 0.7, 0], -1,
Method -> {"Arnoldi", "Criteria" -> "RealPart"}
],
{x, - Pi, Pi}, {z, 0, 2 Pi}]
$endgroup$
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
add a comment |
$begingroup$
By default, the eigenvalues are ordered by absolute value. All the eigenvalues of this particular matrix have the same absolute value plus some rounding errors. Thus, it can easily happen, that the fourth eigenvalue is positive or negative, depending on the parameters.
You can use Max to plot the largest eigenvalue:
Plot3D[Max@Eigenvalues[H[0.1, 0.5, 0.7, 0.]], {x, -Pi, Pi}, {z, 0, 2 Pi}]

Alternatively, you may use the "Criteria" suboption of the Method "Arnoldi":
Plot3D[
Eigenvalues[
H[0.1, 0.5, 0.7, 0], -1,
Method -> {"Arnoldi", "Criteria" -> "RealPart"}
],
{x, - Pi, Pi}, {z, 0, 2 Pi}]
$endgroup$
By default, the eigenvalues are ordered by absolute value. All the eigenvalues of this particular matrix have the same absolute value plus some rounding errors. Thus, it can easily happen, that the fourth eigenvalue is positive or negative, depending on the parameters.
You can use Max to plot the largest eigenvalue:
Plot3D[Max@Eigenvalues[H[0.1, 0.5, 0.7, 0.]], {x, -Pi, Pi}, {z, 0, 2 Pi}]

Alternatively, you may use the "Criteria" suboption of the Method "Arnoldi":
Plot3D[
Eigenvalues[
H[0.1, 0.5, 0.7, 0], -1,
Method -> {"Arnoldi", "Criteria" -> "RealPart"}
],
{x, - Pi, Pi}, {z, 0, 2 Pi}]
answered Apr 21 at 21:16
Henrik SchumacherHenrik Schumacher
61.2k585171
61.2k585171
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
add a comment |
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
Thanks @ Henrik Schumacher
$endgroup$
– Hazoor Imran
Apr 21 at 22:17
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
$begingroup$
You're welcome.
$endgroup$
– Henrik Schumacher
Apr 21 at 22:40
add a comment |
$begingroup$
Not sure why you pick the 4th element, but maybe this will help:
ev4 = Eigenvalues[H[p, q, r, s]][[4]] /.
Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}];
Plot3D[ev4, {x, -π, π}, {z, 0, 2 π}]

$endgroup$
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
@HazoorImran Yes, but set the value-0.5on the right hand side to something bigger. For exampleContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].
$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
add a comment |
$begingroup$
Not sure why you pick the 4th element, but maybe this will help:
ev4 = Eigenvalues[H[p, q, r, s]][[4]] /.
Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}];
Plot3D[ev4, {x, -π, π}, {z, 0, 2 π}]

$endgroup$
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
@HazoorImran Yes, but set the value-0.5on the right hand side to something bigger. For exampleContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].
$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
add a comment |
$begingroup$
Not sure why you pick the 4th element, but maybe this will help:
ev4 = Eigenvalues[H[p, q, r, s]][[4]] /.
Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}];
Plot3D[ev4, {x, -π, π}, {z, 0, 2 π}]

$endgroup$
Not sure why you pick the 4th element, but maybe this will help:
ev4 = Eigenvalues[H[p, q, r, s]][[4]] /.
Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}];
Plot3D[ev4, {x, -π, π}, {z, 0, 2 π}]

answered Apr 21 at 21:17
Michael E2Michael E2
151k12203483
151k12203483
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
@HazoorImran Yes, but set the value-0.5on the right hand side to something bigger. For exampleContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].
$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
add a comment |
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
@HazoorImran Yes, but set the value-0.5on the right hand side to something bigger. For exampleContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].
$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
Thanks @ Michael E2, Is it possible to do this with an equation by the contourplot. Like ev4 = Eigenvalues[H[p, q, r, s]][[4]] /. Thread[{p, q, r, s} -> {0.1, 0.5, 0.7, 0}]; ContourPlot[ev4==-0.5, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}]. In my case this is not working.
$endgroup$
– Hazoor Imran
Apr 21 at 22:01
$begingroup$
@HazoorImran Yes, but set the value
-0.5 on the right hand side to something bigger. For example ContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
@HazoorImran Yes, but set the value
-0.5 on the right hand side to something bigger. For example ContourPlot[ev4 == 2, {x, -[Pi], [Pi]}, {z, 0, 2 [Pi]}].$endgroup$
– Michael E2
Apr 21 at 22:09
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
$begingroup$
Thanks @ Michael E2, Yes this work.
$endgroup$
– Hazoor Imran
Apr 21 at 22:16
add a comment |
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.
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%2f195721%2fnoise-in-eigenvalues-plot%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