Ramanujan is recognized as one of the great number theorists of the twentieth century. Here now is the first book to provide an introduction to his work in number theory. Most of Ramanujan's work in number theory arose out of $q$-series and theta functions. This book provides an introduction to these two important subjects and to some of the topics in number theory that are inextricably intertwined with them, including the theory of partitions, sums of squares and triangular numbers, and the Ramanujan tau function. The majority of the results discussed here are originally due to Ramanujan or were rediscovered by him. Ramanujan did not leave us proofs of the thousands of theorems he recorded in his notebooks, and so it cannot be claimed that many of the proofs given in this book are those found by Ramanujan. However, they are all in the spirit of his mathematics. The subjects examined in this book have a rich history dating back to Euler and Jacobi, and they continue to be focal points of contemporary mathematical research. Therefore, at the end of each of the seven chapters, Berndt discusses the results established in the chapter and places them in both historical and contemporary contexts. The book is suitable for advanced undergraduates and beginning graduate students interested in number theory.
Focusing on a very active area of mathematical research in the last decade, Combinatorics of Set Partitions presents methods used in the combinatorics of pattern avoidance and pattern enumeration in set partitions. Designed for students and researchers in discrete mathematics, the book is a one-stop reference on the results and research activities of set partitions from 1500 A.D. to today. Each chapter gives historical perspectives and contrasts different approaches, including generating functions, kernel method, block decomposition method, generating tree, and Wilf equivalences. Methods and definitions are illustrated with worked examples and MapleTM code. End-of-chapter problems often draw on data from published papers and the author’s extensive research in this field. The text also explores research directions that extend the results discussed. C++ programs and output tables are listed in the appendices and available for download on the author’s web page.
This is a textbook for an introductory combinatorics course that can take up one or two semesters. An extensive list of problems, ranging from routine exercises to research questions, is included. In each section, there are also exercises that contain material not explicitly discussed in the preceding text, so as to provide instructors with extra choices if they want to shift the emphasis of their course. Just as with the first edition, the new edition walks the reader through the classic parts of combinatorial enumeration and graph theory, while also discussing some recent progress in the area: on the one hand, providing material that will help students learn the basic techniques, and on the other hand, showing that some questions at the forefront of research are comprehensible and accessible for the talented and hard-working undergraduate. The basic topics discussed are: the twelvefold way, cycles in permutations, the formula of inclusion and exclusion, the notion of graphs and trees, matchings and Eulerian and Hamiltonian cycles. The selected advanced topics are: Ramsey theory, pattern avoidance, the probabilistic method, partially ordered sets, and algorithms and complexity. As the goal of the book is to encourage students to learn more combinatorics, every effort has been made to provide them with a not only useful, but also enjoyable and engaging reading.
Combinatorics, Second Edition is a well-rounded, general introduction to the subjects of enumerative, bijective, and algebraic combinatorics. The textbook emphasizes bijective proofs, which provide elegant solutions to counting problems by setting up one-to-one correspondences between two sets of combinatorial objects. The author has written the textbook to be accessible to readers without any prior background in abstract algebra or combinatorics. Part I of the second edition develops an array of mathematical tools to solve counting problems: basic counting rules, recursions, inclusion-exclusion techniques, generating functions, bijective proofs, and linear algebraic methods. These tools are used to analyze combinatorial structures such as words, permutations, subsets, functions, graphs, trees, lattice paths, and much more. Part II cover topics in algebraic combinatorics including group actions, permutation statistics, symmetric functions, and tableau combinatorics. This edition provides greater coverage of the use of ordinary and exponential generating functions as a problem-solving tool. Along with two new chapters, several new sections, and improved exposition throughout, the textbook is brimming with many examples and exercises of various levels of difficulty.
Analytic combinatorics aims to enable precise quantitative predictions of the properties of large combinatorial structures. The theory has emerged over recent decades as essential both for the analysis of algorithms and for the study of scientific models in many disciplines, including probability theory, statistical physics, computational biology, and information theory. With a careful combination of symbolic enumeration methods and complex analysis, drawing heavily on generating functions, results of sweeping generality emerge that can be applied in particular to fundamental structures such as permutations, sequences, strings, walks, paths, trees, graphs and maps. This account is the definitive treatment of the topic. The authors give full coverage of the underlying mathematics and a thorough treatment of both classical and modern applications of the theory. The text is complemented with exercises, examples, appendices and notes to aid understanding. The book can be used for an advanced undergraduate or a graduate course, or for self-study.
This book provides algorithms and ideas for computationalists. Subjects treated include low-level algorithms, bit wizardry, combinatorial generation, fast transforms like the Fourier transform, and fast arithmetic for both real numbers and finite fields. Various optimization techniques are described and the actual performance of many given implementations is examined. The focus is on material that does not usually appear in textbooks on algorithms. The implementations are done in C++ and the GP language, written for POSIX-compliant platforms such as the Linux and BSD operating systems.
The intended readership includes both undergraduate and graduate students majoring in computer science as well as researchers in the computer science area. The book is suitable either as a textbook or as a supplementary book in algorithm courses. Over 400 computational problems are covered with various algorithms to tackle them. Rather than providing students simply with the best known algorithm for a problem, this book presents various algorithms for readers to master various algorithm design paradigms. Beginners in computer science can train their algorithm design skills via trivial algorithms on elementary problem examples. Graduate students can test their abilities to apply the algorithm design paradigms to devise an efficient algorithm for intermediate-level or challenging problems. Key Features: Dictionary of computational problems: A table of over 400 computational problems with more than 1500 algorithms is provided. Indices and Hyperlinks: Algorithms, computational problems, equations, figures, lemmas, properties, tables, and theorems are indexed with unique identification numbers and page numbers in the printed book and hyperlinked in the e-book version. Extensive Figures: Over 435 figures illustrate the algorithms and describe computational problems. Comprehensive exercises: More than 352 exercises help students to improve their algorithm design and analysis skills. The answers for most questions are available in the accompanying solution manual.