Performance. frontend. iratrecon - rational reconstruction. sprem - sparse pseudo division

Similar documents
Rational numbers as decimals and as integer fractions

Florida Math 0018 Correlation of the ALEKS course Florida Math 0018 to the Florida Mathematics Competencies - Lower

Adding and subtracting rational expressions is quite similar to adding and subtracting rational numbers (fractions).

Lesson 9: Decimal Expansions of Fractions, Part 1

Module 7 Highlights. Mastered Reviewed. Sections ,

A Computer Algebra System : Risa/Asir

Slide 1 / 180. Radicals and Rational Exponents

16.50 RANDPOLY: A random polynomial generator

Multiplying and Dividing Rational Expressions

Warm Up Simplify each expression. Assume all variables are nonzero.

Pythagorean Triples. Chapter 2. Exercises

ADDING AND SUBTRACTING RATIONAL EXPRESSIONS

Classwork. Exercises Use long division to determine the decimal expansion of. NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 6 8 7

16 Rational Functions Worksheet

The MAPLE BOOK FRANK GARVAN CHAPMAN & HALL/CRC. A CRC Press Company Boca Raton London New York Washington, D.C.

Nemo: a computer algebra package for Julia

Course Learning Outcomes for Unit I. Reading Assignment. Unit Lesson. UNIT I STUDY GUIDE Number Theory and the Real Number System

TIMSS 2011 Fourth Grade Mathematics Item Descriptions developed during the TIMSS 2011 Benchmarking

Arithmetic expressions can be typed into Maple using the regular operators:

My 2 hours today: 1. Efficient arithmetic in finite fields minute break 3. Elliptic curves. My 2 hours tomorrow:

Outline. policies. with some potential answers... MCS 260 Lecture 19 Introduction to Computer Science Jan Verschelde, 24 February 2016

Multiplying and Dividing Rational Expressions

Maple on the Intel Paragon. Laurent Bernardin. Institut fur Wissenschaftliches Rechnen. ETH Zurich, Switzerland.

Rational number operations can often be simplified by converting mixed numbers to improper fractions Add EXAMPLE:

Algebra II Radical Equations

How fast can we multiply and divide polynomials?

Definition. A Taylor series of a function f is said to represent function f, iff the error term converges to 0 for n going to infinity.

50 MATHCOUNTS LECTURES (6) OPERATIONS WITH DECIMALS

UCT Algorithm Circle: Number Theory

Radicals - Mixed Index

Note: This Final Exam Pre-test can be used for both on-line and on-campus Math 52.

Numeric-Symbolic Exact Rational Linear System Solver

Pre-Algebra Notes Unit One: Rational Numbers and Decimal Expansions

Graphing Techniques. Domain (, ) Range (, ) Squaring Function f(x) = x 2 Domain (, ) Range [, ) f( x) = x 2

Maple 2017 includes numerous cutting-edge updates in a variety of branches of mathematics.

POLY : A new polynomial data structure for Maple

2-4 Graphing Rational Functions

Introduction to Modular Arithmetic

DISCRETE MATHEMATICS

c. Show that each unit fraction, with, can be written as a sum of two or more different unit fractions.

Summer Review for Students Entering Pre-Calculus with Trigonometry. TI-84 Plus Graphing Calculator is required for this course.

Maths Levels Criteria

Introduction to Fractions

1. Let n be a positive number. a. When we divide a decimal number, n, by 10, how are the numeral and the quotient related?

Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.

Algebra II Chapter 8 Part 2: Rational Functions

Scan Scheduling Specification and Analysis

Mathematics and Algorithms for Computer Algebra

Working with Rational Expressions

Programming Project, CS378, Spring 2013 Implementing ElGamal Encryption

4.3 Rational Thinking

College Readiness (597 topics) Course Name: College Prep Math Spring 2014 Course Code: ARTD4-3N6XJ

Let denote the number of partitions of with at most parts each less than or equal to. By comparing the definitions of and it is clear that ( ) ( )

Summer Review for Students Entering Pre-Calculus with Trigonometry. TI-84 Plus Graphing Calculator is required for this course.

Repeating Decimals and Fractions

! A Hash Table is used to implement a set, ! The table uses a function that maps an. ! The function is called a hash function.

16.69 TAYLOR: Manipulation of Taylor series

( 3) ( 4 ) 1. Exponents and Radicals ( ) ( xy) 1. MATH 102 College Algebra. still holds when m = n, we are led to the result

3.1 Fractions to Decimals

HW 1 CMSC 452. Morally DUE Feb 7 NOTE- THIS HW IS THREE PAGES LONG!!! SOLUTIONS THROUGOUT THIS HW YOU CAN ASSUME:

Solutions to First Exam, Math 170, Section 002 Spring 2012

Fundamentals. Copyright Cengage Learning. All rights reserved.

1/16/12. CS 112 Introduction to Programming. A Foundation for Programming. (Spring 2012) Lecture #4: Built-in Types of Data. The Computer s View

Section A Arithmetic ( 5) Exercise A

TABLES AND HASHING. Chapter 13

CSE 215: Foundations of Computer Science Recitation Exercises Set #4 Stony Brook University. Name: ID#: Section #: Score: / 4

CS 61B Data Structures and Programming Methodology. June David Sun

Chapter 9 Review. By Charlie and Amy

3 = Advanced Math 3 Fall Final Exam Review. Unit 1: If f(x) = x 2 + 3, g(x) = 3x + 1, and h(x) = x + 1, evaluate each.

Section 2-7. Graphs of Rational Functions

Positional notation Ch Conversions between Decimal and Binary. /continued. Binary to Decimal

Exercise 1.1. Page 1 of 22. Website: Mobile:

7.NS.2d Decimal Expansions of

6.3. Complex Fractions

Chapter 1 An Introduction to Computer Science. INVITATION TO Computer Science 1

(-,+) (+,+) Plotting Points

Fixed-Point Math and Other Optimizations

Strings Investigating Memory Allocation Pointers Fixed-Point Arithmetic. Memory Matters. Embedded Systems Interfacing.

A. Incorrect! To simplify this expression you need to find the product of 7 and 4, not the sum.

Standardized Tests: Best Practices for the TI-Nspire CX

(Refer Slide Time: 00:26)

6.3 ADDING and SUBTRACTING Rational Expressions REVIEW. When you ADD rational numbers (fractions): 1) Write each number with common denominator

Pre-Algebra Notes Unit Five: Rational Numbers; Solving Equations & Inequalities

Discrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London

Algebra Homework: Chapter 1 (Homework is listed by date assigned; homework is due the following class period) Day Date In-Class Homework

Introduction to Programming in C Department of Computer Science and Engineering\ Lecture No. #02 Introduction: GCD

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

Partial Fractions. by Richard Gill. Supported in part by funding from a VCCS LearningWare Grant

YOU MUST BE ABLE TO DO THE FOLLOWING PROBLEMS WITHOUT A CALCULATOR!

An infinite decimal is a decimal with digits that do not end. They may repeat, but they never end. An example of an infinite decimal is..

M4.1-R3: PROGRAMMING AND PROBLEM SOLVING THROUGH C LANGUAGE

9/3/2015. Data Representation II. 2.4 Signed Integer Representation. 2.4 Signed Integer Representation

Polynomial Division using Dynamic Arrays, Heaps, and Packed Exponent Vectors

CS3102 Theory of Computation Solutions to Problem Set 1, Spring 2012 Department of Computer Science, University of Virginia

COMPUTER ARCHITECTURE AND ORGANIZATION. Operation Add Magnitudes Subtract Magnitudes (+A) + ( B) + (A B) (B A) + (A B)

7COM1023 Programming Paradigms

On the Design of a Java Computer Algebra System

1 Introduction Java, the beginning Java Virtual Machine A First Program BlueJ Raspberry Pi...

Fractions. There are several terms that are commonly used when working with fractions.

Polynomial Division using Dynamic Arrays, Heaps, and Packed Exponent Vectors

Transcription:

Performance frontend The frontend command is used extensively by Maple to map expressions to the domain of rational functions. It was rewritten for Maple 2017 to reduce time and memory usage. The typical gain is a factor of two but for complicated expressions it runs an order of magnitude faster. The example below runs over 30 times faster in Maple 2017. 0.265 iratrecon - rational reconstruction The iratrecon command for rational reconstruction has been re-engineered in the kernel to improve performance. The first two examples below run about 9x and 5x faster, respectively. We have also added a new fraction-free syntax that returns true or false and assigns the numerator and denominator to the fifth and sixth arguments. By not constructing fractions, the new syntax gains an additional factor of five speedup. 5.116 0.530 0.124 sprem - sparse pseudo division The sprem command performs sparse fraction-free pseudo division on polynomials. In

previous versions of Maple, sprem(f,g,x) would multiply by lcoeff(g,x) in each division step. In Maple 2017, sprem has been changed to compute gcds and use the smallest possible multiplier, allowing it to handle problems of much higher degree with less blowup. When degree(g)=degree(g,x) the command calls a dedicated division routine written in C. The example below runs about 360 times faster, and finds a multiplier that is 19x shorter. 0.156 225 gcdex - extended Euclidean algorithm For univariate polynomials, gcdex now uses a sparse primitive polynomial remainder sequence together with the new code for sprem. For sparse structured problems the new routine is orders of magnitude faster. The example below was previously intractable. 0.031

Expand, Quo, and, Rem mod p Expansion of has been optimized in the case where is a prime and, using the Frobenius map. The expansion below previously took a few seconds but is now instantaneous. Quo and Rem have also been improved for multivariate polynomials and the division below runs about 90x faster. memory used=75.71kib, alloc change=0 bytes, cpu time=78.00ms, real time=140.00ms, gc time=0ns memory used=13.05kib, alloc change=0 bytes, cpu time=16.00ms, real time=4.00ms, gc time=0ns normal Maple 2017 includes a powerful new algorithm for simplifying large multivariate rational expressions using normal. Previous versions of Maple could not do this problem automatically.

memory used=5.20mib, alloc change=0 bytes, cpu time=219.00ms, real time=253.00ms, gc time=0ns 0

indets, coeffs, degree, and miscellaneous The indets command is used to find the variables or all subexpressions of a given type. This is linear time in the size of the expression, but in previous versions of Maple, it was quadratic in the size of the set returned. Maple now creates the set in linear time and sorts it in time. This example of calling indets on a linear system runs about 17 times faster in Maple 2017. 0.031 The coeffs command extracts the coefficients of a polynomial and the degree command computes the degree. Both commands were quadratic in the number of variables in previous versions, but in Maple 2017 they are linear. These examples run about 15 times faster in Maple 2017. 0. 0.015 Checking for polynomials and rational expressions is implemented in the kernel for simple types, but for arbitrary Maple types it uses library code. The library code was improved in Maple 2017 and the following examples run about twice as fast. 0.015 0.031 Testing for expanded polynomials now uses a kernel routine, which is much faster for large polynomials. This test would have previously taken a second or two and is now instantaneous. 0.

solve command and Groebner Bases Maple 2017 includes a new compiled C implementation of the FGLM algorithm for computing a lexicographic Groebner basis from a total degree basis when there are a finite number of solutions. This routine is used automatically by Groebner:-Basis when applicable and by the solve command when solving polynomial systems. The example below runs about 200 times faster in Maple 2017. memory used=0.75gib, alloc change=187.49mib, cpu time=5.82s, real time=4.99s, gc time=358.80ms The default strategy for computing Groebner bases in lexdeg orderings has been changed to direct computation with the F4 algorithm. These orderings eliminate variables but do not triangularize the entire system. The new strategy avoids the intermediate step of computing a total degree Groebner basis and the relatively slow conversion process in the positive dimensional case. The example below runs about 10 times faster. memory used=1.59mib, alloc change=0 bytes, cpu time=156.00ms, real time=74.00ms, gc time=0ns