1
00:00:00,050 --> 00:00:03,930
With a previous lecture, we have created this figure here of our nano ribbon of graphene.

2
00:00:04,470 --> 00:00:09,480
And this was, of course, an exercise for plotting and handling lists and arrays.

3
00:00:09,900 --> 00:00:17,790
But also it was supposed to teach you something about our Hamiltonian already because previously, for

4
00:00:17,790 --> 00:00:24,600
our infinitely large graphene where the units had only two atoms, we realized that our Hamilton matrix

5
00:00:24,600 --> 00:00:26,760
has a size of two by two.

6
00:00:28,110 --> 00:00:32,290
So now, since our unit cell is much larger, so where is it?

7
00:00:32,310 --> 00:00:32,940
Here is the unit.

8
00:00:32,940 --> 00:00:41,190
So we have to know, sir, we have eight times four, which is 32 atoms, so the size of our matrix

9
00:00:41,190 --> 00:00:43,560
will be 32 times 32.

10
00:00:45,250 --> 00:00:50,020
So how do we set up these elements of the Hamilton matrix?

11
00:00:50,980 --> 00:00:53,700
Well, we know that we have to describe all the hopping.

12
00:00:53,890 --> 00:01:00,640
So we have to describe the paths from one atom to another, for example, here from the atom, which

13
00:01:00,640 --> 00:01:03,670
hops to the blue one and then to the green one as well.

14
00:01:04,480 --> 00:01:11,020
So now, since these atoms here are not anymore the same basis atoms, there will be new elements in

15
00:01:11,020 --> 00:01:12,370
the hopping matrix, of course.

16
00:01:13,390 --> 00:01:20,200
So when you look at it carefully, we can now label our atoms going from top from bottom to top.

17
00:01:20,200 --> 00:01:23,410
So one two three four five, six, seven, eight and so on and so on.

18
00:01:23,980 --> 00:01:29,470
And so then this element here, for example, would describe the hopping from this purple atom to this

19
00:01:29,470 --> 00:01:30,130
blue atom.

20
00:01:31,360 --> 00:01:38,590
And then this element here two three two three element would describe the hopping from blue to red.

21
00:01:38,650 --> 00:01:40,090
This is why I wrote him the arm.

22
00:01:40,660 --> 00:01:42,670
Then the next one would be red to green.

23
00:01:43,150 --> 00:01:46,390
And of course, we also have to hop things along the opposite directions.

24
00:01:46,990 --> 00:01:51,850
And also, we have to consider the hopping not only to the left, but also to the right to the neighboring

25
00:01:51,850 --> 00:01:52,180
cell.

26
00:01:53,650 --> 00:02:00,910
So you see, we have the sequence here of different toppings purple, blue, blue, red, red, green,

27
00:02:01,360 --> 00:02:02,170
green, purple.

28
00:02:03,480 --> 00:02:10,169
And if you look at it more carefully, you will see, for example, that purple hopping to blue has

29
00:02:10,169 --> 00:02:14,130
two hopping terms one in this direction, the other one along this direction.

30
00:02:14,790 --> 00:02:20,510
Then the next one blue rat will just have a hopping along the y direction and then red.

31
00:02:20,510 --> 00:02:23,280
The green would again have two helpings along this direction.

32
00:02:23,970 --> 00:02:27,570
So these hopping paths are the same as these paths.

33
00:02:28,500 --> 00:02:31,770
So this means we actually only have two different hopping elements.

34
00:02:32,310 --> 00:02:34,170
That's always yeah.

35
00:02:34,530 --> 00:02:37,330
So first, we have these two and then we have this one.

36
00:02:37,350 --> 00:02:39,660
So they are always changing.

37
00:02:40,170 --> 00:02:47,760
So our matrix will just basically consider or consist out of zeros and only in the off diagonal.

38
00:02:47,760 --> 00:02:51,060
We will have elements and there will just be two different elements.

39
00:02:51,420 --> 00:02:57,660
So the first one will be this one describing the two hopping paths, for example, from purple to blue,

40
00:02:57,960 --> 00:03:00,540
but also from red to green.

41
00:03:01,410 --> 00:03:07,950
And then the other element will be B are so blue to red, but also green to purple.

42
00:03:08,610 --> 00:03:15,840
And this will have this shape here of exponential function, eye times and then the dot product of the

43
00:03:15,840 --> 00:03:17,400
K vector and the path.

44
00:03:17,760 --> 00:03:23,850
And so since the path is along Y with a length of A0, this will just be eight times A0.

45
00:03:23,850 --> 00:03:24,450
Quite.

46
00:03:27,240 --> 00:03:33,330
So then for the other of diagonal, the hopping path would just be exactly along the opposite direction.

47
00:03:33,660 --> 00:03:38,970
So this means these elements are basically the same, but just with a different sign and the exponent.

48
00:03:40,290 --> 00:03:40,680
OK.

49
00:03:41,280 --> 00:03:49,140
So the first thing that I'm interested in or that I had to think about was how can we cleverly design

50
00:03:49,140 --> 00:03:50,070
such a matrix?

51
00:03:50,580 --> 00:03:57,180
I mean, of course, we could say we make a loop or make it two loops and then we say, OK, if we are,

52
00:03:57,180 --> 00:03:58,010
add this element.

53
00:03:58,010 --> 00:04:01,230
Then we had this term here to the matrix.

54
00:04:01,680 --> 00:04:04,590
But it's actually possible to do this in a very clever way.

55
00:04:04,950 --> 00:04:08,340
And we can do this by using the diagonal matrix function.

56
00:04:09,300 --> 00:04:16,470
So the the command is and diak for diagonal, and then we can write, for example, one two three.

57
00:04:17,490 --> 00:04:20,190
And this will give us a diagonal matrix one two three.

58
00:04:21,510 --> 00:04:27,870
So instead, what we want, we want to have these numbers on the off diagonal, and this can be achieved

59
00:04:27,870 --> 00:04:31,190
with an option called or just written down.

60
00:04:31,200 --> 00:04:33,000
K is equal to one.

61
00:04:34,110 --> 00:04:39,710
So this means these numbers will not be shifted and it's not on the off diagonal.

62
00:04:39,720 --> 00:04:40,960
And you see our matrix.

63
00:04:40,960 --> 00:04:42,450
There's now a four by four matrix.

64
00:04:44,330 --> 00:04:48,710
So how can we now construct a matrix with both of diagonals filled?

65
00:04:49,310 --> 00:04:54,830
Well, we can just write like this and then here we write minus one.

66
00:04:55,940 --> 00:05:01,780
And you see, since we are adding these two matrices, we now have such a matrix exactly like here.

67
00:05:02,210 --> 00:05:04,040
Just the terms are wrong at the moment.

68
00:05:04,100 --> 00:05:05,930
So this we have to take care of.

69
00:05:08,000 --> 00:05:13,640
So let us now begin to really construct the Hamiltonian and then loop also over the key points.

70
00:05:14,330 --> 00:05:17,930
So at this point, we know technically how we can construct such a matrix.

71
00:05:18,290 --> 00:05:23,720
But we first need to define the elements here which you have written down analytically.

72
00:05:24,710 --> 00:05:29,420
So my idea is to construct an array which contains all of these values here.

73
00:05:29,780 --> 00:05:37,160
So better to say these values here and also these values and then constructs the matrix using this type

74
00:05:37,160 --> 00:05:39,290
of commands and.

75
00:05:40,530 --> 00:05:45,140
The nice thing is we only have to find two of these helpings.

76
00:05:45,210 --> 00:05:47,910
So, for example, this one and this one.

77
00:05:48,510 --> 00:05:56,400
And then we can use the Python command and pitot tile because tile is a really nice thing.

78
00:05:56,400 --> 00:05:59,280
You can then provide an array.

79
00:06:00,090 --> 00:06:04,530
And, for example, can write one comma two.

80
00:06:05,430 --> 00:06:12,540
And when you then write as the option, some number of 10, for example, then the result will be one,

81
00:06:12,540 --> 00:06:14,610
Komatsu repeated 10 times.

82
00:06:15,240 --> 00:06:16,950
This is exactly what we want to have.

83
00:06:17,970 --> 00:06:24,160
So we're not exactly, of course, but what we want to have is we want to repeat it several times.

84
00:06:24,210 --> 00:06:29,670
So first of all, we should define how many atoms do we want to consider at the moment, I would say

85
00:06:29,670 --> 00:06:34,680
32, because then it corresponds to this narrow ribbon, but we can increase the number later on.

86
00:06:35,760 --> 00:06:43,410
And here we write that we repeat this, of course, atoms divided by two times.

87
00:06:44,070 --> 00:06:47,910
So I write here the integer division just to make sure that this is really an integer.

88
00:06:48,570 --> 00:06:53,430
And now we must provide basically the correct toppings.

89
00:06:54,630 --> 00:07:00,690
So, you know, we can just do this and override toppings down here.

90
00:07:01,650 --> 00:07:04,020
So we just have to look, what did I write down here?

91
00:07:04,030 --> 00:07:14,100
So we wrote and he thought he exp than the imaginary unit, which is one j in Python a zero.

92
00:07:14,880 --> 00:07:20,790
And then this vector, or no, it's not a vector, does the dot product of two vectors, so it will

93
00:07:20,790 --> 00:07:29,400
be empty Times Square root of three over two times K X plus one half K.

94
00:07:30,630 --> 00:07:39,150
And then we have another term, which is pretty similar, actually just has a different X sign for the

95
00:07:39,150 --> 00:07:39,720
X coordinate.

96
00:07:39,720 --> 00:07:45,060
So like this, I think and then the other term will be this one here.

97
00:07:45,060 --> 00:07:54,210
So this will just be we copy this a zero times K-Y.

98
00:07:55,350 --> 00:08:00,660
So we run this, then we get, yeah, such a nice matrix.

99
00:08:00,930 --> 00:08:02,220
I know it's not the matrix yet.

100
00:08:02,220 --> 00:08:04,890
It's a vector which we will then position in the matrix.

101
00:08:06,330 --> 00:08:13,410
So one thing that's important also to realize is that if we want to construct our 32 by 32 matrix,

102
00:08:13,980 --> 00:08:17,280
the off diagonal were only has half a length of 31.

103
00:08:18,240 --> 00:08:23,940
So this means we only have to take the first to the second last element.

104
00:08:25,380 --> 00:08:27,570
So you see, the last element has now been dropped.

105
00:08:29,560 --> 00:08:33,730
So this I would call off diagonal one.

106
00:08:36,700 --> 00:08:43,809
And then, of course, we have to do the same thing also for off diagonal, too, which is in fact pretty

107
00:08:43,809 --> 00:08:44,320
similar.

108
00:08:44,740 --> 00:08:47,260
It just has a different sign for Derby.

109
00:08:47,290 --> 00:08:52,270
Oh, by the way, here I forgot to write a minus sign in the latest court.

110
00:08:53,110 --> 00:08:54,010
Yeah, no, it's correct.

111
00:08:55,300 --> 00:09:02,680
So what we have to do is we have to just make here at minus sign, minus sign and here also a minus

112
00:09:02,680 --> 00:09:04,930
sign, and then it should work already.

113
00:09:06,640 --> 00:09:07,160
All right.

114
00:09:07,180 --> 00:09:14,110
And now we can think about how did we calculate the barn structure before and we can copy this.

115
00:09:15,340 --> 00:09:21,790
So let me copy all of this code from this pen structure here, because we will now do a similar thing.

116
00:09:23,410 --> 00:09:24,070
So

117
00:09:26,950 --> 00:09:29,860
we will first define a number of key points.

118
00:09:29,860 --> 00:09:38,350
We should probably go to a bit of a lower value here than we defined the list, the K X list, which,

119
00:09:38,890 --> 00:09:41,500
you know, maybe we could even leaf as it is.

120
00:09:41,950 --> 00:09:45,820
And then for the K y list here, I have to just tell you something.

121
00:09:45,820 --> 00:09:49,600
So of course, it would be a good idea to do it as it is.

122
00:09:49,600 --> 00:09:57,700
So we have a list and the K list, but it turns out that's the the solution will not depend on.

123
00:09:57,700 --> 00:09:58,390
Quite.

124
00:09:58,810 --> 00:10:05,440
So that's really hard to understand, to be honest, but it's basically due to the fact that our system

125
00:10:05,440 --> 00:10:09,220
is only periodic along one direction along the X direction.

126
00:10:09,970 --> 00:10:15,610
So this is also why, yeah, this solution will not depend on K-Y.

127
00:10:16,150 --> 00:10:21,670
So we can basically take any value for KYC, and I will just take zero.

128
00:10:23,620 --> 00:10:26,590
So if you don't believe me, by the way, you can of course check this.

129
00:10:26,590 --> 00:10:32,680
You can take a different value K-Y, and it should give you exactly the same result in every case.

130
00:10:34,030 --> 00:10:37,780
So then we have our empty energy list for the solution, which is good.

131
00:10:38,380 --> 00:10:48,820
This loop we can delete and now we can just copy and paste our off diagonals here into that loop, because

132
00:10:48,820 --> 00:10:50,980
the off diagonals will, of course, change every time.

133
00:10:52,000 --> 00:10:55,900
So just make this look a bit more nicely.

134
00:10:57,040 --> 00:11:00,460
And yeah, I think that's pretty good.

135
00:11:03,430 --> 00:11:03,700
Yeah.

136
00:11:05,840 --> 00:11:09,440
Maybe let's do it like this, it's easier.

137
00:11:10,190 --> 00:11:14,330
OK, so here we have to find the

138
00:11:19,310 --> 00:11:21,350
the off diagonal elements.

139
00:11:21,980 --> 00:11:29,170
And here we will define the Hamilton matrix, where it just depends on K X.

140
00:11:29,870 --> 00:11:36,530
So basically, what we have to right now is not something like this, but basically this going on here.

141
00:11:37,730 --> 00:11:48,320
But of course, with the updated lists, which will be off diagonal one and off diagonal to.

142
00:11:49,790 --> 00:11:53,450
All right, so now we have our Hamilton matrix for every key point.

143
00:11:54,290 --> 00:11:57,390
And now we solve for the energy.

144
00:11:57,490 --> 00:12:00,950
So let me think if this is correct, but it looks good, to be honest.

145
00:12:01,520 --> 00:12:03,060
So I think we can give it a shot.

146
00:12:03,170 --> 00:12:11,180
So I save the file and I run the cell, and that's already a good sign when it didn't give any error

147
00:12:11,180 --> 00:12:11,600
message.

148
00:12:11,960 --> 00:12:14,750
So let's look at the energy list.

149
00:12:16,040 --> 00:12:19,670
So it's, of course, a very large array where we loop over the key points.

150
00:12:19,670 --> 00:12:21,650
So let's, for example, look at the first key point.

151
00:12:22,400 --> 00:12:26,870
And there we will have several eigenvalues that corresponds to the energies.

152
00:12:28,550 --> 00:12:32,060
So now the next thing that we are going to do is we are going to plot this.

153
00:12:32,960 --> 00:12:36,290
So the first thing is we must reshape R8.

154
00:12:36,680 --> 00:12:40,250
If you don't remember, we had to do this also for the other band structure.

155
00:12:40,880 --> 00:12:47,180
This was basically because I have constructed here a list that we have then filled, but we must have

156
00:12:47,180 --> 00:12:54,050
an array, so we must update our list to an array and then we must reshape this thing to make it look

157
00:12:54,050 --> 00:12:55,040
more like.

158
00:12:55,520 --> 00:12:55,790
Yeah.

159
00:12:56,480 --> 00:13:00,650
So it took basically to satisfy the syntax for the plotting commands.

160
00:13:01,490 --> 00:13:06,620
So let me copy this and we paste it here.

161
00:13:07,130 --> 00:13:11,340
So our new energy list will be read shape and then we have to write here.

162
00:13:11,360 --> 00:13:18,170
And three, the energy list and the new shape will be key points comma.

163
00:13:19,010 --> 00:13:25,670
So we don't need two times two key points here because we only loop over K X and here we need the number

164
00:13:25,670 --> 00:13:27,740
of bands or the number of atoms.

165
00:13:29,300 --> 00:13:33,170
So let's update the list and let's plot.

166
00:13:34,130 --> 00:13:35,210
And this is pretty easy.

167
00:13:35,210 --> 00:13:44,540
Actually, we just right Pulte towards plot and then K X list, coma energy list.

168
00:13:46,130 --> 00:13:53,900
And for example, we could write all the, you know, all the key points and we only want to plot here

169
00:13:53,900 --> 00:13:56,360
to first band and color.

170
00:13:57,050 --> 00:13:57,800
Let's do it like.

171
00:13:59,210 --> 00:14:02,150
So this will be the first band, of course.

172
00:14:02,150 --> 00:14:06,710
We can also do another band, then 14, for example, which will look differently.

173
00:14:07,970 --> 00:14:10,040
So how can we plot all the bands at once?

174
00:14:10,340 --> 00:14:18,620
Well, we could, for example, just loop over the index for I in range of atoms.

175
00:14:19,880 --> 00:14:22,370
We plot this and here I wrote I.

176
00:14:24,290 --> 00:14:32,840
And you see, this is our new band structure where the x axis will show the K value.

177
00:14:33,770 --> 00:14:41,870
So in this case, k x, let's just use K because we only have one K value and then the y axis will be

178
00:14:41,870 --> 00:14:43,430
the energy as previously.

179
00:14:46,580 --> 00:14:53,450
And now we see our band structure here, so it looks kind of different compared to this one.

180
00:14:54,860 --> 00:14:57,050
But still, you see a bit of a similarity.

181
00:14:57,050 --> 00:14:59,000
You still see these this valley here.

182
00:14:59,270 --> 00:15:02,690
You still also see the touching point where to direct point is.

183
00:15:02,690 --> 00:15:05,480
So it looks a bit similar to this plot here.

184
00:15:06,770 --> 00:15:14,960
But the thing is, since we only have one quick turn now, everything from the other direction is basically

185
00:15:14,960 --> 00:15:18,170
projected onto K X equals zero.

186
00:15:18,560 --> 00:15:20,660
So, yeah, that sounds maybe a bit difficult.

187
00:15:20,990 --> 00:15:28,910
But all I want to say is this three dimensional plot here gets basically projected onto one plane,

188
00:15:28,910 --> 00:15:31,940
and then it will look exactly like this one here.

189
00:15:32,990 --> 00:15:36,350
So this will be the band structure of another ribbon of graphene.

190
00:15:37,400 --> 00:15:40,070
Now, of course, we can play with the parametres a bit.

191
00:15:40,070 --> 00:15:46,670
We can increase the number of key points, for example 201, and we can increase the number of atoms

192
00:15:47,180 --> 00:15:54,170
where it's really important to have higher multiples of four.

193
00:15:55,610 --> 00:16:03,800
So maybe like me to do 180 because we have to run all the cells now and you see we get even more bands,

194
00:16:03,800 --> 00:16:11,000
but we basically still get the same band structure and we can even continue this go to 200.

195
00:16:12,830 --> 00:16:20,930
And you see, now we have an almost solid area here where all the states are occupied by electrons and

196
00:16:20,930 --> 00:16:24,050
then only in the wide ranges, there are no electrons.

197
00:16:24,950 --> 00:16:31,790
And this is really, I think, an interesting fact that no matter how thick your nano stripe is or you're

198
00:16:31,790 --> 00:16:35,330
not a ribbon, you will always give a very similar bend structure.

199
00:16:35,630 --> 00:16:41,350
But the density of the states here in these areas, they will be much more homogeneous.

200
00:16:41,360 --> 00:16:44,600
The more bands you considered, the more atoms you consider.

