maple at the university of bathme350/conferences/eduserv-bath-maple.pdf · attendance supported by...

52
Maple at The University of Bath James H. Davenport and Matthew England Department of Computer Science, The University of Bath Eduserv Mathematical and Statistical Software Focus Group King’s College London 6th March 2014 Attendance supported by the University of Bath Impact Acceleration Fund.

Upload: others

Post on 20-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Maple at The University of Bath

James H. Davenport and Matthew England

Department of Computer Science, The University of Bath

Eduserv Mathematical and Statistical Software Focus GroupKing’s College London

6th March 2014

Attendance supported by the University of Bath Impact Acceleration Fund.

Page 2: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Outline

1 Introduction

2 Teaching

3 Research

Page 3: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Outline

1 Introduction

2 Teaching

3 Research

Page 4: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Introduction

Maple is a commercialmathematics software.Produced by Maplesoft inCanada and usedworldwide, including atThe University of Bath.

Maple was originally a computeralgebra system. It has sinceevolved to perform a wide rangeof other computation, andMaplesoft also produce softwareutilising the engine for automaticassessment and simulation.

However, at Bath we focusprincipally on computer algebra.

Page 5: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Introduction

Maple is a commercialmathematics software.Produced by Maplesoft inCanada and usedworldwide, including atThe University of Bath.

Maple was originally a computeralgebra system. It has sinceevolved to perform a wide rangeof other computation, andMaplesoft also produce softwareutilising the engine for automaticassessment and simulation.

However, at Bath we focusprincipally on computer algebra.

Page 6: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Introduction

Maple is a commercialmathematics software.Produced by Maplesoft inCanada and usedworldwide, including atThe University of Bath.

Maple was originally a computeralgebra system. It has sinceevolved to perform a wide rangeof other computation, andMaplesoft also produce softwareutilising the engine for automaticassessment and simulation.

However, at Bath we focusprincipally on computer algebra.

Page 7: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Maple at The University of Bath

The University has a site licence for Maple meaning it isavailable for use by all staff and students.Final year undergraduate course in computer algebra taughtusing Maple. Students experiment with the tools in Maple butalso implement their own algorithms using Maple’sprogramming language.

Research group on symbolic computation in the department ofcomputer science devise new algorithms, implemented inMaple. Currently supported by EPSRC research grant.Collaborate with Maplesoft to distribute work with Maple.Eager to meet with other UK users of Maple, to shareexperience, increase visibility and inspire future research.

Page 8: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Maple at The University of Bath

The University has a site licence for Maple meaning it isavailable for use by all staff and students.Final year undergraduate course in computer algebra taughtusing Maple. Students experiment with the tools in Maple butalso implement their own algorithms using Maple’sprogramming language.Research group on symbolic computation in the department ofcomputer science devise new algorithms, implemented inMaple. Currently supported by EPSRC research grant.Collaborate with Maplesoft to distribute work with Maple.Eager to meet with other UK users of Maple, to shareexperience, increase visibility and inspire future research.

Page 9: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

What is symbolic computation?

Symbolic computation (also known as computer algebra) refers tothe study and development of algorithms and software formanipulating mathematical expressions and objects.

It gives exact answers, distinct from the numerical computationwhich uses floating point arithmetic to give approximate results.

At the simplest level, we prefer the symbols 13 , π and

√2 to

the approximations 0.33333, 3.14159 and 1.41421.The rules for manipulating fractions are well known.There are also general rules for manipulating numbers like

√2,

which is an algebraic number meaning it can be describeduniquely as the root of a polynomial equation bound in aninterval, in this case x2 − 2 and [1, 2].Non-algebraic numbers like π have to be handled on a moread hoc basic.

Page 10: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

What is symbolic computation?

Symbolic computation (also known as computer algebra) refers tothe study and development of algorithms and software formanipulating mathematical expressions and objects.

It gives exact answers, distinct from the numerical computationwhich uses floating point arithmetic to give approximate results.

At the simplest level, we prefer the symbols 13 , π and

√2 to

the approximations 0.33333, 3.14159 and 1.41421.

The rules for manipulating fractions are well known.There are also general rules for manipulating numbers like

√2,

which is an algebraic number meaning it can be describeduniquely as the root of a polynomial equation bound in aninterval, in this case x2 − 2 and [1, 2].Non-algebraic numbers like π have to be handled on a moread hoc basic.

Page 11: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

What is symbolic computation?

Symbolic computation (also known as computer algebra) refers tothe study and development of algorithms and software formanipulating mathematical expressions and objects.

It gives exact answers, distinct from the numerical computationwhich uses floating point arithmetic to give approximate results.

At the simplest level, we prefer the symbols 13 , π and

√2 to

the approximations 0.33333, 3.14159 and 1.41421.The rules for manipulating fractions are well known.There are also general rules for manipulating numbers like

√2,

which is an algebraic number meaning it can be describeduniquely as the root of a polynomial equation bound in aninterval, in this case x2 − 2 and [1, 2].Non-algebraic numbers like π have to be handled on a moread hoc basic.

Page 12: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sidenote: Algebraic numbers are beautiful!

Source: Stephen J. Brooks (Wikepedia)

Page 13: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sidenote: Algebraic numbers are beautiful!

Source: Damian Silvestre (Wikepedia)

Page 14: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Why use symbolic computation?

Symbolic computation tends to take more computer resources thannumerical computation, and this is not only because the latter hasreceived far more study. So why use it?

For problems where there is no practical way to obtain anumerical solution.For problems where the improved accuracy over numericalapproximations is required.

Because exact solutions offer fundamental insight that can bemissing from numerical ones.

Of course, in many cases symbolic computation is used in tandemwith numerical computation.

Page 15: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Why use symbolic computation?

Symbolic computation tends to take more computer resources thannumerical computation, and this is not only because the latter hasreceived far more study. So why use it?

For problems where there is no practical way to obtain anumerical solution.For problems where the improved accuracy over numericalapproximations is required.Because exact solutions offer fundamental insight that can bemissing from numerical ones.

Of course, in many cases symbolic computation is used in tandemwith numerical computation.

Page 16: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Outline

1 Introduction

2 Teaching

3 Research

Page 17: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

CM30070 — Computer Algebra

Course for final year undergraduate students of mathematicsor computer science, taught by Prof. Davenport.Involves lectures, problem class and practical sessions incomputer labs.

Learning Outcomes:1 To understand the practical possibilities and limitations of

symbolic computation;2 To be able to solve problems using symbolic computation.3 To understand major algorithms of symbolic computation.

Theory and lectures delivered in generality but examples,demonstrations and coursework in Maple.

Page 18: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

CM30070 — Computer Algebra

Course for final year undergraduate students of mathematicsor computer science, taught by Prof. Davenport.Involves lectures, problem class and practical sessions incomputer labs.Learning Outcomes:

1 To understand the practical possibilities and limitations ofsymbolic computation;

2 To be able to solve problems using symbolic computation.3 To understand major algorithms of symbolic computation.

Theory and lectures delivered in generality but examples,demonstrations and coursework in Maple.

Page 19: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

CM30070 — Computer Algebra

Course for final year undergraduate students of mathematicsor computer science, taught by Prof. Davenport.Involves lectures, problem class and practical sessions incomputer labs.Learning Outcomes:

1 To understand the practical possibilities and limitations ofsymbolic computation;

2 To be able to solve problems using symbolic computation.3 To understand major algorithms of symbolic computation.

Theory and lectures delivered in generality but examples,demonstrations and coursework in Maple.

Page 20: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1

Problem 1Consider the following polynomials. Build their Sylvester matrix inMaple and use Bareiss’s algorithm to find the determinant.

A = x8 + x6 − 3x4 − 3x3 + 8x2 + 2x − 5B = 3x6 + 5x4 − 4x2 − 9x + 21

This determinant is the resultant: a polynomial which is zero whenthe original two share a root. A very useful computational tool.

The main theory will have been covered in lectures so now its upto the students to understand and implement it.

Page 21: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1

Problem 1Consider the following polynomials. Build their Sylvester matrix inMaple and use Bareiss’s algorithm to find the determinant.

A = x8 + x6 − 3x4 − 3x3 + 8x2 + 2x − 5B = 3x6 + 5x4 − 4x2 − 9x + 21

This determinant is the resultant: a polynomial which is zero whenthe original two share a root. A very useful computational tool.

The main theory will have been covered in lectures so now its upto the students to understand and implement it.

Page 22: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1 — Maple

Of course, Maplecan solve thisproblem in a splitsecond. We caneven specify for itto use Bareiss’salgorithm.

The determinant isnot zero — so thepolynomials shareno root.

Page 23: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1 — Maple

Of course, Maplecan solve thisproblem in a splitsecond. We caneven specify for itto use Bareiss’salgorithm.

The determinant isnot zero — so thepolynomials shareno root.

Page 24: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1 — revised

Problem 1Consider the following polynomials. Build their Sylvester matrix inMaple and use Bareiss’s algorithm to find the determinant.

A = x8 + x6 − 3x4 − 3x3 + 8x2 + 2x − 5B = 3x6 + 5x4 − 4x2 − 9x + 21

Do not use Maple’s built in commands for determinants!

The students must now run the Bareiss algorithm themselves.

They can either perform it step by step for the example in aMaple worksheet.Or write code to perform it in general using Maple’sprogramming language.

Page 25: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1 — revised

Problem 1Consider the following polynomials. Build their Sylvester matrix inMaple and use Bareiss’s algorithm to find the determinant.

A = x8 + x6 − 3x4 − 3x3 + 8x2 + 2x − 5B = 3x6 + 5x4 − 4x2 − 9x + 21

Do not use Maple’s built in commands for determinants!

The students must now run the Bareiss algorithm themselves.They can either perform it step by step for the example in aMaple worksheet.Or write code to perform it in general using Maple’sprogramming language.

Page 26: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 1 — rationale

JHD to write.

Page 27: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 2

Problem 2Consider the following as polynomials in x whose coefficients arepolynomials in y .

f = (y + 1)x4 + (y2 − 1)x3 + (y3 − 1)x2 + (y4 − 1)x + y5 − 1g = (y − 1)x5 + (y2 − 1)x4 + (y3 − 1)x3 + (y4 − 1)x2

+ (y5 − 1)x + y6 − 1

Run the subresultant algorithm on them. What do you get as thelast non-zero member of the subresultant sequence? What is thetrue greatest common divisor of these two polynomials?

The subresultant sequence is an efficient way to determine thegreatest common divisor of two polynomials, with the last non-zerosubresultant the resultant of the polynomials.

Page 28: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 2

Problem 2Consider the following as polynomials in x whose coefficients arepolynomials in y .

f = (y + 1)x4 + (y2 − 1)x3 + (y3 − 1)x2 + (y4 − 1)x + y5 − 1g = (y − 1)x5 + (y2 − 1)x4 + (y3 − 1)x3 + (y4 − 1)x2

+ (y5 − 1)x + y6 − 1

Run the subresultant algorithm on them. What do you get as thelast non-zero member of the subresultant sequence? What is thetrue greatest common divisor of these two polynomials?

The subresultant sequence is an efficient way to determine thegreatest common divisor of two polynomials, with the last non-zerosubresultant the resultant of the polynomials.

Page 29: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 2 — Maple

Again, the main theory will have been covered in lectures. Thestudents have to implement the algorithm and understand what ittells them about the polynomials.

Maple has built-in commands for this as well, (although they are alittle harder to find).

Page 30: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 2 — Maple

Again, the main theory will have been covered in lectures. Thestudents have to implement the algorithm and understand what ittells them about the polynomials.

Maple has built-in commands for this as well, (although they are alittle harder to find).

Page 31: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 2 — Solution

With the built-in command prohibited, ths students could run thecomputations step by step, or code the algorithm as below.

Page 32: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 2 — rationale

JHD to write.

Page 33: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 4

Problem 4Get Maple to compute, via the built-in FGLM algorithm, a plexGroebner base for the polynomials in the system:

a + b + c + d + e = 0ab + bc + cd + de + ea = 0

abc + bcd + cde + dea + eab = 0abcd + bcde + cdea + deab + eabc = 0

abcde − 1 = 0.

Hence deduce, using the Gianni-Kalkbrener theorem, the numberof solutions and a description of them. Compare your answers withthat of Maple’s Groebner:-Solve command. Can you think of agood visual representation of the solutions?

Page 34: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 4 — description

A Groebner base gives an equivalent system from whichproperties, like the number of solutions, can be derived.For this problem there are 70 so thought must be given abouthow best to describe them.

Maple’s answer:

Page 35: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 4 — description

A Groebner base gives an equivalent system from whichproperties, like the number of solutions, can be derived.For this problem there are 70 so thought must be given abouthow best to describe them. Maple’s answer:

Page 36: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Sample coursework problem 4 — rationale

JHD to write.

Page 37: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Outline

1 Introduction

2 Teaching

3 Research

Page 38: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Symbolic computation research group

In the Department of computer science at Bath.Academic Staff: James Davenport, Russell Bradford.Research Officer: Matthew England.Postgraduate student: David Wilson.Also work with members of the Mathematics department.

Supported by EPSRC grant EP/J003247/1. Focus is algorithmsfor symbolic real algebraic geometry: exact solutions to systems ofequations and inequalities which exist in real space.

Page 39: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Symbolic computation research group

In the Department of computer science at Bath.Academic Staff: James Davenport, Russell Bradford.Research Officer: Matthew England.Postgraduate student: David Wilson.Also work with members of the Mathematics department.

Supported by EPSRC grant EP/J003247/1. Focus is algorithmsfor symbolic real algebraic geometry: exact solutions to systems ofequations and inequalities which exist in real space.

Page 40: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Cylindrical algebraic decomposition (CAD)

CAD is a key algorithmin algebraic geometryand computer algebra.It splits up real spaceaccording to a system, sowe can make statementsabout each segment bytesting a single point.Further, these segmentsare all arranged in auseful structure.

Usually do this by projectingdown dimensions thenbuilding back to a CAD.

Page 41: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Truth table invariant CADs

Traditionally CADsbuilt sign-invariant forpolynomials.New algorithmdeveloped at Bathbuilds them truth-tableinvariant for formulas,meanings smallerneater output andquicker computation.

Page 42: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Other recent CAD research at Bath

Extending and improvingthe use of TTICAD.Application to robotmotion planning.Returning only sub-cadsof interest to a problem.Improving how weformulate problems forCAD algorithms.

Other applications of CADrange from epidemicmodelling throughoptimisation problems toautomated reasoning.

Page 43: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Branch cuts analysis

Our group is also very interested in simplification in computeralgebra. This can often depend on the branch cuts of functions:half lines in complex space over which functions are discontinuous.We develop algorithms to identify these algebraically and visually.

Page 44: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Branch cuts analysis via TTICAD

When does√

z2 − 1√

z2 + 1 =√

z4 − 1?

We can answer by:1 Identifying

branch cutsalgebraically;

2 Decomposingwith CAD(or betterTTICAD);

3 Testing samplepoints.

Page 45: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Branch cuts analysis via TTICAD

When does√

z2 − 1√

z2 + 1 =√

z4 − 1?

We can answer by:1 Identifying

branch cutsalgebraically;

2 Decomposingwith CAD(or betterTTICAD);

3 Testing samplepoints.

Page 46: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

How we structure our research

Our research ideas tend to be generic algorithms for symboliccomputation, which we then implement in Maple.

Publish pseudo-code in academic papers.Make our Maple code available for free in third part packagesand detail in technical reports.

Work with other external packages of our collaborators.

Work with Maplesoft to distributed code with Maple.

Page 47: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

How we structure our research

Our research ideas tend to be generic algorithms for symboliccomputation, which we then implement in Maple.

Publish pseudo-code in academic papers.Make our Maple code available for free in third part packagesand detail in technical reports.Work with other external packages of our collaborators.

Work with Maplesoft to distributed code with Maple.

Page 48: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Contributing to Maple

Bath have contributed code to Maple 15, 16, 17 (and soon 18).

Achieving balance between academic dissemination and impactfrom working with widely used commercial software.

Ourcontributions include the work on branch cut analysis, algorithmsfor triangular decomposition and the piecewise representation.

Page 49: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Contributing to Maple

Bath have contributed code to Maple 15, 16, 17 (and soon 18).

Achieving balance between academic dissemination and impactfrom working with widely used commercial software. Ourcontributions include the work on branch cut analysis, algorithmsfor triangular decomposition and the piecewise representation.

Page 50: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Piecewise representation

Maple’s functionality for piecewise functions has been harnessed togive a simple but very useful way to view families of solutions.

Also useful for revealing the structures in CADs!

Page 51: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Final thoughts

We’ve been collaborating on research with the research anddevelopment team in Canada.Now developing good relationship with the new UK office.Hoping to become part of a more active UK community ofMaple users.

Happy to be contacted regarding our experience using Maple inteaching or research.

Contact detailsJames Davenport: [email protected] England: [email protected]

Page 52: Maple at The University of Bathme350/Conferences/EduServ-Bath-Maple.pdf · Attendance supported by the University of Bath Impact Acceleration Fund. Outline 1 Introduction 2 Teaching

Final thoughts

We’ve been collaborating on research with the research anddevelopment team in Canada.Now developing good relationship with the new UK office.Hoping to become part of a more active UK community ofMaple users.

Happy to be contacted regarding our experience using Maple inteaching or research.

Contact detailsJames Davenport: [email protected] England: [email protected]