 Mindig a srácival báræ formalitára volna egy, kísérkező srácuknak. A srácISEgát egy pabúlások és ember srácja egy ilyen, hogy művissza, hogy a srác abstraction látsnak, és hogy ésből a kisérkiscs az időséges srác kapcsolatokkal aggózitekkel beszélhetem. Aztán az első életben lehet, hogy az időségesi főjét, mert ha nem nagyon fődül, akkor valamit nem elég a főjét, amikor hogy az egyetlen felenkény, ezt meg az elérvezősége. Aztán a főjét az a kérdés, azért törtékel az elérvező kérdés, és az elérvező elérvező kérdés, és a kérdés kérdés, amikor az elérvező kérdés, és az elérvező kérdés, és az elérvező kérdés, és ez a kérdés, a másik két Barcelonaok és de a mai eszlátosan. Az benne az egyik eszletet is is tudottam egyébként, hogy a két Csúb jövök kiegéled a másik két Csúb kiegéled a másik két Csúb kiegéled a másik két Csúb kiegéled a másik két Csúb kiegéled a másik két Csúb jövök kiegéled a másik képel. then what I can tell you in this lecture, then you can head over there and read more. So the Fourier transform is a widely use theoretical and practical tool, and originally it was developed to isolate different periodic parts of function, signal or something similar. And it has a lot of applications in theory, és úgyhogy és készen a szükségek választulom, az az újságú fálolgásrázó, és a két-két criticizing konflikáció működik a helyzetetésmet vagy a rövben. Most érdemes csak, haatta, nem tudom, hogy meglátszok az obj Principle Linket, ezt a másikféleслő szátásoknak tanulni, minden, kéményével jártam, amelyeket, a másikére se jövénkben. De eszelать a flékezt, amelyeket rá lesz egyébkéntek, psychologically processing, processing music or sound, image processing for example, JPEG compression, fast multiplication of polynomias and of course quantum computing. We have lots of interesting applications that we will cover during this week. I will tell you more about the connection to the continuous Fourier transform and how the two relate that will be a topic for tomorrow. De first, let's cover the discrete Fourier transform. The discrete Fourier transform is a unitary map over complex vectors of dimension N, and it's a particular matrix whose matrix elements are evenly сыged out in the sense that they have the same absolute value in a computational basis. So, in particular, this N dimensional quantumathyahh a Grant-Furrián curated transform is a followed而已mit X. All the matrix elements,And all the necessary elements are some powers of a root of unity, Which is this exponential to the minus 2 Pi divided by n. So this omega n is this part of the root of unity And the most surveyed problem and the jthrow and theن and beat column of this matrix quickly, this route of unity to the power j times k, so this is just element in the jave column k, k column, and so here these indices are running from 0 to n-1 for the rows and the columns. Most gyorsanak nem sergedetek a Hadamart-transform, ahol az után egy furiaj-transform máskutul nyomjuk egy kis element. A rajtársről az után az útán lesz miatt egy kincs egy. Épp egy kincs egy perc debeszétek, mert csak este genetek és látni a Maga Zuse-t az útán. És itt kell tudná, hogy elmennem a különkére a különkét, hogy a fúriátag, de a fúriátag az egész felkockázzuk. A különkére a különkére a különkére a különkét ugye elmennem a fúriátag. Köszönöm ez a színűtésben. Aztán ez a különkére a különkére életben, és megyek ezt a különkére. A legküledegyszerűen és az egészségek, aki színes, ahogy nem kezdünk egy másik legtöltes fokhagyás, és ez nem a képe. A fokhagyás, hogy a fokhagyás nagyon fél, hogy mindig is érteljünk, akik a fokhagyás, hogy a fokhagyás, hogy a fokhagyás, hogy a fokhagyás. Oké, hogy az együttel, hogy a fokhagyás és a fokhagyás, hogy a fokhagyás, hogy a fokhagyás, a fokhagyás, It's a unitary matrix. And you can see this just computing what's the inner product between the k-th column and the k-pride column. I just wrote this out exactly here for you. And so if you do this calculation, you realize that taking this complex conjugate here just means that we are putting a minus sign in the exponent of this root of unity. So this is omega n to the minus jk, and omega n to the jk-prime. Then I just put together the exponents, and I get this expression. And this will be 1 if and only if k equals k-prime, and otherwise it will be 0. Yes. So one way to view is just algebraically doing this summation of a geometric sequence that gives you this exactly. Or you can also view this in geometric picture. So here you have your nth root of unity, and as you are taking powers, it's just going to rotate your root of unity. Excuse me for my drawing skills, the angles should be equal everywhere, but imagine that they are equal. And so because you are summing up over n rotations, and this was nth root of unity, or maybe not exactly this one, but some higher one, they all point in a different direction in a way that they exactly cancel out. So this is a geometric picture of the same thing that you can also do algebraically by just summing up this geometric sequence. Yes. Some other properties are that if you look at this matrix, it's a symmetric matrix, and therefore it's a unitary matrix, which is symmetric, so if you take the adjoint, which is the conjugate transpose, transpose is the same. So the inverse of the Fourier transform will be just its complex conjugate. So we just replace all these omega n's by their complex conjugate, which has the opposite sign in the exponent. And for notation, it's common to denote the Fourier transform of a vector by putting a hat on top. So if we had the vector v and we applied the discrete Fourier transform, then the Fourier transform vector is often denoted by v hat. And there is an important classical algorithm, the fast Fourier transform, which can compute this Fourier transform vector in only n log n steps, which is much improved compared to the naive algorithm that would just compute the matrix vector multiplication. And since this is an n by n matrix, that would require you going through all the n square elements, so it would require n square steps. Now, using this clever algorithm, you can just get away by n log n steps instead. And this fast Fourier transform algorithm is really important, not only in quantum computing, but also in classical computer science. Really, it's very widely used in signal processing. Whenever you do some MRI imaging or something, signal processing is heavily using this fast Fourier transform algorithm. OK, so now let's switch to the quantum side of the story and take a look at efficient implementations of this discrete Fourier transform, but inside the quantum computer. And for this, let's assume that for simplicity, this n is just the power of 2. And then, well, by definition, we know that the k-t basis state by the discrete Fourier transform is mapped to the uniform superposition over these j's, but with these phases described by this root affinity to j k power. And one of the key observations will be that this is easy to prepare state. And in fact, I will show you that only lowercase n square 1 and 2 qubit gate suffices to implement this Fourier transform. And so in a way, this gives an exponential speed up because capital N was the dimension of the vector of which we compute the Fourier transform. And we can get away by doing lowercase n, which is its logarithm, or polynomial many in logarithm, quantum gates. But one important thing to note here is that access to the output is limited. So in classical case, we get all the coordinates of this vector fully written out. So we have much stronger access to it in the quantum computer when we only have a quantum state whose amplitudes are Fourier transformed. So the quantum Fourier transform does something different in this sense that it prepares a quantum state, but does so much more efficiently. And the key property that helps for this efficient implementation of this Fourier transform is that if you just take a computational basis state, this k, then its discrete Fourier transform is really a product state. And to explain why is it the case, it's useful to write out these j and k numbers in binary. So that's one of the reasons why we stick to capital N, which is a power of two. So in particular j and k can be described by n bits, j1 being the most significant bit and jn being the least significant bit, each of them having value 0 and 1. This is really just a binary string corresponding to this number j and k. Ok, now this is a bit longer equation, but I will walk you through it step by step. So the first is just the definition of the discrete Fourier transform of the basis state k. And we can just write this out by first writing out j in binary. So j, which was a number between 0 and n minus 1, we just write it down with n bits. And correspondingly, we compute the corresponding exponents. And so it used to be a division by n, but that is counteracted by the place value of these bits. And so when we just write out j in binary, then we get this formula. And we use that these phases just can be taken as a product. So basically we separate the contribution of each bit to this phase. That's what happens in the first step. We're just writing out everything in binary. So the second step, we further collect together these bits. Well, one of the observations is that the absolute value, the amplitude absolute value of everything is 1 over 2 to the n. So if we decompose it to n qubits, then the amplitude of each of them should be 1 over square root 2 in this tensor product. So that's clear. And if you expand this second term, then you see that in the alt position you pick up this phase in the exponent exactly when the corresponding bit is 1 in the left-hand side. So the phase is picked up by the alt qubit, if and only if the alt qubit is in state 1. And that's exactly what is on the left-hand side. So this is how you can collect these terms together. This is this second equation. And the last one is really just rewriting this. So interpreting this number k over 2 to the l in binary. And so here one observation is that when you divide k by 2 to the l, then it will have some integer part and some fractional part. But integer times 2 pi i that just wraps around. So the integer part we can forget about. And this effectively means that only the last n minus l bits of k matter in this expression we can drop the previous ones. Because that's just wrapping around some integer multiple times 2 pi i. So yeah, this is now compact rewriting of the Fourier transform of the basis state k. And this is going to the basis of the efficient quantum circuit implementation. So I will rather describe the circuit for the case of 3 qubits. And then you will see how it generalizes further. But for simplicity, let's discuss this case. So if I have basis state k1, k2, k3, these are the bits. Then it's a dimensional Fourier transform has this product form. This was the expression that we devised in the previous slide. So in particular in the first qubit, this phase only depends on the third bit of k. For the second qubit, its phase component depends on the second and the third qubit, but not the first one. And for the last qubit, actually its phase depends on all of the bits of k. So what we will do is that we will first do everything that depends on the first qubit. And while that is only present in this last term, so we first construct this qubit. Once we construct this qubit, we can forget the value of k1. Then we proceed and here it only depends on k2, k3. So now we process this second qubit from the end. And after this, k2 can be jettisoned and finally we do the last qubit. And for the actual implementation, we will need some rotation gates. These rotation gates will be the ones that add these phase factors to the qubits that we wish to apply this. So this rotation by S will be not affecting the zero qubit state, but for the one qubit state it applies this e to the minus 2 pi i divided by 2 to the S phase. And here we should note that this is really once again a generalization of the Hadamard. Sorry, this is for the Z gate. Or what? Sorry, I'm doing something here. Sorry, this is the typo. So I'm sorry, this is not the Hadamard gate, but the Hadamard gate is the Fourier transform over a single bit. This is the typo, I'm sorry for that. So what this h does is that it prepares, if k1 was zero and it prepares a uniform superposition of zero and one, so when the k1 bit was zero, then there was no phase contribution from k1 here. And if the k1 bit was one, then it adds a phase because Hadamard matrix has a minus one here that adds a phase factor here as necessary. And sorry, ignore this line, that was a mistake. So once we did the Hadamard transform, we collected all the information necessary from this k1 bit and put it into this final bit here. Then we still need to apply a phase depending on the second bit of k. And that is exactly done by this rotation. And the angle is correct because we divide by the necessary power in this exponent. And then, well, this last qubit's phase of the one is also dependent on the third bit and once again a controlled rotation does the job for us. So this first three gates here prepare the product state for the last qubit of the output exactly as we desired. And similarly as before, now we apply a Hadamard to correctly put the phase information from the k2 bit here and then also add the phase information from the last bit. And finally just apply a Hadamard transformation on the last qubit and that prepares finally this superposition. This phase means that it is a plus or minus one depending on just the value of the third bit. But as this story shows, we first prepared the last qubit of the desired state and then a second and a first, so ultimately we need to swap the order of the output bits to get the correct representation of the Fourier transform state. And the case for n larger than 3 is exactly analogous. We just have one more rotation gate with one smaller angle and so on you can do it for every n. So this is the efficient implementation of the quantum Fourier transform for powers of two and while you can see that basically preparing the n qubit of this product state we are using n quantum gates for that qubit and we have n of these qubits and therefore you get roughly n square divided by two gates in total. Ok, so I assume that most of you probably have seen this but this is really a fundamental circuit for all the applications in the week so I thought we should definitely cover it. One thing that is less known probably is that you can also implement an efficient quantum Fourier transform circuit when n is not a power of two. It's a bit more complicated but you can do an exact circuit and that has similar complexity to this. So ultimately we don't have to assume that n is a power of two there is efficient implementation otherwise but in a way we can implement that an arbitrary Fourier transform over arbitrary integers and using this power of two quantum Fourier transform circuit and there will be exercise about this. So the exercise sheet which you should receive after lunch contains some standard exercises which are helping you to understand this concept if you are not so familiar with and contains two much more advanced exercises which is for those of you who are already fluent with these basics but you want to learn more about this topic and in particular this exercise about doing this quantum Fourier transform for arbitrary n, which is I think a very interesting exercise. Ok, so now this was the first part about quantum Fourier transform so I think it's a good point to stop and ask if you have any questions because the second part will be slightly different topic. Ok, well if you don't have any questions now then just ask me questions as we go on. Ok, so now it's a review of the hidden subgroup problem for Abelian groups and this is once again I am following the lecture notes of Ronald DeWolf there is no need to invent the wheel so if you want to get more background material once again you can head to the archive and look at Ronald's lecture notes. So in order to define and correctly describe Fourier transform on finite groups we need a bit of background on representation theory of groups. So representation theory in general uses linear algebra to study groups. That's the idea. And so if you are given a well these concepts can be generalized to infinite groups as well but from now I will specialize to finite groups because we want to implement these on a quantum computer and our quantum computer is mostly finite so that's the relevant case but these concepts have infinite dimensional and infinite size analogs which we don't cover but those are nevertheless very interesting theoretical extensions. Ok, so what's a representation? It's a homomorphism from your group into the multiplicative group of d by d complex matrices and such a homomorphism is called the d-dimensional representation. So what it means that if you have two group elements then you can either first multiply them in the group, get a new element and map that using the homomorphism and you should get the same result as if you first take the two group elements map them to the corresponding matrices and multiply the matrices then you should get the same result. And such a representation is called irreducible if and only if no non-trivial subspace is invariant under all linear maps or matrices in the image of phi. So what it means, phi maps your group elements to matrices these matrices have some eigenvectors, eigenvalues and accordingly they have invariant subspaces. The trivial invariant subspaces is the empty subspace that's always mapped to itself under linear map and also the entire space is always under such a map. And so representation is irreducible if there is no subspace that which is lying between zero and the entire space which is invariant under all linear maps that are in the image of this map. And so we will now mostly focus on the Abelian case and there we will focus on one-dimensional representations which are also called a character. And so in particular a character is a map from your group to the multiplicative group of the complex numbers and while if you just apply this homomorphism property you can see that the character mapping the unit element while it maps since unit element is equals its square its homomorphic image is the same and now we are using this property or homomorphic property that this complex number equals its square and this means that the unit element must be mapped to the one of the complex numbers and using this and Lagrange's theorem for groups we get that one equals the image of the unit element of the group and the unit element of group by the Lagrange theorem is the same as any group element to the power of the number of elements in the group and by the homomorphic property that's the same as the image of the group element to the g-t power and so this little computation shows that such a character must map every group element to a g-epsute value so the size of the group root of unity for every group element so this just gives you a bit more handle that every character is mapping group elements to some root of unities which are matching the size of the group and once again for a billion groups we have the nice property that all the irregisziu representations are in fact one-dimensional and they are exactly as many characters one-dimensional representations than the size of the group itself and the character group is also called sometimes the dual group of this group g and that contains the one-dimensional representations of the group g and we denote this character group by g hat and that also inside the Fourier and Ithik relevance of this concept and this is a group under point-wise multiplication so if we have two characters two one-dimensional representations phi and key from g to c then the point-wise multiplication or in this character group is which is denoted by phi times key g that just multiply the image of g times the image of key as you would multiply two functions point-wise and under this action they form a group and so now let's discuss the Fourier transform on finite a billion groups cikli groups are the easiest we already defined basically that so we can consider the k-th column of the discrete Fourier transform as a character such that we define the image of j as simply the j-th row of the k-th column of the Fourier transform and there is a normalization we need to multiply this matrix 7 by square root m and this way we get this root of unity omega n to the j times k and clearly because key kj equals omega to the j times k we have that this is indeed a homomorphism so let's look at the image of j plus j prime under this map and that by definition is just this root of unity j plus j prime power times k and while that is just the product of the corresponding characters point-wise so indeed we have this homomorphic property that key kj plus j prime just key kj times key kj prime and so here I use the additive notation for these elements of the cyclic group because it's an abeljan group and we can consider therefore this discrete Fourier transform as a map from the group g to g hat because Fourier transform maps the k-th basis elements to the k-th column and that's just a normalized version of the vector corresponding to this k-th character and this is not just any map but it's also important that this map is actually a homomorphism so if you take here two different elements k and k prime then k plus k prime is mapped to the product key k times key k prime so Fourier transform is a nice homomorphism acting between g and g hat and so this is for the cyclic groups the cyclic groups and their Fourier transform is just this homomorphic map between the group and its character group and in general we know that any abeljan group has just as many characters as the group itself moreover they are orthogonal to each other and this is a very good property because we want to study unitary transformations in quantum computing and the characters of abeljan group are already orthogonal to each other so we have a chance of defining a unitary matrix that is useful for quantum computing and moreover there is this so-called basis theorem from group theory which states that every finite abeljan group is in fact isomorphic to a product or if you are using additive notation to the direct sum of cyclic groups so you have a finite abeljan group g that's always isomorphic to product of these different cyclic groups n1, n2, nc, nt with those orders and this hints at the generalization of this Fourier transform the characters of g according to this decomposition will be simply tensor products of their cyclic components so in particular the character group will be isomorphic to the product of the character group of the n1-length cyclic group n2-length and so on which are of course themselves so we have seen that the character group of n1 is basically itself but we can think about this in a different way so the discrete Fourier transform is this homomorphic map which maps the cyclic group zn1 to its character group z hat n1 and that is exactly the Fourier transform fn1 discrete Fourier transform now we have a product structure both over the group and its character group and accordingly the Fourier transform over the group is just isomorphic to the tensor product of the Fourier transforms over each cyclic component so if if my group is really not isomorphic but is actually the product of these cyclic groups then the corresponding Fourier transform is actually the tensor product of the Fourier transform but now we have this isomorphism so we need to use this isomorphism which translates group elements in g to group elements in this product and exactly we need to take that isomorphism which is just basically a permutation or like a bijection between the elements and under this bijection we get the Fourier transform for the general group fg so this is how you define Fourier transform over an arbitrary Abellian group and this homomorphic structure of this Fourier transform will then follow naturally from the homomorphic structure of each of the individual Fourier transforms so we keep this property that that this is a homomorphic map between g and g hat for every Abellian group and so now it's time to now after this representation theory recap we can finally state this hidden subgroup problem which is where quantum computers excel and this is a generalization of Shor's algorithm and lots of other interesting algebraic things including the discrete logarithms and so on so here is the abstract definition as input we assume a function which maps the group elements to some set x really this x does not have to this doesn't have to have any structure this is just a set the only requirement is that this f should hide g1h in the sense that 2 group elements should be mapped to the same x value if and only if these 2 group elements are in the same coset of the hidden subgroup h meaning that g1h as a set equals g2h so in other words we have a function which we can think about this as an injective function on cosets because the value of the function only depends on the coset of a given group element and otherwise for different cosets it gives different values so this is the requirement we need to have such a hiding function which hides in this sense the subgroup h and of course the goal is to find the subgroup h itself with a few queries to f well one thing is asking a few queries and one thing is being efficient so well we will not only want to have a few queries to f but actually also an efficient quantum circuit which uses only a few gates to solve this problem and so this is the this is what is solved by this main algorithm and so here is the quantum circuit for the algorithm that solves the hidden subgroup problem on a quantum computer so here we need to start with the uniform superposition over the group elements so we need to assume that we can somehow prepare this uniform superposition that's assuming we can do that we just need to apply this this function which is either we don't need to buy an oracle so this is some quantum circuit that computes the function values and then we measure the output register and apply quantum Fourier transform over the group G finally measure it so this is the circuit quite a bit of explanation what it does and why it makes sense so let's just see how this acts so we have a uniform superposition over the group elements in the first register and we have a zero state and this zero state is just here to accommodate the function evaluation so this oracle f which I didn't specify in details what it does that it maps somehow it was misbehaving all the time ok alright so this oracle what it does if you provide it with a group element G and the fresh register containing a zero anszilla then it just computes the function value in the second register and it only needs to compute it and this anszilla register is zero in the initial state so we have the uniform superposition over the group elements and then a fresh anszilla here we just applied the oracle and then for every G we get the corresponding function value here nothing special happens but then the measurement we perform a measurement on the output register where the function values are stored and we get some x like a lowercase x value which we don't know what we get but it doesn't really matter we get some element and we know that so which are the group elements that are consistent with the equation that f of G equals x well take any preimage of x so that f inverse x is just any any group element which i don't need my s here which is map to x and we know that this function is constant on cosets so we can get all the elements of which map to x by just looping through this subgroup H and shifting this this initial element by by every element of this subgroup so this is exactly the part of the quantum state which is consistent with the measurement outcome x and so we had the uniform superposition previously the uniformity is retained but now this particular measurement outcome restricts the elements over this set and so here comes the last step so here comes the last step the key ingredient is when we apply finally the quantum Fourier transform and so what it does it maps this s plus h group element to this character key s plus h and while this last register i wrote it out it remains but we can really forget about it it doesn't really matter what x is and we will explicitly to drop it in the next slide and so remember this normalization the one over square root h comes from this uniformity over the group elements h and this one over square root g that was just how we defined the Fourier transform so this character every element so every point of this function if you would describe this character function is the root of unity so to get a unit length vector we need to divide by the square root of the size of the group and so this is why we have this in the denominator and so now the question remains why does it give anything useful if we measure the first register which is not the x value that we got and so this is what we need to understand what is the outcome of the measurement of the final state so I dropped now here the value x and just wrote this superposition over these characters after the Fourier transform and well basically I just write down the definition of this character state that is just the value of this s plus h character evaluated at g and then we have the group element as well so really it is just writing out what was the definition of this character state and in the next step we use that this character is a homomorphism so when I have the s plus h character then it is just the product of the s and h character so I just write this a product and notice that this key as g that doesn't depend on anything in h so I can just pull it through this summation so this is how I get this second line equation and so the final step which is a bit more challenging is that we will get some some state like this but let me explain what is written here and why is that the outcome so for the last equality we need to understand a few things about the structure of these characters so if you take any any character on the group g then you can restrict it to h so a character is a map from the group to the complex numbers now you have a subgroup a homomorphism and also it will be homomorphism on a subgroup itself still a map on it so you can restrict it and it will be a character of h itself and now we also introduced the notation h perp which will be a subgroup of the character group and exactly those characters are contained which will be the constant one function on elements of h clearly if you have two characters they are constant one on the subgroup h if you multiply them that is just multiplication point wise they will still be constant one on every element of the subgroup h so this is a subgroup and it's a well defined set it for example certainly contains this unit element so we can define it ok, so now I introduced this h perp group and so now I'm studying this part of this equation this sum over all the elements in the subgroup and the character evaluated at this element g times this group element itself in this notation so here one important thing is that you can swap the argument and the subscript of this of these characters so remember it's not in the board sign that for zm we had that he, k I don't know can you see it from the background can you see it from the last rows ok so key k j that was just omega m j times k ok and for this clearly you can see that this is now the same thing as pi j evaluated at k ok, so it has a product in this root of unity so you have clearly this equation now if you have something like zn1 cross zn2 then the characters are just products of the individual characters so key k1 k2 the element j1 j2 this will be just the product of k1 j1 times k2 j2 and here you can swap thing individually as we shown so this will be equal now k1 j1 k1 k2 k2 ok, so now we swapped the subset and the argument and once again you can just put everything together that will be k1 j1 j2 k1 k2 ok, so this swapping works for cyclic groups by definition very clearly and also by this product structure it works for product of two cyclic groups or more cyclic groups therefore for every finite abelian groups by the basis theorem ok, so in this first equation we can just swap the argument and subscript and so now the next thing that we should understand is that this summation well clearly if you are in this h-perp that means that this chi g is constant one on every element of the subgroup and so you get just the size of the subgroup h and otherwise it will be not the constant one and similar to how in the cyclic groups this rotation and times cancelled exactly that same thing happens here and this will be exactly 0 for the other elements yes well one other way to see it is that there is no room for here everything has to be because the normalization makes it sure that it has already maximum norm so already these elements in this summation give rise to norm one quantum state so there can nothing as be here, that's just another way of seeing this identity ok, so this summation over this idensa group is to a factor which is the size of the group so this divided by square root h becomes by a multiply by square root h but only those g's remains which were for which the corresponding character was in h-perp and otherwise oh yeah and we have this multiplicative factor the s character evaluated g but this is just a root of unity so when we measure this state this factor really doesn't matter what really matters is that we have uniform superposition over g's that are labels of this h-perp group so ultimately what we get is a uniformly random element of the group such that the corresponding character is in h-perp and this uniformity is the only thing that matters and so how you finally decode idensa group is that you repeat this argument several times and each time you will get a new uniformly random g and this is a linear constraint on the subgroup h because we determined that chi g on h will be one for every element of the subgroup so basically as you obtain more and more labels g that gives you more and more constraint on the element h and while essentially collecting a logarithmic number of constraints when you have this uniform something property that we ensured actually little argument shows that it suffices to uniquely determine the subgroup h now of course you can have some tiny error probability but if you repeat this process a few times then this will exponentially go to 0 so with very very high probability you determine the correct subgroup h and yes so this finishes the abelian idensa problem and in the exercise sheet you will see examples that show how period finding discrete logarithm and generalized discrete logarithm problems are all instances of this abstract looking concept and therefore we have efficient quantum algorithms for them we know the implications breaking shore and even discrete logarithm based cryptography the exercise sheet has some hints so if you get stuck or don't know just start a beginning of the exercise just look at the final page i'm not sure if the printed exercise sheets will have the hints ok now my time is over if you have any questions then maybe ask it or you can also ask me after the lecture