A Computational Introduction To Number Theory And Algebra (Version 2)

1y ago
13 Views
2 Downloads
3.48 MB
598 Pages
Last View : 3d ago
Last Download : 3m ago
Upload by : Sabrina Baez
Transcription

A Computational Introduction to Number Theoryand Algebra(Version 2)Victor Shoup

This PDF document contains hyperlinks, and one may navigate through it by clicking on theorem, definition, lemma, equation, and page numbers, as well as URLs,and chapter and section titles in the table of contents; most PDF viewers shouldalso display a list of “bookmarks” that allow direct access to chapters and sections.

Copyright 2008 by Victor Shoup victor@shoup.net The electronic version of this work is distributed under the terms and conditions ofa Creative Commons license (Attribution-NonCommercial-NoDerivs 3.0):You are free to copy, distribute, and display the electronic versionof this work under the following conditions:Attribution. You must give the original author credit.Noncommercial. You may not use the electronic version of thiswork for commercial purposes.No Derivative Works. You may not alter, transform, or build uponthe electronic version of this work.For any reuse or distribution, you must make these license termsclear to others.Any of these conditions can be waived if you get permission fromthe author.For more information about the license, visitcreativecommons.org/licenses/by-nd-nc/3.0.All other rights reserved. In particular, the right to publish or distribute this workin print form belongs exclusively to Cambridge University Press.

Contentspage xxivPrefacePreliminaries1Basic properties of the integers1.1 Divisibility and primality1.2 Ideals and greatest common divisors1.3 Some consequences of unique factorization115102Congruences2.1 Equivalence relations2.2 Definitions and basic properties of congruences2.3 Solving linear congruences2.4 The Chinese remainder theorem2.5 Residue classes2.6 Euler’s phi function2.7 Euler’s theorem and Fermat’s little theorem2.8 Quadratic residues2.9 Summations over divisors151516192225313235453Computing with large integers3.1 Asymptotic notation3.2 Machine models and complexity theory3.3 Basic integer arithmetic3.4 Computing in Zn3.5 Faster integer arithmetic ( )3.6 Notes505053556469714Euclid’s algorithm4.1 The basic Euclidean algorithm4.2 The extended Euclidean algorithm4.3 Computing modular inverses and Chinese remaindering74747782v

viContents4.44.54.64.74.8Speeding up algorithms via modular computationAn effective version of Fermat’s two squares theoremRational reconstruction and applicationsThe RSA cryptosystemNotes848689991025The distribution of primes5.1 Chebyshev’s theorem on the density of primes5.2 Bertrand’s postulate5.3 Mertens’ theorem5.4 The sieve of Eratosthenes5.5 The prime number theorem . . . and beyond5.6 Notes1041041081101151161246Abelian groups6.1 Definitions, basic properties, and examples6.2 Subgroups6.3 Cosets and quotient groups6.4 Group homomorphisms and isomorphisms6.5 Cyclic groups6.6 The structure of finite abelian groups ( )1261261321371421531637Rings7.1 Definitions, basic properties, and examples7.2 Polynomial rings7.3 Ideals and quotient rings7.4 Ring homomorphisms and isomorphisms7.5 The structure of Z n1661661761851922038Finite and discrete probability distributions8.1 Basic definitions8.2 Conditional probability and independence8.3 Random variables8.4 Expectation and variance8.5 Some useful bounds8.6 Balls and bins8.7 Hash functions8.8 Statistical distance8.9 Measures of randomness and the leftover hash lemma ( )8.10 Discrete probability distributions8.11 Notes207207213221233241245252260266270275

Contentsvii9Probabilistic algorithms9.1 Basic definitions9.2 Generating a random number from a given interval9.3 The generate and test paradigm9.4 Generating a random prime9.5 Generating a random non-increasing sequence9.6 Generating a random factored number9.7 Some complexity theory9.8 Notes27727828528729229529830230410Probabilistic primality testing10.1 Trial division10.2 The Miller–Rabin test10.3 Generating random primes using the Miller–Rabin test10.4 Factoring and computing Euler’s phi function10.5 Notes30630630731132032411Finding generators and discrete logarithms in Z p11.1 Finding a generator for Z p11.2 Computing discrete logarithms in Z p11.3 The Diffie–Hellman key establishment protocol11.4 Notes32732732933434012Quadratic reciprocity and computing modular square roots12.1 The Legendre symbol12.2 The Jacobi symbol12.3 Computing the Jacobi symbol12.4 Testing quadratic residuosity12.5 Computing modular square roots12.6 The quadratic residuosity assumption12.7 Notes34234234634834935035535713Modules and vector spaces13.1 Definitions, basic properties, and examples13.2 Submodules and quotient modules13.3 Module homomorphisms and isomorphisms13.4 Linear independence and bases13.5 Vector spaces and dimension35835836036336737014Matrices14.1 Basic definitions and properties14.2 Matrices and linear maps14.3 The inverse of a matrix377377381386

viiiContents14.4 Gaussian elimination14.5 Applications of Gaussian elimination14.6 Notes38839239815Subexponential-time discrete logarithms and factoring15.1 Smooth numbers15.2 An algorithm for discrete logarithms15.3 An algorithm for factoring integers15.4 Practical improvements15.5 Notes39939940040741441816More rings16.1 Algebras16.2 The field of fractions of an integral domain16.3 Unique factorization of polynomials16.4 Polynomial congruences16.5 Minimal polynomials16.6 General properties of extension fields16.7 Formal derivatives16.8 Formal power series and Laurent series16.9 Unique factorization domains ( )16.10 Notes42142142743043543844044444645146417Polynomial arithmetic and applications17.1 Basic arithmetic17.2 Computing minimal polynomials in F [X ]/(f )(I)17.3 Euclid’s algorithm17.4 Computing modular inverses and Chinese remaindering17.5 Rational function reconstruction and applications17.6 Faster polynomial arithmetic ( )17.7 Notes46546546846947247447848418Linearly generated sequences and applications18.1 Basic definitions and properties18.2 Computing minimal polynomials: a special case18.3 Computing minimal polynomials: a more general case18.4 Solving sparse linear systems18.5 Computing minimal polynomials in F [X ]/(f )(II)18.6 The algebra of linear transformations ( )18.7 Notes48648649049249750050150819Finite fields19.1 Preliminaries509509

Contents2021ix19.2 The existence of finite fields19.3 The subfield structure and uniqueness of finite fields19.4 Conjugates, norms and traces511515516Algorithms for finite fields20.1 Tests for and constructing irreducible polynomials20.2 Computing minimal polynomials in F [X ]/(f )(III)20.3 Factoring polynomials: square-free decomposition20.4 Factoring polynomials: the Cantor–Zassenhaus algorithm20.5 Factoring polynomials: Berlekamp’s algorithm20.6 Deterministic factorization algorithms ( )20.7 Notes522522525526530538544546Deterministic primality testing21.1 The basic idea21.2 The algorithm and its analysis21.3 NotesAppendix: Some useful factsBibliographyIndex of notationIndex548548549558561566572574

PrefaceNumber theory and algebra play an increasingly significant role in computingand communications, as evidenced by the striking applications of these subjectsto such fields as cryptography and coding theory. My goal in writing this bookwas to provide an introduction to number theory and algebra, with an emphasison algorithms and applications, that would be accessible to a broad audience. Inparticular, I wanted to write a book that would be appropriate for typical students incomputer science or mathematics who have some amount of general mathematicalexperience, but without presuming too much specific mathematical knowledge.Prerequisites. The mathematical prerequisites are minimal: no particular mathematical concepts beyond what is taught in a typical undergraduate calculussequence are assumed.The computer science prerequisites are also quite minimal: it is assumed that thereader is proficient in programming, and has had some exposure to the analysis ofalgorithms, essentially at the level of an undergraduate course on algorithms anddata structures.Even though it is mathematically quite self contained, the text does presuppose that the reader is comfortable with mathematical formalism and also hassome experience in reading and writing mathematical proofs. Readers may havegained such experience in computer science courses such as algorithms, automataor complexity theory, or some type of “discrete mathematics for computer sciencestudents” course. They also may have gained such experience in undergraduatemathematics courses, such as abstract or linear algebra. The material in these mathematics courses may overlap with some of the material presented here; however,even if the reader already has had some exposure to this material, it neverthelessmay be convenient to have all of the relevant topics easily accessible in one place;moreover, the emphasis and perspective here will no doubt be different from thatin a traditional mathematical presentation of these subjects.x

PrefacexiStructure of the text. All of the mathematics required beyond basic calculusis developed “from scratch.” Moreover, the book generally alternates between“theory” and “applications”: one or two chapters on a particular set of purelymathematical concepts are followed by one or two chapters on algorithms andapplications; the mathematics provides the theoretical underpinnings for the applications, while the applications both motivate and illustrate the mathematics. Ofcourse, this dichotomy between theory and applications is not perfectly maintained: the chapters that focus mainly on applications include the developmentof some of the mathematics that is specific to a particular application, and veryoccasionally, some of the chapters that focus mainly on mathematics include adiscussion of related algorithmic ideas as well.In developing the mathematics needed to discuss certain applications, I havetried to strike a reasonable balance between, on the one hand, presenting the absolute minimum required to understand and rigorously analyze the applications, andon the other hand, presenting a full-blown development of the relevant mathematics. In striking this balance, I wanted to be fairly economical and concise, while atthe same time, I wanted to develop enough of the theory so as to present a fairlywell-rounded account, giving the reader more of a feeling for the mathematical“big picture.”The mathematical material covered includes the basics of number theory(including unique factorization, congruences, the distribution of primes, andquadratic reciprocity) and of abstract algebra (including groups, rings, fields, andvector spaces). It also includes an introduction to discrete probability theory — thismaterial is needed to properly treat the topics of probabilistic algorithms and cryptographic applications. The treatment of all these topics is more or less standard,except that the text only deals with commutative structures (i.e., abelian groups andcommutative rings with unity) — this is all that is really needed for the purposes ofthis text, and the theory of these structures is much simpler and more transparentthan that of more general, non-commutative structures.The choice of topics covered in this book was motivated primarily by theirapplicability to computing and communications, especially to the specific areasof cryptography and coding theory. Thus, the book may be useful for referenceor self-study by readers who want to learn about cryptography, or it could also beused as a textbook in a graduate or upper-division undergraduate course on (computational) number theory and algebra, perhaps geared towards computer sciencestudents.Since this is an introduction, and not an encyclopedic reference for specialists,some topics simply could not be covered. One such, whose exclusion will undoubtedly be lamented by some, is the theory of lattices, along with algorithms for andapplications of lattice basis reduction. Another omission is fast algorithms for

xiiPrefaceinteger and polynomial arithmetic — although some of the basic ideas of this topicare developed in the exercises, the main body of the text deals only with classical,quadratic-time algorithms for integer and polynomial arithmetic. However, thereare more advanced texts that cover these topics perfectly well, and they should bereadily accessible to students who have mastered the material in this book.Note that while continued fractions are not discussed, the closely related problem of “rational reconstruction” is covered, along with a number of interestingapplications (which could also be solved using continued fractions).Guidelines for using the text. There are a few sections that are marked with a “( ),” indicating that thematerial covered in that section is a bit technical, and is not needed elsewhere. There are many examples in the text, which form an integral part of thebook, and should not be skipped. There are a number of exercises in the text that serve to reinforce, as wellas to develop important applications and generalizations of, the materialpresented in the text. Some exercises are underlined. These develop important (but usually simple) facts, and should be viewed as an integral part of the book. It is highlyrecommended that the reader work these exercises, or at the very least, readand understand their statements. In solving exercises, the reader is free to use any previously stated resultsin the text, including those in previous exercises. However, except whereotherwise noted, any result in a section marked with a “( ),” or in §5.5,need not and should not be used outside the section in which it appears. There is a very brief “Preliminaries” chapter, which fixes a bit of notationand recalls a few standard facts. This should be skimmed over by the reader. There is an appendix that contains a few useful facts; where such a fact isused in the text, there is a reference such as “see §An,” which refers to theitem labeled “An” in the appendix.The second edition. In preparing this second edition, in addition to correctingerrors in the first edition, I have also made a number of other modifications (hopefully without introducing too many new errors). Many passages have been rewritten to improve the clarity of exposition, and many new exercises and exampleshave been added. Especially in the earlier chapters, the presentation is a bit moreleisurely. Some material has been reorganized. Most notably, the chapter on probability now follows the chapters on groups and rings — this allows a number ofexamples and concepts in the probability chapter that depend on algebra to be

Prefacexiiimore fully developed. Also, a number of topics have been moved forward in thetext, so as to enliven the material with exciting applications as soon as possible;for example, the RSA cryptosystem is now described right after Euclid’s algorithmis presented, and some basic results concerning quadratic residues are introducedright away, in the chapter on congruences. Finally, there are numerous changesin notation and terminology; for example, the notion of a family of objects isnow used consistently throughout the book (e.g., a pairwise independent familyof random variables, a linearly independent family of vectors, a pairwise relativelyprime family of integers, etc.).Feedback. I welcome comments on the book (suggestions for improvement, errorreports, etc.) from readers. Please send your comments tovictor@shoup.net.There is also a web site where further material and information relating to the book(including a list of errata and the latest electronic version of the book) may befound:www.shoup.net/ntb.Acknowledgments. I would like to thank a number of people who volunteeredtheir time and energy in reviewing parts of the book at various stages: Joël Alwen,Siddhartha Annapureddy, John Black, Carl Bosley, Joshua Brody, Jan Camenisch,David Cash, Sherman Chow, Ronald Cramer, Marisa Debowsky, Alex Dent, NellyFazio, Rosario Gennaro, Mark Giesbrecht, Stuart Haber, Kristiyan Haralambiev,Gene Itkis, Charanjit Jutla, Jonathan Katz, Eike Kiltz, Alfred Menezes, IlyaMironov, Phong Nguyen, Antonio Nicolosi, Roberto Oliveira, Leonid Reyzin,Louis Salvail, Berry Schoenmakers, Hovav Shacham, Yair Sovran, Panos Toulis,and Daniel Wichs. A very special thanks goes to George Stephanides, who translated the first edition of the book into Greek and reviewed the entire book in preparation for the second edition. I am also grateful to the National Science Foundationfor their support provided under grants CCR-0310297 and CNS-0716690. Finally,thanks to David Tranah for all his help and advice, and to David and his colleaguesat Cambridge University Press for their progressive attitudes regarding intellectualproperty and open access.New York, June 2008Victor Shoup

PreliminariesWe establish here some terminology, notation, and simple facts that will be usedthroughout the text.Logarithms and exponentialsWe write log x for the natural logarithm of x, and logb x for the logarithm of x tothe base b.We write ex for the usual exponential function, where e 2.71828 is the base ofthe natural logarithm. We may also write exp[x] instead of ex .Sets and familiesWe use standard set-theoretic notation: denotes the empty set; x A means thatx is an element, or member, of the set A; for two sets A, B, A B means thatA is a subset of B (with A possibly equal to B), and A ( B means that A is aproper subset of B (i.e., A B but A 6 B). Further, A B denotes the union ofA and B, A B the intersection of A and B, and A \ B the set of all elements ofA that are not in B. If A is a set with a finite number of elements, then we write A for its size, or cardinality. We use standard notation for describing sets; forexample, if we define the set S : { 2, 1, 0, 1, 2}, then {x2 : x S} {0, 1, 4}and {x S : x is even} { 2, 0, 2}.We write S1 · · · Sn for the Cartesian product of sets S1 , . . . , Sn , which isthe set of all n-tuples (a1 , . . . , an ), where ai Si for i 1, . . . , n. We write S n forthe Cartesian product of n copies of a set S, and for x S, we write x n for theelement of S n consisting of n copies of x. (This notation is a bit non-standard,but we reserve the more standard notation S n for other purposes, so as to avoidambiguity.)xiv

PreliminariesxvA family is a collection of objects, indexed by some set I, called an index set.If for each i I we have an associated object xi , the family of all such objectsis denoted by {xi }i I . Unlike a set, a family may contain duplicates; that is, wemay have xi xj for some pair of indices i, j with i 6 j. Note that while {xi }i Idenotes a family, {xi : i I} denotes the set whose members are the (distinct)xi ’s. If the index set I has some natural order, then we may view the family {xi }i Ias being ordered in the same way; as a special case, a family indexed by a set ofintegers of the form {m, . . . , n} or {m, m 1, . . .} is a sequence, which we may writeas {xi }ni m or {xi } i m . On occasion, if the choice of index set is not important, wemay simply define a family by listing or describing its members, without explicitlydescribing an index set; for example, the phrase “the family of objects a, b, c” maybe interpreted as “the family {xi }3i 1 , where x1 : a, x2 : b, and x3 : c.”Unions and intersections may be generalized to arbitrary families of sets. For afamily {Si }i I of sets, the union is[Si : {x : x Si for some i I},i Iand for I 6 , the intersection is\Si : {x : x Si for all i I}.i INote that if I , the union is by definition , but the intersection is, in general,not well defined. However, in certain applications, one might define it by a special convention; for example, if all sets under consideration are subsets of some“ambient space,” Ω, then the empty intersection is usually taken to be Ω.Two sets A and B are called disjoint if A B . A family {Si }i I of sets iscalled pairwise disjoint if Si Sj for all i, j I with i 6 j. A pairwise disjointfamily of non-empty sets whose union is S is called a partition of S; equivalently,{Si }i I is a partition of a set S if each Si is a non-empty subset of S, and eachelement of S belongs to exactly one Si .NumbersWe use standard notation for various sets of numbers:Z : the set of integers {. . . , 2, 1, 0, 1, 2, . . .},Q : the set of rational numbers {a/b : a, b Z, b 6 0},R : the set of real numbers,C : the set of complex numbers.

xviPreliminariesWe sometimes use the symbols and in simple arithmetic expressionsinvolving real numbers. The interpretation given to such expressions should beobvious: for example, for every x R, we have x , x ,x , , and ( ) ( ) . Expressions such asx · ( ) also make sense, provided x 6 0. However, the expressions and0 · have no sensible interpretation.We use standard notation for specifying intervals of real numbers: for a, b Rwith a b,[a, b] : {x R : a x b},(a, b) : {x R : a x b},[a, b) : {x R : a x b},(a, b] : {x R : a x b}.As usual, this notation is extended to allow a for the intervals (a, b] and(a, b), and b for the intervals [a, b) and (a, b).FunctionsWe write f : A B to indicate that f is a function (also called a map) froma set A to a set B. If A0 A, then f (A0 ) : {f (a) : a A0 } is the image ofA0 under f , and f (A) is simply referred to as the image of f; if B 0 B, thenf 1 (B 0 ) : {a A : f (a) B 0 } is the pre-image of B 0 under f .A function f : A B is called one-to-one or injective if f (a) f (b) impliesa b. The function f is called onto or surjective if f (A) B. The function fis called bijective if it is both injective and surjective; in this case, f is called abijection, or a one-to-one correspondence. If f is bijective, then we may definethe inverse function f 1 : B A, where for b B, f 1 (b) is defined to bethe unique a A such that f (a) b; in this case, f 1 is also a bijection, and(f 1 ) 1 f .If A0 A, then the inclusion map from A0 to A is the function i : A0 A givenby i(a) : a for a A0 ; when A0 A, this is called the identity map on A. IfA0 A, f 0 : A0 B, f : A B, and f 0 (a) f (a) for all a A0 , then we saythat f 0 is the restriction of f to A0 , and that f is an extension of f 0 to A.If f : A B and g : B C are functions, their composition is the functiong f : A C given by (g f )(a) : g(f (a)) for a A. If f : A B is abijection, then f 1 f is the identity map on A, and f f 1 is the identity map onB. Conversely, if f : A B and g : B A are functions such that g f is theidentity map on A and f g is the identity map on B, then f and g are bijections,each being the inverse of the other. If f : A B and g : B C are bijections,then so is g f , and (g f ) 1 f 1 g 1 .Function composition is associative; that is, for all functions f : A B,g : B C, and h : C D, we have (h g) f h (g f ). Thus, we

Preliminariesxviican simply write h g f without any ambiguity. More generally, if we havefunctions fi : Ai Ai 1 for i 1, . . . , n, where n 2, then we may write theircomposition as fn · · · f1 without any ambiguity. If each fi is a bijection, then sois fn · · · f1 , its inverse being f1 1 · · · fn 1 . As a special case of this, if Ai Aand fi f for i 1, . . . , n, then we may write fn · · · f1 as f n . It is understoodthat f 1 f, and that f 0 is the identity map on A. If f is a bijection, then so is f nfor every non-negative integer n, the inverse function of f n being (f 1 )n , whichone may simply write as f n .If f : I S is a function, then we may view f as the family {xi }i I , wherexi : f (i). Conversely, a family {xi }i I , where all of the xi ’s belong to some setS, may be viewed as the function f : I S given by f (i) : xi for i I. Really,functions and families are the same thing, the difference being just one of notationand emphasis.Binary operationsA binary operation ? on a set S is a function from S S to S, where the valueof the function at (a, b) S S is denoted a ? b.A binary operation ? on S is called associative if for all a, b, c S, we have(a ? b) ? c a ? (b ? c). In this case, we can simply write a ? b ? c withoutany ambiguity. More generally, for a1 , . . . , an S, where n 2, we can writea1 ? · · · ? an without any ambiguity.A binary operation ? on S is called commutative if for all a, b S, we havea?b b?a. If the binary operation ? is both associative and commutative, then notonly is the expression a1 ? · · · ? an unambiguous, but its value remains unchangedeven if we re-order the ai ’s.If ? is a binary operation on S, and S 0 S, then S 0 is called closed under ? ifa ? b S 0 for all a, b S 0 .

1Basic properties of the integersThis chapter discusses some of the basic properties of the integers, including thenotions of divisibility and primality, unique factorization into primes, greatest common divisors, and least common multiples.1.1 Divisibility and primalityA central concept in number theory is divisibility.Consider the integers Z {. . . , 2, 1, 0, 1, 2, . . .}. For a, b Z, we say that adivides b if az b for some z Z. If a divides b, we write a b, and we may saythat a is a divisor of b, or that b is a multiple of a, or that b is divisible by a. If adoes not divide b, then we write a - b.We first state some simple facts about divisibility:Theorem 1.1. For all a, b, c Z, we have(i) a a, 1 a, and a 0;(ii) 0 a if and only if a 0;(iii) a b if and only if a b if and only if a b;(iv) a b and a c implies a (b c);(v) a b and b c implies a c.Proof. These properties can be easily derived from the definition of divisibility,using elementary algebraic properties of the integers. For example, a a becausewe can write a · 1 a; 1 a because we can write 1 · a a; a 0 because we canwrite a·0 0. We leave it as an easy exercise for the reader to verify the remainingproperties. 2We make a simple observation: if a b and b 6 0, then 1 a b . Indeed,if az b 6 0 for some integer z, then a 6 0 and z 6 0; it follows that a 1, z 1, and so a a z b .1

2Basic properties of the integersTheorem 1.2. For all a, b Z, we have a b and b a if and only if a b. Inparticular, for every a Z, we have a 1 if and only if a 1.Proof. Clearly, if a b, then a b and b a. So let us assume that a b andb a, and prove that a b. If either of a or b are zero, then the other must be zeroas well. So assume that neither is zero. By the above observation, a b implies a b , and b a implies b a ; thus, a b , and so a b. That proves thefirst statement. The second statement follows from the first by setting b : 1, andnoting that 1 a. 2The product of any two non-zero integers is again non-zero. This implies theusual cancellation law: if a, b, and c are integers such that a 6 0 and ab ac, thenwe must have b c; indeed, ab ac implies a(b c) 0, and so a 6 0 impliesb c 0, and hence b c.Primes and composites. Let n be a positive integer. Trivially, 1 and n divide n.If n 1 and no other positive integers besides 1 and n divide n, then we say n isprime. If n 1 but n is not prime, then we say that n is composite. The number 1is not considered to be either prime or composite. Evidently, n is composite if andonly if n ab for some integers a, b with 1 a n and 1 b n. The first fewprimes are2, 3, 5, 7, 11, 13, 17, . . . .While it is possible to extend the definition of prime and composite to negativeintegers, we shall not do so in this text: whenever we speak of a prime or compositenumber, we mean a positive integer.A basic fact is that every non-zero integer can be expressed as a signed productof primes in an essentially unique way. More precisely:Theorem 1.3 (Fundamental theorem of arithmetic). Every non-zero integer ncan be expressed aseen p11 · · · prr ,where p1 , . . . , pr are distinct primes and e1 , . . . , er are positive integers. Moreover,this expression is unique, up to a reordering of the primes.Note that if n 1 in the above theorem, then r 0, and the product of zeroterms is interpreted (as usual) as 1.The theorem intuitively says that the primes act as the “building blocks” outof which all non-zero integers can be formed by multiplication (and negation).The reader may be so familiar with this fact that he may feel it is somehow “selfevident,” requiring no proof; however, this feeling is simply a delusion, and most

31.1 Divisibility and primalityof the rest of this section and the next are devoted to developing a proof of thistheorem. We shall give a quite leisurely proof, introducing a number of other veryimportant tools and concepts along the way that will be useful later.To prove Theorem 1.3, we may clearly assume that n is positive, since otherwise,we may multiply n by 1 and reduce to the case where n is positive.The proof of the existence part of Theorem 1.3 is easy. This amounts to showingthat every positive integer n can be expressed as a product (possibly empty) ofprimes. We may prove this by induction on n. If n 1, the statement is true, asn is the product of zero primes. Now let n 1, and assume that every positiveinteger smaller than n can be expressed as a product of primes. If n is a prime,then the statement is true, as n is the product of one prime. Assume, then, that nis composite, so that there exist a, b Z with 1 a n, 1 b n, and n ab.By the induction hypothesis, both a and b can be expressed as a product of primes,and so the same holds for n.The uniqueness part of Theorem 1.3 is the hard part. An essential ingredient inthis proof is the following:Theorem 1.4 (Division with remainder property). Let a, b Z with b 0.Then there exist unique q, r Z such that a bq r and 0 r b.Proof. Consider the set S of non-neg

9.2 Generating a random number from a given interval 285 9.3 The generate and test paradigm 287 9.4 Generating a random prime 292 9.5 Generating a random non-increasing sequence 295 9.6 Generating a random factored number 298 9.7 Some complexity theory 302 9.8 Notes 304 10 Probabilistic primality testing 306 10.1 Trial division 306

Related Documents:

theoretical framework for computational dynamics. It allows applications to meet the broad range of computational modeling needs coherently and with fast, structure-based computational algorithms. The paper describes the SOA computational ar-chitecture, the DARTS computational dynamics software, and appl

E. Kwan Lecture 9: Introduction to Computational Chemistry Chem 117 February 22, 2010. Introduction to Computational Chemistry Scope of Lecture Eugene E. Kwan Key Questions the PES introduction to computational chemistry Key References 1. Molecular Modeling Basics Jensen, J.H. CRC Press, 2009. 2. Computati

work/products (Beading, Candles, Carving, Food Products, Soap, Weaving, etc.) ⃝I understand that if my work contains Indigenous visual representation that it is a reflection of the Indigenous culture of my native region. ⃝To the best of my knowledge, my work/products fall within Craft Council standards and expectations with respect to

computational science basics 5 TABLE 1.2 Topics for Two Quarters (20 Weeks) of a computational Physics Course.* Computational Physics I Computational Physics II Week Topics Chapter Week Topics Chapter 1 Nonlinear ODEs 9I, II 1 Ising model, Metropolis 15I algorithm 2 Chaotic

Introduction to Computational Physics Autumn term 2017 402-0809-00L . CFD (Computational Fluid Dynamics) Classical Phase Transitions Solid State (quantum) . „Monte Carlo Simulation in Statistical Physics“ 4th ed. (Springer, 2002) N.J. Giordano: „Computational Physics“ (Wesley, 1996) .

A short introduction to Computational Social Science and Digital Behavioral Data Meet the Experts Best practice methods in Survey Methodology and Computational Social Science . Get materials for capacity building in computational social science and take advantage of our expanding expertise and resources in digital

akuntansi musyarakah (sak no 106) Ayat tentang Musyarakah (Q.S. 39; 29) لًََّز ãَ åِاَ óِ îَخظَْ ó Þَْ ë Þٍجُزَِ ß ا äًَّ àَط لًَّجُرَ íَ åَ îظُِ Ûاَش

Collectively make tawbah to Allāh S so that you may acquire falāḥ [of this world and the Hereafter]. (24:31) The one who repents also becomes the beloved of Allāh S, Âَْ Èِﺑاﻮَّﺘﻟاَّﺐُّ ßُِ çﻪَّٰﻠﻟانَّاِ Verily, Allāh S loves those who are most repenting. (2:22