[Slide 1] Hey, everyone, welcome to lecture 1.14.
We already talked about how the photonic crystal band structures look,
but we didn't explain in a lot of detail how do we actually do the calculation.
[Slide 2] So we do know that it's based on the Maxwell's Eigenproblem.
In case you forgot the Maxwell's Eigenproblem is presented here.
This is essentially the same as what we had before, just written in
new notation, basically cap notations, so quantum mechanical type calculations.
You actually can see very easily that we can expand each into
a set of plane waves based on our block wave solution.
So then we would define the operator on the left hand side as Ak.
And then it's basically defined like this.
And then we get omega over c squared in front of Hk.
[Slide 3] And now we need to choose a basis for Hk.
And so without necessarily explicitly saying that HK has to be in a Fourier basis,
we just we just say that we choose the basis that orthonormal which means that if
you have two different basis elements, HKn and HKm, then we can basically say
that they're going to give us an inner product of one if and only if n equals m.
And then we can then expand H-field in this basis, whether it's Fourier or
another type of basis, such that Hk is the sum over hm times bm.
So it's a linear combination.
And then gives rise to a linear algebra problem,
which is the generalized Eigen problem, that a h = omega over c squared b h.
Where b is a very simple auxiliary matrix.
[Slide 4] And then if we think about this problem, we have a very practical challenge,
which is just how do we solve it as efficiently as possible.
The first approach, the power method, would allow us to get a single
Eigen problem that, or Eigen value, that dominates the Eigen problem.
It doesn't give us all the solutions.
So it is not necessarily the best.
Inverse iteration is targeted but we would have to do it multiple times.
Transformation method is more promising because it would give us the full set of
results, but it is actually easier to use the decomposition method
which is something that kind of of naturally enables us to generate a set
of transformation or rotation operators and matrices.
[Slide 5] If we look at the timing, however,
of this problem, then we know that the total number of elements computed,
if it's number of N elements, would go N squared.
And then number of operations per element, because we're doing sums and so
on across different elements just like N over three on average.
So then overall scaling is the product of those two which goes like N cubed.
So that could be expensive if we have a really big problem in 3D.
[Slide 6] However, if we said that we're willing to accept that we don't necessarily need
every single solution, where you only need the first p solutions, and
we can assume that p is much less than N if it's a large problem.
Then we could say that storage actually will only scale like order p times N,
instead of N squared.
And the work that would be needed, going back to the earlier case,
would by simple math be order of p squared times N.
So for large N, as N goes to infinity,
still scales like order N instead of order N cubed.
So this is a huge win computationally If you're willing to do that.
[Slide 7] Now, we can actually reformulate the eigen problem to put it into planewave basis.
And you can see very clearly here, we've written it as a complex exponential,
depending on the reciprocal lattice vectors.
So it's basically a simple Fourier representation.
And then we can actually write Hk as the sum of
the bs times the planewave basis that we had earlier.
And so then that gives us something that you see in the right-hand side,
which goes like a complex exponential of the sum of mj times mj over capital Mj.
And that's nothing more than a discrete Fourier transform, which is very good for
us because it's computationally tractable.
{Slide 8] Although if we used a normal DFT, that would go like time of order N squared.
If we use fast Fourier transforms, then it goes like N log N,
which is very close to order N.
So that means that we can use Fourier transforms, and
inverse fast Fourier transforms, to very quickly
both view calculations in the natural means where they should happen.
So another words, we can multiply the curl operator in Fourier domain and
then multiply and then do an inverse Fourier transform,
go back to the real space domain, multiply by the inverse epsilon factor, and
then go into Fourier space for that final step of implementing the Eigen operator.
So, though it sounds like more work, actually,
at the end of the day, it'll be much easier, in fact.
So in the next lecture we will talk more details about how do we actually do
the solution to these kind of problems.