The Piranha computer algebra system. introduction and implementation details

Size: px
Start display at page:

Download "The Piranha computer algebra system. introduction and implementation details"

Transcription

1 : introduction and implementation details Advanced Concepts Team European Space Agency (ESTEC) Course on Differential Equations and Computer Algebra Estella, Spain October 29-30, 2010

2 Outline A Brief Overview 1 A Brief Overview 2 3 4

3 Outline A Brief Overview 1 A Brief Overview 2 3 4

4 Piranha in a Nutshell It is an algebraic manipulation framework Around SLOC (Single Lines Of Code) Written in C++ and object-oriented It uses extensively existing Free-Software tools and libraries (Boost, GMP, Python,... ) Multiplatform (GNU/Linux, Windows, BSD) Free-Software itself

5 for Celestial Mechanics Polynomials: Fourier series: Poisson series: i i j C i p i i ( ) cos C i (i t) sin ( ) cos C i,j p j (i t) sin Echeloned Poisson series: C i,j,k p k i j k l (l d) δ j,l ( ) cos (i t) sin

6 The Framework 1/2 A Brief Overview Q: Can we manipulate these algebraic structures in a general and unified way? The Basic Ideas 1 Series are collections of terms 2 Terms are coefficient-key pairs 3 Terms are uniquely identified by their keys: t 1 t 2 t 1.key t 2.key 4 A key can appear at most once in a series, i.e., a series is a set

7 The Framework 1/2 A Brief Overview Q: Can we manipulate these algebraic structures in a general and unified way? The Basic Ideas 1 Series are collections of terms 2 Terms are coefficient-key pairs 3 Terms are uniquely identified by their keys: t 1 t 2 t 1.key t 2.key 4 A key can appear at most once in a series, i.e., a series is a set

8 The Framework 2/2 A Brief Overview

9 Object-Oriented and Generic Programming The C++ Language High performance and high-level design are not mutually exclusive OO: inheritance, polymorphism, encapsulation, modularity Generic programming: type-agnostic classes Template meta-programming (aka modern C++, see Alexandrescu [2001]): OO features with zero overhead, efficient compile-time optimizations and checks The Bottom Line It is possible to share a consistent portion of the implementation among the supported algebraic structures and reduce code duplication to a minimum without sacrificing performance

10 Object-Oriented and Generic Programming The C++ Language High performance and high-level design are not mutually exclusive OO: inheritance, polymorphism, encapsulation, modularity Generic programming: type-agnostic classes Template meta-programming (aka modern C++, see Alexandrescu [2001]): OO features with zero overhead, efficient compile-time optimizations and checks The Bottom Line It is possible to share a consistent portion of the implementation among the supported algebraic structures and reduce code duplication to a minimum without sacrificing performance

11 A Quick SLOC Analysis 1/2 Gregoire & Colbert Chapront [2003]: Fourier and Poisson series manipulators Written in Fortran 90 Feature set comparable with Piranha s 4000 SLOC each (Piranha is SLOC) Piranha supports additionally: polynomials as top-level series multiple representations for keys and numerical coefficients (complex, reals, integers, rationals, arbitrary-size, etc.) 12 different manipulators are currently implemented within the framework (other combinations can be trivially added)

12 A Quick SLOC Analysis 2/2 Piranha s SLOC count divided by directory:

13 Pyranha A Brief Overview Python bindings for Piranha Uses the Boost.Python library Compiled-code performance with the flexibility of an interpreted language Python is a real computer language (not some obscure ad-hoc language) Many possibilities for extensions Interactive graphical environment with IPython, matplotlib and PyQt4

14 Outline A Brief Overview 1 A Brief Overview 2 3 4

15 Schoolbook multiplication Given: a(x) = a 1 x + a 0, b(x) = b 1 x + b 0, compute a(x) b(x) as Complexity: O ( n 2). a 0 b 0 + a 0 b 1 x + a 1 b 0 x + a 1 b 1 x 2.

16 Asymptotically fast multiplication: Karatsuba Karatsuba s algorithm: given a(x) = a 1 x + a 0, b(x) = b 1 x + b 0, express a(x) b(x) as a 0 b 0 + [(a 0 + a 1 ) (b 0 + b 1 ) a 0 b 0 a 1 b 1 ] x + a 1 b 1 x 2, with 3 multiplications vs 4 of the classical method. Complexity: O ( n log 3) 2.

17 Asymptotically fast multiplication: FFT Convert polynomials to vector of coefficients Compute the FFT of both vectors Pointwise multiplication of the FFTed vectors Inverse FFT to recover the result of the multiplication Complexity: O (n log n).

18 Alas... A Brief Overview Issues Both Karatsuba and FFT: have a high constant factor in complexity which make them unsuitable for typical problems in Celestial Mechanics rely on the assumption that the polynomials being multiplied are dense perform poorly on real-world multivariate polynomials Bottom line: back to schoolbook multiplication.

19 Kronecker s trick A Brief Overview z y x Code Idea: code the sets of exponents into integer values Maintain lexicographic order Homomorphism between the vector space of integers and Z which preserves addition and subtraction Operations on integer vectors are reduced to O (1) complexity Codes can be used as perfect hash values or indices in an array Series are encoded on-the-fly during multiplication

20 Exploiting modern computer designs memory hierarchies (to the whiteboard) spatial locality of reference temporal locality of reference prefetcher multi-core CPUs parallelization (multi-thread)

21 Memory hierarchy A Brief Overview

22 Dense multiplication use Kronecker exponents directly as indices in an array use cache-blocking to promote temporal locality of reference monomial ordering is prefetch-friendly when applicable, top performance is achieved

23 Memory access patterns Unoptimized vs Optimized

24 Sparse multiplication use Kronecker exponents directly as hash values optimized hash table: items stored in sequential and contiguous buckets order input polynomials according to exponent modulo table size cache-blocking

25 Parallelization A Brief Overview P 1 P n 3 n 2 n 1 n n 2 n 1 n n 1 n n cache-blocking provides a natural way to avoid contention interval arithmetics on the exponents used to guarantee write-in memory areas are disjoint

26 Outline A Brief Overview 1 A Brief Overview 2 3 4

27 A Brief Overview Fateman s dense benchmark. Compute: s(s + 1), s = (1 + x + y + z + t) x = term-by-term multiplications Final polynomial length = Monagan-Pearce s sparse benchmark. Compute: f g, f = (1 + x + y + 2z 2 + 3t 3 + 5u 5 ) 12, g = (1 + u + t + 2z 2 + 3y 3 + 5x 5 ) x 6188 = term-by-term multiplications Final polynomial length =

28 Benchmark results Test Coefficient System Time ccpm Fateman double Core2Quad 4.29s 4.8 Fateman double Core2Duo 5.62s 4.6 Fateman double PPC s 4.6 Fateman double Xeon 3.73s 4.6 Fateman double Atom 20.15s 15.0 Fateman GMP mpz Core2Quad 67.90s 75.8 Fateman 61-bit integer SDMP-Core s 67.2 Fateman 61-bit integer SDMP-Corei s 85.3 ELP double Core2Quad 15.62s 10.3 MP-sparse double Core2Quad 1.71s MP-sparse double Xeon 1.59s MP-sparse double Corei7 1.15s 88.0 MP-sparse 37-bit integer SDMP-Core2 1.86s MP-sparse 37-bit integer SDMP-Corei7 1.56s 108.4

29 Benchmark results: parallelization dense case: 90% of maximum theoretical speedup sparse case: 70% of maximum theoretical speedup SDMP gets (super)linear speedup in the dense case, but does not scale up in the sparse case possible improvements: reduce synchronization barriers make algorithm non-deterministic...

30 Outline A Brief Overview 1 A Brief Overview 2 3 4

31 Future Steps Code refactor and cruft-elimination Extension of the Python bindings, GUI improvements, etc. Documentation Create a community

Higher Education Math Placement

Higher Education Math Placement Higher Education Math Placement Placement Assessment Problem Types 1. Whole Numbers, Fractions, and Decimals 1.1 Operations with Whole Numbers Addition with carry Subtraction with borrowing Multiplication

More information

CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA

CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical

More information

( ) FACTORING. x In this polynomial the only variable in common to all is x.

( ) FACTORING. x In this polynomial the only variable in common to all is x. FACTORING Factoring is similar to breaking up a number into its multiples. For example, 10=5*. The multiples are 5 and. In a polynomial it is the same way, however, the procedure is somewhat more complicated

More information

High-Performance Modular Multiplication on the Cell Processor

High-Performance Modular Multiplication on the Cell Processor High-Performance Modular Multiplication on the Cell Processor Joppe W. Bos Laboratory for Cryptologic Algorithms EPFL, Lausanne, Switzerland joppe.bos@epfl.ch 1 / 19 Outline Motivation and previous work

More information

Faster polynomial multiplication via multipoint Kronecker substitution

Faster polynomial multiplication via multipoint Kronecker substitution Faster polynomial multiplication via multipoint Kronecker substitution 5th February 2009 Kronecker substitution KS = an algorithm for multiplying polynomials in Z[x]. Example: f = 41x 3 + 49x 2 + 38x +

More information

Florida Math 0028. Correlation of the ALEKS course Florida Math 0028 to the Florida Mathematics Competencies - Upper

Florida Math 0028. Correlation of the ALEKS course Florida Math 0028 to the Florida Mathematics Competencies - Upper Florida Math 0028 Correlation of the ALEKS course Florida Math 0028 to the Florida Mathematics Competencies - Upper Exponents & Polynomials MDECU1: Applies the order of operations to evaluate algebraic

More information

Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.

Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any. Algebra 2 - Chapter Prerequisites Vocabulary Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any. P1 p. 1 1. counting(natural) numbers - {1,2,3,4,...}

More information

Alum Rock Elementary Union School District Algebra I Study Guide for Benchmark III

Alum Rock Elementary Union School District Algebra I Study Guide for Benchmark III Alum Rock Elementary Union School District Algebra I Study Guide for Benchmark III Name Date Adding and Subtracting Polynomials Algebra Standard 10.0 A polynomial is a sum of one ore more monomials. Polynomial

More information

The mathematics of RAID-6

The mathematics of RAID-6 The mathematics of RAID-6 H. Peter Anvin 1 December 2004 RAID-6 supports losing any two drives. The way this is done is by computing two syndromes, generally referred P and Q. 1 A quick

More information

Indiana State Core Curriculum Standards updated 2009 Algebra I

Indiana State Core Curriculum Standards updated 2009 Algebra I Indiana State Core Curriculum Standards updated 2009 Algebra I Strand Description Boardworks High School Algebra presentations Operations With Real Numbers Linear Equations and A1.1 Students simplify and

More information

ECE 842 Report Implementation of Elliptic Curve Cryptography

ECE 842 Report Implementation of Elliptic Curve Cryptography ECE 842 Report Implementation of Elliptic Curve Cryptography Wei-Yang Lin December 15, 2004 Abstract The aim of this report is to illustrate the issues in implementing a practical elliptic curve cryptographic

More information

1.3 Polynomials and Factoring

1.3 Polynomials and Factoring 1.3 Polynomials and Factoring Polynomials Constant: a number, such as 5 or 27 Variable: a letter or symbol that represents a value. Term: a constant, variable, or the product or a constant and variable.

More information

Algebra and Geometry Review (61 topics, no due date)

Algebra and Geometry Review (61 topics, no due date) Course Name: Math 112 Credit Exam LA Tech University Course Code: ALEKS Course: Trigonometry Instructor: Course Dates: Course Content: 159 topics Algebra and Geometry Review (61 topics, no due date) Properties

More information

A simple and fast algorithm for computing exponentials of power series

A simple and fast algorithm for computing exponentials of power series A simple and fast algorithm for computing exponentials of power series Alin Bostan Algorithms Project, INRIA Paris-Rocquencourt 7815 Le Chesnay Cedex France and Éric Schost ORCCA and Computer Science Department,

More information

BookTOC.txt. 1. Functions, Graphs, and Models. Algebra Toolbox. Sets. The Real Numbers. Inequalities and Intervals on the Real Number Line

BookTOC.txt. 1. Functions, Graphs, and Models. Algebra Toolbox. Sets. The Real Numbers. Inequalities and Intervals on the Real Number Line College Algebra in Context with Applications for the Managerial, Life, and Social Sciences, 3rd Edition Ronald J. Harshbarger, University of South Carolina - Beaufort Lisa S. Yocco, Georgia Southern University

More information

1.3 Algebraic Expressions

1.3 Algebraic Expressions 1.3 Algebraic Expressions A polynomial is an expression of the form: a n x n + a n 1 x n 1 +... + a 2 x 2 + a 1 x + a 0 The numbers a 1, a 2,..., a n are called coefficients. Each of the separate parts,

More information

Basics of Polynomial Theory

Basics of Polynomial Theory 3 Basics of Polynomial Theory 3.1 Polynomial Equations In geodesy and geoinformatics, most observations are related to unknowns parameters through equations of algebraic (polynomial) type. In cases where

More information

Algebra I. In this technological age, mathematics is more important than ever. When students

Algebra I. In this technological age, mathematics is more important than ever. When students In this technological age, mathematics is more important than ever. When students leave school, they are more and more likely to use mathematics in their work and everyday lives operating computer equipment,

More information

HIBBING COMMUNITY COLLEGE COURSE OUTLINE

HIBBING COMMUNITY COLLEGE COURSE OUTLINE HIBBING COMMUNITY COLLEGE COURSE OUTLINE COURSE NUMBER & TITLE: - Beginning Algebra CREDITS: 4 (Lec 4 / Lab 0) PREREQUISITES: MATH 0920: Fundamental Mathematics with a grade of C or better, Placement Exam,

More information

PRE-CALCULUS GRADE 12

PRE-CALCULUS GRADE 12 PRE-CALCULUS GRADE 12 [C] Communication Trigonometry General Outcome: Develop trigonometric reasoning. A1. Demonstrate an understanding of angles in standard position, expressed in degrees and radians.

More information

Algebra 1 Course Information

Algebra 1 Course Information Course Information Course Description: Students will study patterns, relations, and functions, and focus on the use of mathematical models to understand and analyze quantitative relationships. Through

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information

Pre-Algebra 2008. Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

Pre-Algebra 2008. Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems Academic Content Standards Grade Eight Ohio Pre-Algebra 2008 STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express large numbers and small

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

Polynomial Operations and Factoring

Polynomial Operations and Factoring Algebra 1, Quarter 4, Unit 4.1 Polynomial Operations and Factoring Overview Number of instructional days: 15 (1 day = 45 60 minutes) Content to be learned Identify terms, coefficients, and degree of polynomials.

More information

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding Compiling Object Oriented Languages What is an Object-Oriented Programming Language? Last time Dynamic compilation Today Introduction to compiling object oriented languages What are the issues? Objects

More information

How To Write A Hexadecimal Program

How To Write A Hexadecimal Program The mathematics of RAID-6 H. Peter Anvin First version 20 January 2004 Last updated 20 December 2011 RAID-6 supports losing any two drives. syndromes, generally referred P and Q. The way

More information

Extra Credit Assignment Lesson plan. The following assignment is optional and can be completed to receive up to 5 points on a previously taken exam.

Extra Credit Assignment Lesson plan. The following assignment is optional and can be completed to receive up to 5 points on a previously taken exam. Extra Credit Assignment Lesson plan The following assignment is optional and can be completed to receive up to 5 points on a previously taken exam. The extra credit assignment is to create a typed up lesson

More information

Factoring Quadratic Expressions

Factoring Quadratic Expressions Factoring the trinomial ax 2 + bx + c when a = 1 A trinomial in the form x 2 + bx + c can be factored to equal (x + m)(x + n) when the product of m x n equals c and the sum of m + n equals b. (Note: the

More information

Performance Results for Two of the NAS Parallel Benchmarks

Performance Results for Two of the NAS Parallel Benchmarks Performance Results for Two of the NAS Parallel Benchmarks David H. Bailey Paul O. Frederickson NAS Applied Research Branch RIACS NASA Ames Research Center NASA Ames Research Center Moffett Field, CA 94035

More information

South Carolina College- and Career-Ready (SCCCR) Pre-Calculus

South Carolina College- and Career-Ready (SCCCR) Pre-Calculus South Carolina College- and Career-Ready (SCCCR) Pre-Calculus Key Concepts Arithmetic with Polynomials and Rational Expressions PC.AAPR.2 PC.AAPR.3 PC.AAPR.4 PC.AAPR.5 PC.AAPR.6 PC.AAPR.7 Standards Know

More information

Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard Academic Content Standards Grade Eight and Grade Nine Ohio Algebra 1 2008 Grade Eight STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express

More information

Factorization Methods: Very Quick Overview

Factorization Methods: Very Quick Overview Factorization Methods: Very Quick Overview Yuval Filmus October 17, 2012 1 Introduction In this lecture we introduce modern factorization methods. We will assume several facts from analytic number theory.

More information

5.3 SOLVING TRIGONOMETRIC EQUATIONS. Copyright Cengage Learning. All rights reserved.

5.3 SOLVING TRIGONOMETRIC EQUATIONS. Copyright Cengage Learning. All rights reserved. 5.3 SOLVING TRIGONOMETRIC EQUATIONS Copyright Cengage Learning. All rights reserved. What You Should Learn Use standard algebraic techniques to solve trigonometric equations. Solve trigonometric equations

More information

What are the place values to the left of the decimal point and their associated powers of ten?

What are the place values to the left of the decimal point and their associated powers of ten? The verbal answers to all of the following questions should be memorized before completion of algebra. Answers that are not memorized will hinder your ability to succeed in geometry and algebra. (Everything

More information

Florida Algebra 1 End-of-Course Assessment Item Bank, Polk County School District

Florida Algebra 1 End-of-Course Assessment Item Bank, Polk County School District Benchmark: MA.912.A.2.3; Describe the concept of a function, use function notation, determine whether a given relation is a function, and link equations to functions. Also assesses MA.912.A.2.13; Solve

More information

MATH 095, College Prep Mathematics: Unit Coverage Pre-algebra topics (arithmetic skills) offered through BSE (Basic Skills Education)

MATH 095, College Prep Mathematics: Unit Coverage Pre-algebra topics (arithmetic skills) offered through BSE (Basic Skills Education) MATH 095, College Prep Mathematics: Unit Coverage Pre-algebra topics (arithmetic skills) offered through BSE (Basic Skills Education) Accurately add, subtract, multiply, and divide whole numbers, integers,

More information

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year.

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year. This document is designed to help North Carolina educators teach the Common Core (Standard Course of Study). NCDPI staff are continually updating and improving these tools to better serve teachers. Algebra

More information

Operations with Algebraic Expressions: Multiplication of Polynomials

Operations with Algebraic Expressions: Multiplication of Polynomials Operations with Algebraic Expressions: Multiplication of Polynomials The product of a monomial x monomial To multiply a monomial times a monomial, multiply the coefficients and add the on powers with the

More information

Grade 6 Mathematics Assessment. Eligible Texas Essential Knowledge and Skills

Grade 6 Mathematics Assessment. Eligible Texas Essential Knowledge and Skills Grade 6 Mathematics Assessment Eligible Texas Essential Knowledge and Skills STAAR Grade 6 Mathematics Assessment Mathematical Process Standards These student expectations will not be listed under a separate

More information

DRAFT. Algebra 1 EOC Item Specifications

DRAFT. Algebra 1 EOC Item Specifications DRAFT Algebra 1 EOC Item Specifications The draft Florida Standards Assessment (FSA) Test Item Specifications (Specifications) are based upon the Florida Standards and the Florida Course Descriptions as

More information

SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS

SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS (Section 0.6: Polynomial, Rational, and Algebraic Expressions) 0.6.1 SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS LEARNING OBJECTIVES Be able to identify polynomial, rational, and algebraic

More information

Algorithms, Flowcharts & Program Design. ComPro

Algorithms, Flowcharts & Program Design. ComPro Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of

More information

11 Multivariate Polynomials

11 Multivariate Polynomials CS 487: Intro. to Symbolic Computation Winter 2009: M. Giesbrecht Script 11 Page 1 (These lecture notes were prepared and presented by Dan Roche.) 11 Multivariate Polynomials References: MC: Section 16.6

More information

Giac/Xcas, a swiss knife for mathematics

Giac/Xcas, a swiss knife for mathematics Bernard Parisse Bernard Parisse University of Grenoble I Trophées du Libre 2007 Plan 1 : interface for CAS, dynamic geometry and spreadsheet, audience: scienti c students to research 2 : a C++ library,

More information

Integer Operations. Overview. Grade 7 Mathematics, Quarter 1, Unit 1.1. Number of Instructional Days: 15 (1 day = 45 minutes) Essential Questions

Integer Operations. Overview. Grade 7 Mathematics, Quarter 1, Unit 1.1. Number of Instructional Days: 15 (1 day = 45 minutes) Essential Questions Grade 7 Mathematics, Quarter 1, Unit 1.1 Integer Operations Overview Number of Instructional Days: 15 (1 day = 45 minutes) Content to Be Learned Describe situations in which opposites combine to make zero.

More information

Florida Math for College Readiness

Florida Math for College Readiness Core Florida Math for College Readiness Florida Math for College Readiness provides a fourth-year math curriculum focused on developing the mastery of skills identified as critical to postsecondary readiness

More information

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

More information

expression is written horizontally. The Last terms ((2)( 4)) because they are the last terms of the two polynomials. This is called the FOIL method.

expression is written horizontally. The Last terms ((2)( 4)) because they are the last terms of the two polynomials. This is called the FOIL method. A polynomial of degree n (in one variable, with real coefficients) is an expression of the form: a n x n + a n 1 x n 1 + a n 2 x n 2 + + a 2 x 2 + a 1 x + a 0 where a n, a n 1, a n 2, a 2, a 1, a 0 are

More information

NSM100 Introduction to Algebra Chapter 5 Notes Factoring

NSM100 Introduction to Algebra Chapter 5 Notes Factoring Section 5.1 Greatest Common Factor (GCF) and Factoring by Grouping Greatest Common Factor for a polynomial is the largest monomial that divides (is a factor of) each term of the polynomial. GCF is the

More information

A Concrete Introduction. to the Abstract Concepts. of Integers and Algebra using Algebra Tiles

A Concrete Introduction. to the Abstract Concepts. of Integers and Algebra using Algebra Tiles A Concrete Introduction to the Abstract Concepts of Integers and Algebra using Algebra Tiles Table of Contents Introduction... 1 page Integers 1: Introduction to Integers... 3 2: Working with Algebra Tiles...

More information

Department of Computer Science

Department of Computer Science 113 Department of Computer Science Chairperson: Nasri, Ahmad H. Professor: Nasri, Ahmad H. Associate Professors: Attie, Paul C.; Karam, Marcel R.; Turkiyyah, George M. Assistant Professors: Abu Salem,

More information

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

More information

Big Bend Community College. Beginning Algebra MPC 095. Lab Notebook

Big Bend Community College. Beginning Algebra MPC 095. Lab Notebook Big Bend Community College Beginning Algebra MPC 095 Lab Notebook Beginning Algebra Lab Notebook by Tyler Wallace is licensed under a Creative Commons Attribution 3.0 Unported License. Permissions beyond

More information

Factoring Algorithms

Factoring Algorithms Institutionen för Informationsteknologi Lunds Tekniska Högskola Department of Information Technology Lund University Cryptology - Project 1 Factoring Algorithms The purpose of this project is to understand

More information

Successful completion of Math 7 or Algebra Readiness along with teacher recommendation.

Successful completion of Math 7 or Algebra Readiness along with teacher recommendation. MODESTO CITY SCHOOLS COURSE OUTLINE COURSE TITLE:... Basic Algebra COURSE NUMBER:... RECOMMENDED GRADE LEVEL:... 8-11 ABILITY LEVEL:... Basic DURATION:... 1 year CREDIT:... 5.0 per semester MEETS GRADUATION

More information

Operation Count; Numerical Linear Algebra

Operation Count; Numerical Linear Algebra 10 Operation Count; Numerical Linear Algebra 10.1 Introduction Many computations are limited simply by the sheer number of required additions, multiplications, or function evaluations. If floating-point

More information

Algebra I Vocabulary Cards

Algebra I Vocabulary Cards Algebra I Vocabulary Cards Table of Contents Expressions and Operations Natural Numbers Whole Numbers Integers Rational Numbers Irrational Numbers Real Numbers Absolute Value Order of Operations Expression

More information

Mathematics Online Instructional Materials Correlation to the 2009 Algebra I Standards of Learning and Curriculum Framework

Mathematics Online Instructional Materials Correlation to the 2009 Algebra I Standards of Learning and Curriculum Framework Provider York County School Division Course Syllabus URL http://yorkcountyschools.org/virtuallearning/coursecatalog.aspx Course Title Algebra I AB Last Updated 2010 - A.1 The student will represent verbal

More information

2.3. Finding polynomial functions. An Introduction:

2.3. Finding polynomial functions. An Introduction: 2.3. Finding polynomial functions. An Introduction: As is usually the case when learning a new concept in mathematics, the new concept is the reverse of the previous one. Remember how you first learned

More information

SHARED HASH TABLES IN PARALLEL MODEL CHECKING

SHARED HASH TABLES IN PARALLEL MODEL CHECKING SHARED HASH TABLES IN PARALLEL MODEL CHECKING IPA LENTEDAGEN 2010 ALFONS LAARMAN JOINT WORK WITH MICHAEL WEBER AND JACO VAN DE POL 23/4/2010 AGENDA Introduction Goal and motivation What is model checking?

More information

A Primer on Index Notation

A Primer on Index Notation A Primer on John Crimaldi August 28, 2006 1. Index versus Index notation (a.k.a. Cartesian notation) is a powerful tool for manipulating multidimensional equations. However, there are times when the more

More information

How To Design Software

How To Design Software The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies

More information

Notes on Factoring. MA 206 Kurt Bryan

Notes on Factoring. MA 206 Kurt Bryan The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor

More information

AIP Factoring Practice/Help

AIP Factoring Practice/Help The following pages include many problems to practice factoring skills. There are also several activities with examples to help you with factoring if you feel like you are not proficient with it. There

More information

MATH 0110 Developmental Math Skills Review, 1 Credit, 3 hours lab

MATH 0110 Developmental Math Skills Review, 1 Credit, 3 hours lab MATH 0110 Developmental Math Skills Review, 1 Credit, 3 hours lab MATH 0110 is established to accommodate students desiring non-course based remediation in developmental mathematics. This structure will

More information

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015 CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential

More information

Wentzville School District Algebra 1: Unit 8 Stage 1 Desired Results

Wentzville School District Algebra 1: Unit 8 Stage 1 Desired Results Wentzville School District Algebra 1: Unit 8 Stage 1 Desired Results Unit Title: Quadratic Expressions & Equations Course: Algebra I Unit 8 - Quadratic Expressions & Equations Brief Summary of Unit: At

More information

Discuss the size of the instance for the minimum spanning tree problem.

Discuss the size of the instance for the minimum spanning tree problem. 3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

More information

A Deduplication File System & Course Review

A Deduplication File System & Course Review A Deduplication File System & Course Review Kai Li 12/13/12 Topics A Deduplication File System Review 12/13/12 2 Traditional Data Center Storage Hierarchy Clients Network Server SAN Storage Remote mirror

More information

C++ Programming Language

C++ Programming Language C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract

More information

by the matrix A results in a vector which is a reflection of the given

by the matrix A results in a vector which is a reflection of the given Eigenvalues & Eigenvectors Example Suppose Then So, geometrically, multiplying a vector in by the matrix A results in a vector which is a reflection of the given vector about the y-axis We observe that

More information

http://www.aleks.com Access Code: RVAE4-EGKVN Financial Aid Code: 6A9DB-DEE3B-74F51-57304

http://www.aleks.com Access Code: RVAE4-EGKVN Financial Aid Code: 6A9DB-DEE3B-74F51-57304 MATH 1340.04 College Algebra Location: MAGC 2.202 Meeting day(s): TR 7:45a 9:00a, Instructor Information Name: Virgil Pierce Email: piercevu@utpa.edu Phone: 665.3535 Teaching Assistant Name: Indalecio

More information

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING Fall 2000 The instructions contained in this packet are to be used as a guide in preparing the Departmental Computer Science Degree Plan Form for the Bachelor's

More information

SOLVING LINEAR SYSTEMS

SOLVING LINEAR SYSTEMS SOLVING LINEAR SYSTEMS Linear systems Ax = b occur widely in applied mathematics They occur as direct formulations of real world problems; but more often, they occur as a part of the numerical analysis

More information

Vocabulary Words and Definitions for Algebra

Vocabulary Words and Definitions for Algebra Name: Period: Vocabulary Words and s for Algebra Absolute Value Additive Inverse Algebraic Expression Ascending Order Associative Property Axis of Symmetry Base Binomial Coefficient Combine Like Terms

More information

Next Generation GPU Architecture Code-named Fermi

Next Generation GPU Architecture Code-named Fermi Next Generation GPU Architecture Code-named Fermi The Soul of a Supercomputer in the Body of a GPU Why is NVIDIA at Super Computing? Graphics is a throughput problem paint every pixel within frame time

More information

Using Algebra Tiles for Adding/Subtracting Integers and to Solve 2-step Equations Grade 7 By Rich Butera

Using Algebra Tiles for Adding/Subtracting Integers and to Solve 2-step Equations Grade 7 By Rich Butera Using Algebra Tiles for Adding/Subtracting Integers and to Solve 2-step Equations Grade 7 By Rich Butera 1 Overall Unit Objective I am currently student teaching Seventh grade at Springville Griffith Middle

More information

Binary Numbering Systems

Binary Numbering Systems Binary Numbering Systems April 1997, ver. 1 Application Note 83 Introduction Binary numbering systems are used in virtually all digital systems, including digital signal processing (DSP), networking, and

More information

The program also provides supplemental modules on topics in geometry and probability and statistics.

The program also provides supplemental modules on topics in geometry and probability and statistics. Algebra 1 Course Overview Students develop algebraic fluency by learning the skills needed to solve equations and perform important manipulations with numbers, variables, equations, and inequalities. Students

More information

AMSCO S Ann Xavier Gantert

AMSCO S Ann Xavier Gantert AMSCO S Integrated ALGEBRA 1 Ann Xavier Gantert AMSCO SCHOOL PUBLICATIONS, INC. 315 HUDSON STREET, NEW YORK, N.Y. 10013 Dedication This book is dedicated to Edward Keenan who left a profound influence

More information

D. J. Bernstein University of Illinois at Chicago. See online version of paper, particularly for bibliography: http://cr.yp.to /papers.

D. J. Bernstein University of Illinois at Chicago. See online version of paper, particularly for bibliography: http://cr.yp.to /papers. The tangent FFT D. J. Bernstein University of Illinois at Chicago See online version of paper, particularly for bibliography: http://cr.yp.to /papers.html#tangentfft Algebraic algorithms f 0 f 1 g 0 g

More information

FACTORIZATION OF TROPICAL POLYNOMIALS IN ONE AND SEVERAL VARIABLES. Nathan B. Grigg. Submitted to Brigham Young University in partial fulfillment

FACTORIZATION OF TROPICAL POLYNOMIALS IN ONE AND SEVERAL VARIABLES. Nathan B. Grigg. Submitted to Brigham Young University in partial fulfillment FACTORIZATION OF TROPICAL POLYNOMIALS IN ONE AND SEVERAL VARIABLES by Nathan B. Grigg Submitted to Brigham Young University in partial fulfillment of graduation requirements for University Honors Department

More information

Algebra 2 Year-at-a-Glance Leander ISD 2007-08. 1st Six Weeks 2nd Six Weeks 3rd Six Weeks 4th Six Weeks 5th Six Weeks 6th Six Weeks

Algebra 2 Year-at-a-Glance Leander ISD 2007-08. 1st Six Weeks 2nd Six Weeks 3rd Six Weeks 4th Six Weeks 5th Six Weeks 6th Six Weeks Algebra 2 Year-at-a-Glance Leander ISD 2007-08 1st Six Weeks 2nd Six Weeks 3rd Six Weeks 4th Six Weeks 5th Six Weeks 6th Six Weeks Essential Unit of Study 6 weeks 3 weeks 3 weeks 6 weeks 3 weeks 3 weeks

More information

DNA Data and Program Representation. Alexandre David 1.2.05 adavid@cs.aau.dk

DNA Data and Program Representation. Alexandre David 1.2.05 adavid@cs.aau.dk DNA Data and Program Representation Alexandre David 1.2.05 adavid@cs.aau.dk Introduction Very important to understand how data is represented. operations limits precision Digital logic built on 2-valued

More information

IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS

IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS Volume 2, No. 3, March 2011 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE

More information

Arithmetic and Algebra of Matrices

Arithmetic and Algebra of Matrices Arithmetic and Algebra of Matrices Math 572: Algebra for Middle School Teachers The University of Montana 1 The Real Numbers 2 Classroom Connection: Systems of Linear Equations 3 Rational Numbers 4 Irrational

More information

MBA Jump Start Program

MBA Jump Start Program MBA Jump Start Program Module 2: Mathematics Thomas Gilbert Mathematics Module Online Appendix: Basic Mathematical Concepts 2 1 The Number Spectrum Generally we depict numbers increasing from left to right

More information

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Lecture 5 Rational functions and partial fraction expansion

Lecture 5 Rational functions and partial fraction expansion S. Boyd EE102 Lecture 5 Rational functions and partial fraction expansion (review of) polynomials rational functions pole-zero plots partial fraction expansion repeated poles nonproper rational functions

More information

The Quadratic Sieve Factoring Algorithm

The Quadratic Sieve Factoring Algorithm The Quadratic Sieve Factoring Algorithm Eric Landquist MATH 488: Cryptographic Algorithms December 14, 2001 1 Introduction Mathematicians have been attempting to find better and faster ways to factor composite

More information

Faster deterministic integer factorisation

Faster deterministic integer factorisation David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers

More information

Factoring Polynomials

Factoring Polynomials Factoring Polynomials Factoring Factoring is the process of writing a polynomial as the product of two or more polynomials. The factors of 6x 2 x 2 are 2x + 1 and 3x 2. In this section, we will be factoring

More information

Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test

Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important

More information

Modélisation et résolutions numérique et symbolique

Modélisation et résolutions numérique et symbolique Modélisation et résolutions numérique et symbolique via les logiciels Maple et Matlab Jeremy Berthomieu Mohab Safey El Din Stef Graillat Mohab.Safey@lip6.fr Outline Previous course: partial review of what

More information

Definitions 1. A factor of integer is an integer that will divide the given integer evenly (with no remainder).

Definitions 1. A factor of integer is an integer that will divide the given integer evenly (with no remainder). Math 50, Chapter 8 (Page 1 of 20) 8.1 Common Factors Definitions 1. A factor of integer is an integer that will divide the given integer evenly (with no remainder). Find all the factors of a. 44 b. 32

More information

South Carolina College- and Career-Ready (SCCCR) Algebra 1

South Carolina College- and Career-Ready (SCCCR) Algebra 1 South Carolina College- and Career-Ready (SCCCR) Algebra 1 South Carolina College- and Career-Ready Mathematical Process Standards The South Carolina College- and Career-Ready (SCCCR) Mathematical Process

More information

Examples of Tasks from CCSS Edition Course 3, Unit 5

Examples of Tasks from CCSS Edition Course 3, Unit 5 Examples of Tasks from CCSS Edition Course 3, Unit 5 Getting Started The tasks below are selected with the intent of presenting key ideas and skills. Not every answer is complete, so that teachers can

More information

A Systematic Approach to Factoring

A Systematic Approach to Factoring A Systematic Approach to Factoring Step 1 Count the number of terms. (Remember****Knowing the number of terms will allow you to eliminate unnecessary tools.) Step 2 Is there a greatest common factor? Tool

More information

Learning Objectives 9.2. Media Run Times 9.3

Learning Objectives 9.2. Media Run Times 9.3 Unit 9 Table of Contents Unit 9: Factoring Video Overview Learning Objectives 9.2 Media Run Times 9.3 Instructor Notes 9.4 The Mathematics of Factoring Polynomials Teaching Tips: Conceptual Challenges

More information