Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cond[wr_] := Module[
- {
- n = 7,
- s = 20,
- \[Eta] = 10^-3,
- \[Epsilon] = 0,
- t = 2.75
- },
- If[
- OddQ[n],
- L = (n - 1)/2;
- U = DiagonalMatrix[
- Flatten[{0, t, 0,
- Table[{0, 0, 0, t, 0, 0, 0, t}, {i, 1, L}]}], -3];
- HH = DiagonalMatrix[
- Flatten[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
- \[Epsilon], \[Epsilon],
- Table[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
- \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon]}, {i, 1, L}]}], 0] +
- DiagonalMatrix[
- Flatten[{t, t, t, t, t,
- Table[{0, t, t, t, 0, t, t, t}, {i, 1, L}]}], 1] +
- DiagonalMatrix[
- Flatten[{0, 0, 0, Table[{0, 0, 0, 0, t, 0, 0, 0}, {i, 1, L}]}],
- 3] +
- DiagonalMatrix[
- Flatten[{0, 0, Table[{t, 0, 0, 0, 0, 0, 0, 0}, {i, 1, L}]}],
- 4] + DiagonalMatrix[
- Flatten[{t, Table[{0, 0, 0, 0, 0, 0, 0, t}, {i, 1, L}]}], 5] +
- If[n == 1, 0,
- DiagonalMatrix[
- Flatten[Table[{0, 0, 0, t, 0, 0, 0, 0}, {i, 1, L}]], 6]
- ];
- Energy = (wr + I*\[Eta])*
- DiagonalMatrix[
- Flatten[{1, 1, 1, 1, 1, 1,
- Table[{1, 1, 1, 1, 1, 1, 1, 1}, {i, 1, L}]}], 0];
- ,
- L = n/2;
- U = DiagonalMatrix[
- Flatten[{0, t, 0, 0, 0, 0, t,
- Table[{0, 0, 0, t, 0, 0, 0, t}, {i, 1, L - 1}]}], -3];
- HH = DiagonalMatrix[
- Flatten[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
- \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
- \[Epsilon],
- Table[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
- \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon]}, {i, 1, L - 1}]}],
- 0] + DiagonalMatrix[
- Flatten[{t, t, t, t, t, 0, t, t, t,
- Table[{0, t, t, t, 0, t, t, t}, {i, 1, L - 1}]}], 1] +
- DiagonalMatrix[
- Flatten[{0, 0, t, 0, 0, 0,
- Table[{0, 0, 0, 0, 0, 0, 0, 0}, {i, 1, L - 1}]}], 4] +
- DiagonalMatrix[
- Flatten[{0, 0, 0, 0, 0, 0, 0,
- Table[{t, 0, 0, 0, t, 0, 0, 0}, {i, 1, L - 1}]}], 3] +
- DiagonalMatrix[
- Flatten[{t, 0, 0, 0, 0,
- Table[{0, 0, 0, t, 0, 0, 0, t}, {i, 1, L - 1}]}], 5] +
- DiagonalMatrix[
- Flatten[{0, 0, 0, t,
- Table[{0, 0, 0, 0, 0, 0, 0, 0}, {i, 1, L - 1}]}], 6];
- Energy = (wr + I*\[Eta])*
- DiagonalMatrix[
- Flatten[{1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- Table[{1, 1, 1, 1, 1, 1, 1, 1}, {i, 1, L - 1}]}], 0];
- ];
- H = ConjugateTranspose[HH] + HH;
- Subscript[a, 1] =
- ConjugateTranspose[U].Inverse[Energy - H].ConjugateTranspose[
- U];(*\[Gamma]*)
- \[Alpha] = ConjugateTranspose[U].Inverse[Energy - H].U;
- \[Beta] = U.Inverse[Energy - H].ConjugateTranspose[U];
- Subscript[b, 1] = U.Inverse[Energy - H].U;(*\[Lambda]*)
- Subscript[c, 1] = Subscript[d, 1] = 0;
- Subscript[AA, 1] =
- ConjugateTranspose[ConjugateTranspose[U]].Inverse[
- Energy - H].ConjugateTranspose[
- ConjugateTranspose[U]];(*\[Gamma]*)
- \[CapitalAlpha] =
- ConjugateTranspose[ConjugateTranspose[U]].Inverse[
- Energy - H].ConjugateTranspose[U];
- \[CapitalBeta] =
- ConjugateTranspose[U].Inverse[Energy - H].ConjugateTranspose[
- ConjugateTranspose[U]];
- Subscript[BB, 1] =
- ConjugateTranspose[U].Inverse[Energy - H].ConjugateTranspose[
- U];(*\[Lambda]*)
- Subscript[CC, 1] = Subscript[DD, 1] = 0;
- Table[
- Subscript[c, i] =
- Subscript[c, i - 1] +
- Subscript[a,
- i - 1].Inverse[
- Energy - H - \[Alpha] - \[Beta] - Subscript[c,
- i - 1]].Subscript[b, i - 1] +
- Subscript[b,
- i - 1].Inverse[
- Energy - H - \[Alpha] - \[Beta] - Subscript[c,
- i - 1]].Subscript[a, i - 1];
- Subscript[a, i] =
- Subscript[a,
- i - 1].Inverse[
- Energy - H - \[Alpha] - \[Beta] - Subscript[c,
- i - 1]].Subscript[a, i - 1];
- Subscript[b, i] =
- Subscript[b,
- i - 1].Inverse[
- Energy - H - \[Alpha] - \[Beta] - Subscript[c,
- i - 1]].Subscript[b, i - 1];
- Subscript[d, i] =
- Subscript[d, i - 1] +
- Subscript[b,
- i - 1].Inverse[
- Energy - H - \[Alpha] - \[Beta] - Subscript[c,
- i - 1]].Subscript[a, i - 1];
- G0 = Inverse[Energy - H - \[Beta] - Subscript[d, i]];
- Subscript[CC, i] =
- Subscript[CC, i - 1] +
- Subscript[AA,
- i - 1].Inverse[
- Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
- i - 1]].Subscript[BB, i - 1] +
- Subscript[BB,
- i - 1].Inverse[
- Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
- i - 1]].Subscript[AA, i - 1];
- Subscript[BB, i] =
- Subscript[BB,
- i - 1].Inverse[
- Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
- i - 1]].Subscript[BB, i - 1];
- Subscript[AA, i] =
- Subscript[AA,
- i - 1].Inverse[
- Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
- i - 1]].Subscript[AA, i - 1];
- Subscript[DD, i] =
- Subscript[DD, i - 1] +
- Subscript[BB,
- i - 1].Inverse[
- Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
- i - 1]].Subscript[AA, i - 1];
- G2 = Inverse[Energy - H - \[CapitalBeta] - Subscript[DD, i]];
- , {i, 2, s}];
- (*---------------------------------------------------------------------*)
- \
- SIGMAL = U.G0.ConjugateTranspose[U];
- SIGMAR =
- ConjugateTranspose[U].G2.ConjugateTranspose[ConjugateTranspose[U]];
- (*G11=Inverse[E1-H1-V10.G0.V01-V12.G0.V21];
- Usando parte central 3X3*)
- G11 = Inverse[Energy - H - SIGMAL - SIGMAR];
- \[CapitalGamma]L = I*(SIGMAL - ConjugateTranspose[SIGMAL]);
- \[CapitalGamma]R = I*(SIGMAR - ConjugateTranspose[SIGMAR]);
- Tra = Tr[\[CapitalGamma]L.G11.\[CapitalGamma]R.ConjugateTranspose[
- G11]];
- (*-----------------------------Returning---------------------------------\
- ---*)
- Re[Tra] ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement