Advertisement
Guest User

Untitled

a guest
Aug 9th, 2019
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.90 KB | None | 0 0
  1. cond[wr_] := Module[
  2. {
  3. n = 7,
  4. s = 20,
  5. \[Eta] = 10^-3,
  6. \[Epsilon] = 0,
  7. t = 2.75
  8. },
  9.  
  10.  
  11. If[
  12. OddQ[n],
  13.  
  14. L = (n - 1)/2;
  15.  
  16.  
  17. U = DiagonalMatrix[
  18. Flatten[{0, t, 0,
  19. Table[{0, 0, 0, t, 0, 0, 0, t}, {i, 1, L}]}], -3];
  20.  
  21. HH = DiagonalMatrix[
  22. Flatten[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
  23. \[Epsilon], \[Epsilon],
  24. Table[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
  25. \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon]}, {i, 1, L}]}], 0] +
  26. DiagonalMatrix[
  27. Flatten[{t, t, t, t, t,
  28. Table[{0, t, t, t, 0, t, t, t}, {i, 1, L}]}], 1] +
  29. DiagonalMatrix[
  30. Flatten[{0, 0, 0, Table[{0, 0, 0, 0, t, 0, 0, 0}, {i, 1, L}]}],
  31. 3] +
  32. DiagonalMatrix[
  33. Flatten[{0, 0, Table[{t, 0, 0, 0, 0, 0, 0, 0}, {i, 1, L}]}],
  34. 4] + DiagonalMatrix[
  35. Flatten[{t, Table[{0, 0, 0, 0, 0, 0, 0, t}, {i, 1, L}]}], 5] +
  36. If[n == 1, 0,
  37. DiagonalMatrix[
  38. Flatten[Table[{0, 0, 0, t, 0, 0, 0, 0}, {i, 1, L}]], 6]
  39. ];
  40.  
  41. Energy = (wr + I*\[Eta])*
  42. DiagonalMatrix[
  43. Flatten[{1, 1, 1, 1, 1, 1,
  44. Table[{1, 1, 1, 1, 1, 1, 1, 1}, {i, 1, L}]}], 0];
  45.  
  46. ,
  47. L = n/2;
  48.  
  49.  
  50. U = DiagonalMatrix[
  51. Flatten[{0, t, 0, 0, 0, 0, t,
  52. Table[{0, 0, 0, t, 0, 0, 0, t}, {i, 1, L - 1}]}], -3];
  53.  
  54. HH = DiagonalMatrix[
  55. Flatten[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
  56. \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
  57. \[Epsilon],
  58. Table[{\[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon], \
  59. \[Epsilon], \[Epsilon], \[Epsilon], \[Epsilon]}, {i, 1, L - 1}]}],
  60. 0] + DiagonalMatrix[
  61. Flatten[{t, t, t, t, t, 0, t, t, t,
  62. Table[{0, t, t, t, 0, t, t, t}, {i, 1, L - 1}]}], 1] +
  63.  
  64. DiagonalMatrix[
  65. Flatten[{0, 0, t, 0, 0, 0,
  66. Table[{0, 0, 0, 0, 0, 0, 0, 0}, {i, 1, L - 1}]}], 4] +
  67.  
  68. DiagonalMatrix[
  69. Flatten[{0, 0, 0, 0, 0, 0, 0,
  70. Table[{t, 0, 0, 0, t, 0, 0, 0}, {i, 1, L - 1}]}], 3] +
  71.  
  72. DiagonalMatrix[
  73. Flatten[{t, 0, 0, 0, 0,
  74. Table[{0, 0, 0, t, 0, 0, 0, t}, {i, 1, L - 1}]}], 5] +
  75. DiagonalMatrix[
  76. Flatten[{0, 0, 0, t,
  77. Table[{0, 0, 0, 0, 0, 0, 0, 0}, {i, 1, L - 1}]}], 6];
  78.  
  79. Energy = (wr + I*\[Eta])*
  80. DiagonalMatrix[
  81. Flatten[{1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  82. Table[{1, 1, 1, 1, 1, 1, 1, 1}, {i, 1, L - 1}]}], 0];
  83.  
  84. ];
  85.  
  86. H = ConjugateTranspose[HH] + HH;
  87. Subscript[a, 1] =
  88. ConjugateTranspose[U].Inverse[Energy - H].ConjugateTranspose[
  89. U];(*\[Gamma]*)
  90. \[Alpha] = ConjugateTranspose[U].Inverse[Energy - H].U;
  91. \[Beta] = U.Inverse[Energy - H].ConjugateTranspose[U];
  92. Subscript[b, 1] = U.Inverse[Energy - H].U;(*\[Lambda]*)
  93. Subscript[c, 1] = Subscript[d, 1] = 0;
  94.  
  95. Subscript[AA, 1] =
  96. ConjugateTranspose[ConjugateTranspose[U]].Inverse[
  97. Energy - H].ConjugateTranspose[
  98. ConjugateTranspose[U]];(*\[Gamma]*)
  99. \[CapitalAlpha] =
  100. ConjugateTranspose[ConjugateTranspose[U]].Inverse[
  101. Energy - H].ConjugateTranspose[U];
  102. \[CapitalBeta] =
  103. ConjugateTranspose[U].Inverse[Energy - H].ConjugateTranspose[
  104. ConjugateTranspose[U]];
  105. Subscript[BB, 1] =
  106. ConjugateTranspose[U].Inverse[Energy - H].ConjugateTranspose[
  107. U];(*\[Lambda]*)
  108. Subscript[CC, 1] = Subscript[DD, 1] = 0;
  109.  
  110.  
  111. Table[
  112. Subscript[c, i] =
  113. Subscript[c, i - 1] +
  114. Subscript[a,
  115. i - 1].Inverse[
  116. Energy - H - \[Alpha] - \[Beta] - Subscript[c,
  117. i - 1]].Subscript[b, i - 1] +
  118. Subscript[b,
  119. i - 1].Inverse[
  120. Energy - H - \[Alpha] - \[Beta] - Subscript[c,
  121. i - 1]].Subscript[a, i - 1];
  122.  
  123. Subscript[a, i] =
  124. Subscript[a,
  125. i - 1].Inverse[
  126. Energy - H - \[Alpha] - \[Beta] - Subscript[c,
  127. i - 1]].Subscript[a, i - 1];
  128.  
  129. Subscript[b, i] =
  130. Subscript[b,
  131. i - 1].Inverse[
  132. Energy - H - \[Alpha] - \[Beta] - Subscript[c,
  133. i - 1]].Subscript[b, i - 1];
  134. Subscript[d, i] =
  135. Subscript[d, i - 1] +
  136. Subscript[b,
  137. i - 1].Inverse[
  138. Energy - H - \[Alpha] - \[Beta] - Subscript[c,
  139. i - 1]].Subscript[a, i - 1];
  140. G0 = Inverse[Energy - H - \[Beta] - Subscript[d, i]];
  141.  
  142. Subscript[CC, i] =
  143. Subscript[CC, i - 1] +
  144. Subscript[AA,
  145. i - 1].Inverse[
  146. Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
  147. i - 1]].Subscript[BB, i - 1] +
  148. Subscript[BB,
  149. i - 1].Inverse[
  150. Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
  151. i - 1]].Subscript[AA, i - 1];
  152.  
  153. Subscript[BB, i] =
  154. Subscript[BB,
  155. i - 1].Inverse[
  156. Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
  157. i - 1]].Subscript[BB, i - 1];
  158.  
  159. Subscript[AA, i] =
  160. Subscript[AA,
  161. i - 1].Inverse[
  162. Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
  163. i - 1]].Subscript[AA, i - 1];
  164.  
  165. Subscript[DD, i] =
  166. Subscript[DD, i - 1] +
  167. Subscript[BB,
  168. i - 1].Inverse[
  169. Energy - H - \[CapitalAlpha] - \[CapitalBeta] - Subscript[CC,
  170. i - 1]].Subscript[AA, i - 1];
  171.  
  172. G2 = Inverse[Energy - H - \[CapitalBeta] - Subscript[DD, i]];
  173.  
  174.  
  175. , {i, 2, s}];
  176.  
  177.  
  178. (*---------------------------------------------------------------------*)
  179. \
  180.  
  181.  
  182. SIGMAL = U.G0.ConjugateTranspose[U];
  183. SIGMAR =
  184. ConjugateTranspose[U].G2.ConjugateTranspose[ConjugateTranspose[U]];
  185. (*G11=Inverse[E1-H1-V10.G0.V01-V12.G0.V21];
  186. Usando parte central 3X3*)
  187.  
  188. G11 = Inverse[Energy - H - SIGMAL - SIGMAR];
  189.  
  190. \[CapitalGamma]L = I*(SIGMAL - ConjugateTranspose[SIGMAL]);
  191. \[CapitalGamma]R = I*(SIGMAR - ConjugateTranspose[SIGMAR]);
  192.  
  193.  
  194. Tra = Tr[\[CapitalGamma]L.G11.\[CapitalGamma]R.ConjugateTranspose[
  195. G11]];
  196. (*-----------------------------Returning---------------------------------\
  197. ---*)
  198.  
  199.  
  200. Re[Tra] ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement