 Het rest kan meer zijn, want het is moeilijk om te proeven dat je het altijd wilt doen, maar er is een betere theorem en dat is eigenlijk de een die we gaan concentreren op en dat is wat ik noemt theorem 3 en dat theorem reed als volgers, dus theorem 3, er is weer, well, let me just call it for the moment PTA, polynomial time algorithm, just to abbreviate that on input k, t en the alphas as before and then what it does is that it does not decide whether one particular vector gives me a relation, no, it just writes down all relations determines zee basis for the group of multiplicative relations and the group of multiplicative relations between the alpha i is defined as the kernel of a certain group homomorphism from the additive group zee to the t to the multiplicative group of k and it does exactly what you expect given such an integer vector it evaluates the corresponding power product of the alpha i so that is a group homomorphism from an additive group to a multiplicative group its kernel will be a subgroup of zee to the t the group of all of these vectors and it will consist exactly of all vectors satisfying this relation from the previous theorem and it is well known from elementary algebra that every subgroup of zee to the t will itself have zee basis it will be isomorphic to zee to the let's say u where u is an integer non-negative integer that is at most t and this is a theorem that you can think of as the discrete solution to the discrete logarithm problem for the group k star the discrete logarithm problem is traditionally formulated for a finite cyclic group for which you give two elements one element being a generator and the question is to write down the second generator as a power of the first so you can reformulate that by saying that given these two elements you want to know all relations between them which in a sense is a better problem because your second element may not be a power of the first at all but the relations that is a well defined question so this is a problem dat is being solved by this theorem that may be viewed as the most sensible extension of this discrete logarithm problem to other multiplicative groups and you may know that when you take for k lords finite fields then in many situations this discrete logarithm problem is considered to be very difficult zo difficult in fact dat people are basing cryptosystems on that problem and well if this theorem number three has any tangible applications then one of them may be of a negative nature in the sense of discouraging people to base cryptosystems on discrete logarithms in the multiplicative group of a number field but i certainly do not exclude that there are also more positive applications and in fact one of the most striking applications of number fields in computational number theory is the number field sieve for factoring integers and in the number field sieve several things are happening that are sort of reminiscent of what is occurring in this theorem three maybe i will come back to this analogy if it is one later in the week any questions ok oh there's a question you know so yeah right so that is a very good point so your question is is maybe other entries of such a basis may be too large to write down well it follows from this theorem that they aren't but it is clear that at one point you will need to prove that i'm not saying that every z basis is short but it will compute a short z basis yeah that is a good point and actually that is a point that i will also come back to when i discuss the other thing that i talked about last year and that has to do with computations with finely degenerated abelian groups like this g to the t this k star is not finely degenerated but the subgroup well the image of this map clearly is and the relevance of algorithms for finite abelian groups is already clear when you want to see why this theorem number three is actually a better theorem than theorem two and by this i mean that there is a quick way of using this algorithm for proving this algorithm proving that you have an algorithm like in theorem two namely if you start with your alpha i you first find this basis that is the output of this algorithm and then you have to decide whether this vector is a z linear combination of the basis vectors that you found here so there you have to you have the problem that you have an h subgroup in z to the t which is specified by writing down t and writing down a basis for h you are given an element here that is the element from theorem one and you have to verify you have to test whether de element belongs to the subgroup that is a typical problem a typical algorithmic problem on finely degenerated abelian groups that you encounter and there are really many problems of that nature that we will need and use in the course of this course en ik ben daarvoor heel blij dat ik al die dingen al vorig jaar aan het doen en dat ik ze niet moet vermoeden en je kunt ze in de noten die dan schrijven en wat ik nu wil doen is gewoon restrikt naar een paar basis zodat je weet wat de soort van game is dat mensen hier speelen. Dus dit is over algoritmes voor fg dat betekent finely degenerated abelian groups en deze abelian groepen worden altijd geïnteresseerd naar onze algoritmes. Let's call such a finely degenerated abelian group call it a it will always be specified by generators and relations and that is already a restriction as i will mention in a moment. But what does this mean? Well generators that means if you have for example n generators that is the same as saying that you have a subjective group homomorphism from z to the n to a and subjective that means that this sequence is exact but those generators well they will typically be dependent so you have to also say what the relations are and if there are m relations each relation being a vector in the kernel then the ith relation will be the image of the ith basis vector here and that will give rise to a group homomorphism and this a will then be the cokernel of this group homomorphism alpha and this alpha is given by an n times n n times m matrix over z where the ith column is the image of the ith basis vector in z to the n so in other words representing a finely degenerated abelian group by means of generators and relations is equivalent to realizing it as the cokernel of a matrix and the matrix this matrix will be the matrix that specifies the a so the input will be a matrix and then you use it for specifying a the elements of a will then be represented by multiple linear combinations of the generators so by an element of z to the n mapping to it there are clearly other ways of representing finite degenerated abelian groups and the problem of going back and forth between different representations those are exactly the among the algorithmic problems that one has to face but before I tell you what those problems are let me also tell you how you represent group homomorphisms if I have two groups that are given and I want to have a group homomorphism here dan is it very easy to show that it can be lifted to a group homomorphism here which is again given by a matrix so homomorphisms between abelian groups specify they are specified by telling what happens to the generators so those are again given by matrices but of course you have already a problem here because not every group homomorphism hier will factor through a commutative diagram like here there is a condition and the condition is and which is necessary insufficient that the image of the map from z to the m to z to the n prime actually lies in the image of z to the m prime so in other words you also need to know that there is a map like that and that already gives rise to the first algorithmic problem and that is decide whether a given matrix actually defines a homomorphism from a to a prime and this is something look at the notes that can be done in polynomial time and then there are other questions dat je kan vragen bijvoorbeeld in addition to representing homomorphisms je wilt te represent subgroups maar subgroups zijn gewoon een speciaal gegeven van homomorphism je kunt ze als injectieve homomorphismen denken en dat geeft rise tot de vraag ok als ik zo'n ero heb dat geeft rise tot een uniekele gegeven ero hier is dat tweede ero injectief is dat tweede ero subjectief is may be dat tweede ero een isomorphisme dus er exists een isomorphisme at all and there are many of these problems and let me just tell you the rule of thumb by which you decide whether no whether a given problem is solvable in polynomial time well one way of doing it of course is check whether it occurs in the list of done although i am not claiming that it is complete but the general rules are that you should not ask something unreasonable so the first thing is do not ask for large output so what do i mean by that well if i am given a and b to a billion groups then you see for example that you can compute you can compute a homomorphism group but typically that is a bit larger you can also compute the tensor product but for example if you want to compute high tensor powers well according to the rules of the game as i define them these tensor powers will just take up an amount of space that is not going to be logarithmic in n so the output will typically not be bounded by a polynomial in the length so that is something dat je moet uitvoeren en dan de tweede is do not ask for prime factorisation omdat je is volgens te weten dat je het niet kunt doen tot natuurlijk zoals ik zei iemand andere doet het voor je in de toekomst dus wat betekent dat? wel, ik betekent twee dingen van die, dus hier is een objeze probleem als ik een a heb, een abelian groep, dan kan je het uniekeer schrijven als een directe sum van schiklijke groepen waar alle di's, wel, ze mogen 0 zijn en ze mogen wel 2 zijn. Deze t is alweer 0 en je kunt dit uniekeer maken, bijvoorbeeld door het verkeerderen dat d1 divide d2 en dat elk van ze divide de volgende zonder de laatste, dus elke is een bepaalde van de verkeerderen, dus de 0's appearer aan de eind en gegeven a, deze sequentie van nummers is uniek, wat is niet uniek in general is de isomorphisme, maar dit kan voorbeeld worden gebruikt om te besluiten of twee gegeven finitie genererende abelian groepen en gegeven, ik bedoel dat ze de ingang naar je algoritme zijn, of twee gegeven finitie genererende abelian groepen zijn isomorphisch of niet, simpel de algoritme van de nummers die je d's computeren en dan kom je de d's voor twee verschillende groepen en als de hele vector dezelfde is, dat gebeurt zelfs als de groepen isomorphisch, maar er is een verschillende manier om de di uniek te maken en dat is door de verkeerdering dat ze zijn, laten we zeggen, als ze geen 0 zijn, dan zijn ze misschien een non-increzende zet van de voordeur van de prime nummers, bijvoorbeeld als a hetzelfde is, z mod n z, dan de di's zijn de prime voordeur die exacte divide n, en dat is gewoon iets dat je niet kan vinden, dus niet vragen voor iets waarop de woord prime gebeurt, dat is wijs in order om superpolynomale algoritmes te vervoeren en er zijn ook gebouwen die in ieder geval de woord prime niet gebeurt, maar dat is een soort van onvermiddelbaar te antwoorden, zonder a opgeleg met prime power, bijvoorbeeld opgeleg met hoeveel automorphismen, a heeft hoeveel automorphismen, opgeleg met de nummer van automorphismen op input, a dat is virtueel mogelijk, in feite er is niet zo'n zo'n moeilijk probabilistische polynomial-time algoritme die de nummer van automorphismen van een cyclic groep z mod n z loopt de volledig prime factorisatie van n probabilistische algoritme die in expecteelijke polynomial-time rijdt en, nou, als je op de expressies kijkt voor dit nummer van automorphismen dan zie je dat de prime power beschrijving zeer sterk in dit aan de andere kant er zijn tegelijkere dingen die je kunt doen, bijvoorbeeld ben ik de homomorphismen opgeleg met de homomorphismen, als je a equals b neemt dan kan je de zet van endomorphismen van a en dat is als een nabiliënt groep gewoon hom a comma a, maar omdat a is equal te b hier, dit is niet alleen een groep, het is ook een ring, het is een finite ring als a is een finite nabiliënt groep en je kunt het als een ring computeren, je kunt het gewoon nemen zoals ik het deed met de cijkk voor de nummerfielden, je kunt het nemen, de multiplicatie, als ik deze e k called, dan is de multiplicatie gewoon een groep homomorphism van e times e tot e en je kunt dat computeren en dit groep is de unitgroep van dit e, dus dat gaat gewoon om te laten zien dat als je als input gegeven is, bijvoorbeeld een finite ring, die niet commutief moet zijn, maar zelfs in het commutief gevoel niet voor de unitgroep van zo'n finite ring. Doe niet voor de prime ideals van zo'n finite ring als het commutief is, dus er zijn certaine dingen die je moet uitvoeren, maar de ronde van een thumb appearst om te zijn dat als je uitvoert gevoel niet voor de uitvoering en als je de prime factorisatie uitvoert, dan typisch een deterministe polynomial tijd algoritme voor je probleem zal worden. Er zijn certaine intermediëte cases, bijvoorbeeld ik praat over hoog tenser kracht hier, als je op hoog externe kracht kijkt, run je in het probleem als dit a is, bijvoorbeeld 3 over z, om de determinering van een endomorphisme te kregen. Dat is een intermediëte situatie, want er is nog genoeg ruimte om alles te schrijven, maar je moet echt uitvoeren in de computatie van de determinering, de fenomen van een efficiënt gevoel. Laten we een beetje meer over dat in de tweede. Nog een vraag zo ver? Oké, ja, cooficiënt gevoel. Dus, er is een manier waarin deze algoritmes voor eindelijk een generatieve miljoen groepen worden, soms een drijde subjecte en dat is omdat als je een typische tekstboek kijkt waar de basisproperies van de eindelijk generatieve miljoen groepen