{"id":261,"date":"2024-07-02T12:20:05","date_gmt":"2024-07-02T12:20:05","guid":{"rendered":"https:\/\/blog.metu.edu.tr\/komer\/?page_id=261"},"modified":"2025-08-18T08:35:52","modified_gmt":"2025-08-18T08:35:52","slug":"m781sp24","status":"publish","type":"page","link":"https:\/\/blog.metu.edu.tr\/komer\/m781sp24\/","title":{"rendered":"Math 781 &#8211; Algorithmic Number Theory &#8211; Spring 2024"},"content":{"rendered":"<p>This page contains some information that can be helpful before you register for the course. After registration, we will use <a href=\"https:\/\/odtuclass.metu.edu.tr\/\" target=\"_blank\" rel=\"noopener\">ODTUclass<\/a>. You should follow <a href=\"https:\/\/odtuclass.metu.edu.tr\/\" target=\"_blank\" rel=\"noopener\">ODTUclass<\/a> and check your emails regularly for important announcements during the semester.<\/p>\n<hr \/>\n<h2>Course Objectives<\/h2>\n<p>The algorithmic number theory connects the classical number theory topics and the theory of computational complexity. In this course, we will study algorithms for finding integer solutions to certain equations, polynomial factorization, primality testing, and integer factorization. We will also study how the objects in question can be efficiently implemented on a computer. Algorithmic number theory problems are important for their mathematical interest and application to secure information exchange, such as RSA and elliptic curve cryptography.<\/p>\n<hr \/>\n<h2>Lectures Hours<\/h2>\n<p>The first meeting is on <b>Wednesday, February 14 at 14:00 in M215<\/b>. The lecture hours will be decided during this meeting.<\/p>\n<hr \/>\n<h2>Homework, Exams, and Grading<\/h2>\n<p>Homework will be assigned on a regular basis, and there will be 3-5 homework sets by the end of the semester. There will be one midterm and a final. <b>The time and the method of each exam will be announced later.<\/b><\/p>\n<ul>\n<li>Midterm, 30 points &#8211; around the 8th week.<\/li>\n<li>Final, 30 points &#8211; during the final exam period.<\/li>\n<li>Homework, 40 points.<\/li>\n<\/ul>\n<p><b>Homework Policy:<\/b> You should write your solutions on your own. You are allowed to consult other people&#8217;s solutions for homework problems, but you must express everything in your own words. If you copy a solution, which is referred to as cheating, you will probably gain nothing and may encounter penalties.<\/p>\n<hr \/>\n<h2>Textbooks and Tentative Course Outline<\/h2>\n<ul>\n<li><b>Cohen, H.<\/b>, A Course In Computational Algebraic Number Theory.<\/li>\n<li><b>Bach E. and Shallit J.<\/b>, Algorithmic Number Theory.<\/li>\n<\/ul>\n<p>Find a tentative outline for the whole semester below. Each week, we will attempt to cover the indicated pages of Cohen&#8217;s textbook.<\/p>\n<p><b>Week 1:<\/b> February 19 &#8211; February 23, Pages 1-7.<br \/>\nIntroduction. Basic programming commands. Big-O notation. <a href=\"https:\/\/pari.math.u-bordeaux.fr\/tutorials.html\">Pari\/GP<\/a> tutorial.<\/p>\n<p><b>Week 2:<\/b> February 26 &#8211; March 1, Pages 8-18.<br \/>\nThe powering algorithms. The Euclidean algorithm for integers.<\/p>\n<p><b>Week 3:<\/b> March 4 &#8211; March 8, Pages 19-30.<br \/>\nThe Chinese remainder theorem. Computations modulo n. Legendre-Jacobi-Kronecker symbol.<\/p>\n<p><b>Week 4:<\/b> March 11 &#8211; March 15, Pages 31-45.<br \/>\nComputing square roots modulo p. Power detection.<\/p>\n<p><b>Week 5:<\/b> March 18 &#8211; March 22, Pages 46-65.<br \/>\nA survey of algorithms for linear algebra.<\/p>\n<p><b>Week 6:<\/b> March 25 &#8211; March 29, Pages 109-117.<br \/>\nBasic algorithms on polynomials. The Euclidean algorithm for polynomials.<\/p>\n<p><b>Week 7:<\/b> April 1 &#8211; April 5, Pages 124-132.<br \/>\nFactorization of polynomials over finite fields.<\/p>\n<p><b>Holiday Break<\/b><\/p>\n<p><b>Week 8:<\/b> April 15 &#8211; April 19, Pages 133-141.<br \/>\nFactorization of polynomials over rational numbers.<\/p>\n<p><b>Week 9:<\/b> April 22 &#8211; April 26, Pages 153-167.<br \/>\nAlgebraic numbers, trace, norm, discriminants, and integral bases.<\/p>\n<p><b>Week 10:<\/b> April 29 &#8211; May 3, Pages 223-251.<br \/>\nImaginary quadratic fields.<\/p>\n<p><b>Week 11:<\/b> May 6 &#8211; May 10, Pages 262-278.<br \/>\nReal quadratic fields.<\/p>\n<p><b>Week 12:<\/b> May 13 &#8211; May 17, Pages 419-444.<br \/>\nHistorical examples of factoring and primality testing.<\/p>\n<p><b>Week 13:<\/b> May 20 &#8211; May 24, Pages 445-476.<br \/>\nModern primality tests.<\/p>\n<p><b>Week 14:<\/b> May 27 &#8211; May 31, Pages 477-504.<br \/>\nModern factoring methods.<\/p>\n<hr \/>\n<h2>PARI\/GP<\/h2>\n<p>The software <a href=\"http:\/\/pari.math.u-bordeaux.fr\/\">PARI\/GP<\/a> is very simple to learn and extremely strong to do computations with.<\/p>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>This page contains some information that can be helpful before you register for the course. After registration, we will use [&hellip;]<\/p>\n","protected":false},"author":584,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-261","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/pages\/261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/users\/584"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/comments?post=261"}],"version-history":[{"count":0,"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/pages\/261\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.metu.edu.tr\/komer\/wp-json\/wp\/v2\/media?parent=261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}