Introduction to Computer Algebra

Introduction to Computer Algebra

Introduction to Computer Algebra Carlos D'Andrea Oslo, December 1st 2016 Carlos D'Andrea Introduction to Computer Algebra What is Computer Algebra? Carlos D'Andrea Introduction to Computer Algebra What is Computer Algebra? Carlos D'Andrea Introduction to Computer Algebra Computer Algebra Carlos D'Andrea Introduction to Computer Algebra Computer Algebra Carlos D'Andrea Introduction to Computer Algebra Computer Algebra Carlos D'Andrea Introduction to Computer Algebra Computer Algebra Carlos D'Andrea Introduction to Computer Algebra Computer Algebra Carlos D'Andrea Introduction to Computer Algebra \...is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects..." From Wikipedia (Symbolic Computation) Carlos D'Andrea Introduction to Computer Algebra algorithms and software for manipulating mathematical expressions and other mathematical objects..." From Wikipedia (Symbolic Computation) \...is a scientific area that refers to the study and development of Carlos D'Andrea Introduction to Computer Algebra for manipulating mathematical expressions and other mathematical objects..." From Wikipedia (Symbolic Computation) \...is a scientific area that refers to the study and development of algorithms and software Carlos D'Andrea Introduction to Computer Algebra From Wikipedia (Symbolic Computation) \...is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects..." Carlos D'Andrea Introduction to Computer Algebra make it effective and to discover efficient algorithms to implement this effectiveness” From Wikipedia (Symbolic Computation) \A large part of the work in the field consists in revisiting classical algebra in order to Carlos D'Andrea Introduction to Computer Algebra From Wikipedia (Symbolic Computation) \A large part of the work in the field consists in revisiting classical algebra in order to make it effective and to discover efficient algorithms to implement this effectiveness” Carlos D'Andrea Introduction to Computer Algebra Boolean decisions:= ; =6 ; (>; <) Arithmetic Operations over \computable" rings: Z; Q; Fq; Q[x1;:::; xn];::: Finite-Dimensional Linear Algebra “Effective” Operations Carlos D'Andrea Introduction to Computer Algebra Arithmetic Operations over \computable" rings: Z; Q; Fq; Q[x1;:::; xn];::: Finite-Dimensional Linear Algebra “Effective” Operations Boolean decisions:= ; =6 ; (>; <) Carlos D'Andrea Introduction to Computer Algebra Finite-Dimensional Linear Algebra “Effective” Operations Boolean decisions:= ; =6 ; (>; <) Arithmetic Operations over \computable" rings: Z; Q; Fq; Q[x1;:::; xn];::: Carlos D'Andrea Introduction to Computer Algebra “Effective” Operations Boolean decisions:= ; =6 ; (>; <) Arithmetic Operations over \computable" rings: Z; Q; Fq; Q[x1;:::; xn];::: Finite-Dimensional Linear Algebra Carlos D'Andrea Introduction to Computer Algebra Given A; B 2 Z;compute the product A · B 2 Z What is \an algorithm" for CA? Carlos D'Andrea Introduction to Computer Algebra compute the product A · B 2 Z What is \an algorithm" for CA? Given A; B 2 Z; Carlos D'Andrea Introduction to Computer Algebra What is \an algorithm" for CA? Given A; B 2 Z;compute the product A · B 2 Z Carlos D'Andrea Introduction to Computer Algebra What is \an algorithm" for CA? Given A; B 2 Z;compute the product A · B 2 Z Carlos D'Andrea Introduction to Computer Algebra Output: A · B 2 Z Procedure: Example: The Multiplication Algorithm Input: A; B 2 Z Carlos D'Andrea Introduction to Computer Algebra Procedure: Example: The Multiplication Algorithm Input: A; B 2 Z Output: A · B 2 Z Carlos D'Andrea Introduction to Computer Algebra Example: The Multiplication Algorithm Input: A; B 2 Z Output: A · B 2 Z Procedure: Carlos D'Andrea Introduction to Computer Algebra Effective: the procedure must finish after a finite number of operations, and give the right answer Efficient: the procedure must be as short as possible and use as less space as possible Effective and Efficient Carlos D'Andrea Introduction to Computer Algebra the procedure must finish after a finite number of operations, and give the right answer Efficient: the procedure must be as short as possible and use as less space as possible Effective and Efficient Effective: Carlos D'Andrea Introduction to Computer Algebra and give the right answer Efficient: the procedure must be as short as possible and use as less space as possible Effective and Efficient Effective: the procedure must finish after a finite number of operations, Carlos D'Andrea Introduction to Computer Algebra Efficient: the procedure must be as short as possible and use as less space as possible Effective and Efficient Effective: the procedure must finish after a finite number of operations, and give the right answer Carlos D'Andrea Introduction to Computer Algebra the procedure must be as short as possible and use as less space as possible Effective and Efficient Effective: the procedure must finish after a finite number of operations, and give the right answer Efficient: Carlos D'Andrea Introduction to Computer Algebra and use as less space as possible Effective and Efficient Effective: the procedure must finish after a finite number of operations, and give the right answer Efficient: the procedure must be as short as possible Carlos D'Andrea Introduction to Computer Algebra Effective and Efficient Effective: the procedure must finish after a finite number of operations, and give the right answer Efficient: the procedure must be as short as possible and use as less space as possible Carlos D'Andrea Introduction to Computer Algebra of N digits Output: A · B 2 Z Output's size is around2 N digits High school algorithm takes around O(N2) operations It is effective, but is it efficient? Short and less Space Input: A; B 2 Z Carlos D'Andrea Introduction to Computer Algebra Output: A · B 2 Z Output's size is around2 N digits High school algorithm takes around O(N2) operations It is effective, but is it efficient? Short and less Space Input: A; B 2 Z of N digits Carlos D'Andrea Introduction to Computer Algebra Output's size is around2 N digits High school algorithm takes around O(N2) operations It is effective, but is it efficient? Short and less Space Input: A; B 2 Z of N digits Output: A · B 2 Z Carlos D'Andrea Introduction to Computer Algebra High school algorithm takes around O(N2) operations It is effective, but is it efficient? Short and less Space Input: A; B 2 Z of N digits Output: A · B 2 Z Output's size is around2 N digits Carlos D'Andrea Introduction to Computer Algebra It is effective, but is it efficient? Short and less Space Input: A; B 2 Z of N digits Output: A · B 2 Z Output's size is around2 N digits High school algorithm takes around O(N2) operations Carlos D'Andrea Introduction to Computer Algebra , but is it efficient? Short and less Space Input: A; B 2 Z of N digits Output: A · B 2 Z Output's size is around2 N digits High school algorithm takes around O(N2) operations It is effective Carlos D'Andrea Introduction to Computer Algebra Short and less Space Input: A; B 2 Z of N digits Output: A · B 2 Z Output's size is around2 N digits High school algorithm takes around O(N2) operations It is effective, but is it efficient? Carlos D'Andrea Introduction to Computer Algebra Efficient Multiplication Karatsuba's algorithm (1960): O(N1:585) Carlos D'Andrea Introduction to Computer Algebra Sch¨onhage-Strassen'salgorithm (1971): O(N log N log log N) Efficient Multiplication Toom-Cook's algorithm (1966): O(Nlog(2k−1)= log k); k ≥ 3 Carlos D'Andrea Introduction to Computer Algebra Efficient Multiplication Toom-Cook's algorithm (1966): O(Nlog(2k−1)= log k); k ≥ 3 Sch¨onhage-Strassen'salgorithm (1971): O(N log N log log N) Carlos D'Andrea Introduction to Computer Algebra Is it the most efficient?? Efficient Multiplication F¨urer'salgorithm (2007): O(N log N 2O(log∗ N))) Carlos D'Andrea Introduction to Computer Algebra Efficient Multiplication F¨urer'salgorithm (2007): O(N log N 2O(log∗ N))) Is it the most efficient?? Carlos D'Andrea Introduction to Computer Algebra \As numerical software are highly efficient for approximate numerical computation, it is common, in computer algebra, to emphasize on exact computation with exactly represented data" Numerical vs Computer Algebra Carlos D'Andrea Introduction to Computer Algebra , to emphasize on exact computation with exactly represented data" Numerical vs Computer Algebra \As numerical software are highly efficient for approximate numerical computation, it is common, in computer algebra Carlos D'Andrea Introduction to Computer Algebra Numerical vs Computer Algebra \As numerical software are highly efficient for approximate numerical computation, it is common, in computer algebra, to emphasize on exact computation with exactly represented data" Carlos D'Andrea Introduction to Computer Algebra Numerical \solution": −2:0385; −0:790734; −0:275834; 1:15098; 1:95408 Numerical vs Computer Algebra Compute the roots of x5 − 5x3 + 4x + 1 Carlos D'Andrea Introduction to Computer Algebra −2:0385; −0:790734; −0:275834; 1:15098; 1:95408 Numerical vs Computer Algebra Compute the roots of x5 − 5x3 + 4x + 1 Numerical \solution": Carlos D'Andrea Introduction to Computer Algebra Numerical vs Computer Algebra Compute the roots of x5 − 5x3 + 4x + 1 Numerical \solution": −2:0385; −0:790734; −0:275834; 1:15098; 1:95408 Carlos D'Andrea Introduction to Computer Algebra x 5 − 5x 3 + 4x + 1 [−2:5; −2]; [−2; −0:5]; [−0:5; 0]; [0; 1:5]; [1:5; 2] f+; −; +; −; +g; {−; +; +; −; +g; f+; +; −; −; +g; {−; −; +; +;

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    215 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us