A Maple V Package for the Analysis and. Version 1.0. Claus Bendtsen. Abstract

Size: px
Start display at page:

Download "A Maple V Package for the Analysis and. Version 1.0. Claus Bendtsen. Abstract"

Transcription

1 A Maple V Package for the Analysis and Construction of Runge-Kutta Methods Version.0 Claus Bendtsen Abstract This package is for use with the Maple V symbolic computational software in order to ease the analysis and construction of Runge-Kutta methods. It consists of a number of functions for handling Butcher trees, analysis of stability properties for Runge-Kutta methods and tools for construction of methods with certain properties. UNIC (The Danish Computer Centre for Research and Education, DTU, Bldg. 304, DK-800 Lyngby, Denmark), Claus.Bendtsen@uni-c.dk

2 Copyright 99 by Claus Bendtsen. This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., Mass Ave, Cambridge, MA 039, USA.

3 Contents Introduction Obtaining and Installing the Package 3 An Example 4 The Butcher tree package 3 4. Introduction to the ButcherTree package : : : : : : : : : : : : : : : : : : : : 3 4. ButcherTree[alpha] { computes : : : : : : : : : : : : : : : : : : : : : : : : : ButcherTree[equal] { compare two trees : : : : : : : : : : : : : : : : : : : : : ButcherTree[gamma] { computes : : : : : : : : : : : : : : : : : : : : : : : : 4 4. ButcherTree[generate] { all trees up to given order : : : : : : : : : : : : : : : 4. ButcherTree[insert] { insert a tree into a list of trees : : : : : : : : : : : : : : 4. ButcherTree[listtdi] { dierentiate a list of trees : : : : : : : : : : : : : : : : 4.8 ButcherTree[occurences] { count number of occurences : : : : : : : : : : : : : 4.9 ButcherTree[order] { compute the order of a tree : : : : : : : : : : : : : : : : 4.0 ButcherTree[tdi] { dierentiate a tree : : : : : : : : : : : : : : : : : : : : : : The Runge-Kutta package. Introduction to the RungeKutta package : : : : : : : : : : : : : : : : : : : : :. RungeKutta[C] { simplifying condition C() : : : : : : : : : : : : : : : : : : : 8.3 RungeKutta[conditions] { order conditions : : : : : : : : : : : : : : : : : : : : 8.4 RungeKutta[dLaguerre] { derivative of Laguerre polynomials : : : : : : : : : 9. RungeKutta[dLegendre] { derivative of Legendre polynomials : : : : : : : : : 9. RungeKutta[error] { error constants : : : : : : : : : : : : : : : : : : : : : : : 0. RungeKutta[Gauss] { Gauss polynomials : : : : : : : : : : : : : : : : : : : : :.8 RungeKutta[Laguerre] { Laguerre polynomials : : : : : : : : : : : : : : : : :.9 RungeKutta[Legendre] { Legendre polynomials : : : : : : : : : : : : : : : : :.0 RungeKutta[Lobatto] { Lobatto polynomials : : : : : : : : : : : : : : : : : :. RungeKutta[order] { order of approximation to e z : : : : : : : : : : : : : : :. RungeKutta[Phi] { computes j : : : : : : : : : : : : : : : : : : : : : : : : : 3.3 RungeKutta[Psik] { Compute k : : : : : : : : : : : : : : : : : : : : : : : : : 3.4 RungeKutta[Q] { Q for B-stable methods : : : : : : : : : : : : : : : : : : : : 4. RungeKutta[quadrature] { quadrature constants : : : : : : : : : : : : : : : : 4. RungeKutta[Radau left] { Radau left polynomials : : : : : : : : : : : : : : :. RungeKutta[Radau right] { Radau right polynomials : : : : : : : : : : : : : :.8 RungeKutta[stabfnk] { stability function : : : : : : : : : : : : : : : : : : : : :.9 RungeKutta[stype] { check for stability properties : : : : : : : : : : : : : : :.0 RungeKutta[W] { W-transformation matrix : : : : : : : : : : : : : : : : : : :. RungeKutta[X] { compute X for the W-transformation : : : : : : : : : : : : : 8. RungeKutta[xi] { for the W-transformation : : : : : : : : : : : : : : : : : : 8 A Numerical Linear Algebra package 9. Introduction to the NumLinAlg package : : : : : : : : : : : : : : : : : : : : : 9. NumLinAlg[cholesky] { Cholesky factorization : : : : : : : : : : : : : : : : : : 9.3 NumLinAlg[diagonalm] { diagonal matrix : : : : : : : : : : : : : : : : : : : : 0 i

4 .4 NumLinAlg[eye] { identity matrix : : : : : : : : : : : : : : : : : : : : : : : : : 0. NumLinAlg[gramschmidt] { Gram Schmidt orthogonalization : : : : : : : : :. NumLinAlg[qr] { QR-factorization : : : : : : : : : : : : : : : : : : : : : : : :. NumLinAlg[unitv] { unit vector : : : : : : : : : : : : : : : : : : : : : : : : : : ii

5 INTRODUCTION Introduction When constructing and analyzing Runge-Kutta methods using a symbolic computational engine such as Maple V, one tend to use many of the same non-standard functions over and over again. This package is a collection of such functions which are especially useful wrt. Runge-Kutta methods. The package is composed of three subpackages namely a package for handling Butcher trees, a package specically for Runge Kutta methods and a package for numerical linear algebra, which contains a limited number of numerical rutines needed by the two other packages. Each of the functions in the package is documented in this paper, and since some functions are included mainly for internal use the might not seem relevant to an end user. Whenever a function is closely related to a reference this is given in order to provide understanding for the use of the function. I have tried to keep the layout of the documentation as close to that of the Maple documentation as possible in order to enhance the readability. Obtaining and Installing the Package The package can be optained by mailing the author or by anonymous FTP to ftp.uni-c.dk and is found in the directory uni-c/unicbe/maple. The package is developed for Maple V, release 3 (but might work on other versions). Install the package by unpacking the.m les in a directory. Then edit your maple initialization le ( ~ /.mapleinit on UNIX systems) and add something similar to the following: libname := libname,`/myhomedir/maple/packages`: readlib(butchertree): readlib(rungekutta): readlib(numlinalg): Now when you start up Maple the tables, ButcherTree, RungeKutta and NumLinAlg will be dened and you can access any of the package functions in the long form (for example ButcherTree[alpha](...)). You can also dene the entire package by issuing the with command. The package has been tested but might still have some bugs { I would appreciate comments, corrections and ideas to the package but do not provide any warranty what so ever. 3 An Example In the following an example is given on the construction of two th order SIRK methods. First the construction of a stiy accurate method: > with(linalg): > Digits:=0: Dene stability function > s := : > gam := 'gam': R := -sum('subs(z=/gam,dlaguerre(z,s,s-j))*(gam*z)^j',

6 3 AN EXAMPLE 'j'=0..s-)/(-z*gam)^s: Solve for eigenvalue so that R(z) has order : > gam := convert(fsolve(coeff(convert(taylor(r-exp(z),z,s+), polynom),z^),gam, ),rational); gam := Check that the order is correct, > p := order(r,z,'sloppy'); Calculate X for the W -transformation as described in [Ben], > g := denom(*(numer(r)-denom(r))/(numer(r)+denom(r))): > g := g/tcoeff(g): > Y := X(s,s-,0): Y[,]:=0: > x := subs(solve(coeffs(det(numlinalg[eye](s)-z*y)-g,z), convert(subvector(y,..s,s),set)),evalm(y)): x[,]:=/: Choose quadrature formula and perform W -transformation: > b:=evalf(quadrature(radau right,s)[]): > c:=evalf(quadrature(radau right,s)[]): > A:=evalf(evalm(W(c)&*x&*inverse(W(c)))): Test the computed method, > stype(a,b,'astable'); true > order(a,b); > order(a,b,sloppy); 0 So method is of order as expected. Now display method coecients: > convert(evalf(evalm(a),0),rational); ? ? ? ? ? ? ? ? ? = > convert(evalf(evalm(b),0),rational); h ; ; ; ; =i > convert(evalf(evalm(c),0),rational); h ; ; ; i ;

7 4 THE BUTCHER TREE PACKAGE 3 Now construct B-stable SIRK method instead of A-stable stiy accurate. > q := Q(R,z): > w := W(quadrature(Radau right,)[]): > A := evalf(evalm(w&*x(s,q)&*w^(-))): > b := quadrature(radau right,)[]: > stype(a,b,'bstable',sloppy); true > order(a,b,sloppy); Display method coecients (quadrature formula is unchanged): > convert(evalf(evalm(a),0),rational); ? ? ? ? ? ? ? ? If the quadrature formula is appropriately chosen, then the method can also be stiy accurate, [Benar]. It does however fall outside the scope of this example to do that. The above example is found in the le example.ms. 4 The Butcher tree package 4. Introduction to the ButcherTree package function(args) ButcherTree[function](args) To use a function from the Butcher tree package, either dene the function alone using the command with(butchertree,function), or dene all the functions in the package by using the command with(butchertree). Alternatively, invoke the function using the form ButcherTree[function]. This long form is necessary whenever there is a conict between a package function name and another function used in the same session. The functions available are: alpha equal gamma generate insert listtdi occurences order tdi Butcher trees are used for representing elementary dierentials { see e.g. [But8] for an extensive introduction. Trees are represented on the form,, [], [; ], [[]] and so forth.

8 4 THE BUTCHER TREE PACKAGE 4 4. ButcherTree[alpha] { computes alpha(t ) T { an unlabeled tree alpha computes for T, i.e. the number of possible dierent monotonic labellings of T. > with(butchertree): > T := generate(,last)[3]; > alpha(t); T := [; [[]]] 4 References: [HNW93, Def. II..] 4.3 ButcherTree[equal] { compare two trees equal(t,t ) T,T { unlabeled trees The function equal returns true if T and T are equivalent and false otherwise. Two trees are said to be equivalent if they correspond to the same elementary dierentials. > with(butchertree): > equal([tau,[[tau],tau]],[[tau,[tau]],tau]); true > equal([tau,tau],[[tau]]); false 4.4 ButcherTree[gamma] { computes gamma(t ) T { an unlabeled tree The function gamma computes for T, i.e. the product of the order of T and all orders appearing when the roots, one after another, are removed from T. > with(butchertree):

9 4 THE BUTCHER TREE PACKAGE > T := generate(,last)[3]; > gamma(t); T := [; [[]]] 30 References: [HNW93, Def. II..0] 4. ButcherTree[generate] { all trees up to given order generate(n) generate(n,option) n { an integer option { one of: all, allflat, last generate with no option or with the all option specied returns a list of sets of all trees of order up to n. The rst element of the list will be all trees of order, the second element all trees of order two and so forth. The allflat option forces the return value to be one set of all the trees rather than a list of sets. The last option causes only the set of trees of order n to be returned. > with(butchertree): > generate(4); [f g; f[]g; f[[]]; [; ]g; f[[[]]]; [; []]; [[; ]]; [; ; ]g] > generate(4,last); f[[[]]]; [; []]; [[; ]]; [; ; ]g 4. ButcherTree[insert] { insert a tree into a list of trees insert(l,t ) L { a list of trees T { an unlabeled tree The function, insert returns the list of trees, L with the tree T appended if it is not already in the list. Otherwise the list L is returned unchanged. > with(butchertree): > insert([[[tau]],[tau,tau]],[[tau]]); [[[]]; [; ]]

10 4 THE BUTCHER TREE PACKAGE > insert([[[tau]],[tau,tau]],[tau]); [[[]]; [; ]; []] 4. ButcherTree[listtdi] { dierentiate a list of trees listtdiff(l) L { a list of trees listtdiff computes the derivative of each tree in L and returns a set of all trees included in the derivative. If a tree occurs several times in the derivative it is only included once in the returned set. > with(butchertree): > listtdiff([[[tau]],[tau,tau]]); f[[[]]]; [; []]; [[; ]]; [; ; ]g See Also: tdiff 4.8 ButcherTree[occurences] { count number of occurences occurences(t,l) T { an unlabeled tree L { a list of unlabeled trees occurences counts the number of times the tree T occurs in the list of trees L. This is useful to determine the number of occurences of a subtree in a tree, since a tree in Maple representation is basically a list of subtrees. > with(butchertree): > occurences([tau],[tau,[tau],[[tau]],[tau]]); 4.9 ButcherTree[order] { compute the order of a tree order(t ) T { an unlabeled tree

11 THE RUNGE-KUTTA PACKAGE The function order returns the order of T. The order of a tree is equal to the number of vertices in the tree. > with(butchertree): > order([[[[tau,tau]]]]); References: [But8],[HNW93, Def. II..] See Also: generate 4.0 ButcherTree[tdi] { dierentiate a tree tdiff(t ) T { an unlabeled tree The function tdiff computes the derivative of T and returns a set of all trees included in the derivative. The dierent terms are basically computed by adding a branch to each vertex of the tree in turn. All returned trees are dierent, i.e. no tree in the returned set will be equivalent to another tree in the set. > with(butchertree): > tdiff([[tau]]); f[[[]]]; [; []]; [[; ]]g See Also: listtdiff The Runge-Kutta package. Introduction to the RungeKutta package function(args) RungeKutta[function](args) To use a function from the Runge-Kutta package, either dene the function alone using the command with(rungekutta,function), or dene all the functions in the package by using the command with(rungekutta). Alternatively, invoke the function using the form RungeKutta[function]. This long form is necessary whenever there is a conict between a package function name and another function used in the same session.

12 THE RUNGE-KUTTA PACKAGE 8 The functions available are: C conditions dlaguerre dlegendre error Gauss Laguerre Legendre Lobatto order Phi Psik Q quadrature Radau left Radau right stabfnk stype W X xi This package mainly provides functions for evaluating stability and order properties of Runge-Kutta methods as well as tools for the construction of implicit Runge-Kutta methods. A nice reference for understanding the functions is [HNW93, HW9]. Many of the functions assume C(), i.e. that the sum of all elements in a row of the Runge- Kutta matrix is equal to the corresponding internal point. Thus these functions often just use the Runge-Kutta matrix and the vector of the weights, b and not the internal points, c.. RungeKutta[C] { simplifying condition C() C(; A; c) { an integer A { a matrix c { a vector The function C compute the C() simplifying conditions for the Runge-Kutta method with coecient matrix, A and internal points given by c. > A := linalg[matrix](,): c := linalg[vector](): > C(,A,c); A; + A ;? c ; A ; + A ;? c ; A ; c + A ; c? c ; A ; c + A ; c? c References: [But4].3 RungeKutta[conditions] { order conditions conditions(p,a,b) conditions(p,a,b,c) p { an integer A { a matrix b,c { vectors

13 THE RUNGE-KUTTA PACKAGE 9 conditions generates the order conditions up to order p for the Runge-Kutta method with coecient matrix A and weights b. If c is specied the simplifying assumptions C() is used to simplify the generated conditions. > b := linalg[vector](): A:=linalg[matrix](,): > conditions(,a,b); b (A ; + A ; ) + b (A ; + A ; )? ; b + b? > c := linalg[vector](): > conditions(,a,b,c); b c + b c? ; b + b? See Also: ButcherTree[generate].4 RungeKutta[dLaguerre] { derivative of Laguerre polynomials dlaguerre(x,s,n) x { a variable s,n { integers dlaguerre computes the n'th derivative with respect to x of the s-degree Laguerre polynomial in x. If n is 0 the function just returns the s-degree Laguerre polynomial. > dlaguerre('x',3,);?3 + 3x? x See Also: dlegendre, Gauss, Laguerre, Legendre, Lobatto, Radau left, Radau right. RungeKutta[dLegendre] { derivative of Legendre polynomials dlegendre(x,s,n) x { a variable s,n { integers dlegendre computes the n'th derivative with respect to x of the s-degree, shifted and normalized Legendre polynomial in x.

14 THE RUNGE-KUTTA PACKAGE 0 If n is 0 the function just returns the s-degree shifted and normalized Legendre polynomial. > dlegendre('x',,); References: [HW9, p. 83] p (4x? ) See Also: dlaguerre, Gauss, Laguerre, Legendre, Lobatto, Radau left, Radau right. RungeKutta[error] { error constants error(r,z ) error(a,b,options) R { a stability function z { a variable A { a matrix b { a vector option { one or more of: sloppy, prec=x, coeffs, trees The function error computes the error constant (ie. the rst non-zero term of the taylor expansion) for a stability function given by R in z or a Runge-Kutta method given by A and b. If the option, 'sloppy' is specied then terms near zero are considered equal to zero which reduces the eect of rounding errors. If the option, 'prec=x' is given then terms less than e? x are considered zero. The option, 'coes' makes the function return all the error constants rather than just the non-zero term from the Taylor expansion. If in addition 'trees' is specied then the error constants are returned together with their corresponding Butcher trees. > error((+z/)/(-z/),z); > A := linalg[matrix](,,[[/4,/4-sqrt(3)/], [/4+sqrt(3)/,/4]]): b := linalg[vector](,[/,/]): > error(a,b,coeffs); References: [HNW93, Theo. II.3.] See Also: order? 9 ; 3 ; ;? 4 ;? 9 ; ; 3 ; 3 ;? 4

15 THE RUNGE-KUTTA PACKAGE. RungeKutta[Gauss] { Gauss polynomials Gauss(x,s) x { a variable s { an integer Gauss computes the s-degree Gauss polynomial in x. > Gauss('x',); (x? ) + 8x(x? ) + x See Also: dlaguerre, dlegendre, Laguerre, Legendre, Lobatto, Radau left, Radau right.8 RungeKutta[Laguerre] { Laguerre polynomials Laguerre(x,s) x { a variable s { an integer Laguerre computes the s-degree Laguerre polynomial in x. > Laguerre('x',3);? 3x + 3 x? x3 See Also: dlaguerre, dlegendre, Gauss, Legendre, Lobatto, Radau left, Radau right.9 RungeKutta[Legendre] { Legendre polynomials Legendre(x,s) x { a variable s { an integer Legendre computes the s-degree shifted and normalized Legendre polynomial in x.

16 THE RUNGE-KUTTA PACKAGE > Legendre('x',); p? (x? ) + 8x(x? ) + 3x References: [HW9, p. 83] See Also: dlaguerre, dlegendre, Gauss, Laguerre, Lobatto, Radau left, Radau right.0 RungeKutta[Lobatto] { Lobatto polynomials Lobatto(x,s) x { a variable s { an integer Lobatto computes the s-degree Lobatto polynomial in x. > Lobatto('x',3); x(x? ) + x (x? ) See Also: dlaguerre, dlegendre, Gauss, Laguerre, Legendre, Radau left, Radau right. RungeKutta[order] { order of approximation to e z order(r,z ) order(a,b) order(a,b,sloppy) order(a,b,prec=x) R { a stability function z { a variable A { a matrix b { a vector order computes the order at which the stability function R in z approximates the exponential function. If a Runge-Kutta method is specied rather than a stability function then the order of the specied method is returned. If the 'sloppy' argument is specied then order restrictions which are almost satised are not considered violated this reduces the eect of rounding errors. If the option, 'prec=x' is given then terms less than e? x are considered zero. > with(linalg):

17 THE RUNGE-KUTTA PACKAGE 3 > order((+z/)/(-z/),z); > A := matrix(,,[[/4+e-9,/4-sqrt(3)/], [/4+sqrt(3)/,/4]]): b := vector(,[/,/]): > order(a,b); > order(a,b,sloppy); 4. RungeKutta[Phi] { computes j Phi(j,T,A) Phi(j,T,A,c) j { an integer T { an unlabeled tree A { a matrix c { a vector The function Phi computes j (T ) for the tree T using the Runge-Kutta matrix A. If c is given then it is assumed that the sum of each row of A is equal to the corresponding element in c and this is used to simplify the returned expressions. > A := linalg[matrix](3,3): > Phi(,[[tau,tau]],A); A ; (A ; + A ; + A ;3 ) + A ; (A ; + A ; + A ;3 ) + A ;3 (A 3; + A 3; + A 3;3 ) > c := linalg[vector](3): > Phi(,[[tau,tau]],A,c); A ; c + A ; c + A ;3 c 3 References: [HNW93, Def. II..9].3 RungeKutta[Psik] { Compute k Psik(R,x ) Psik(R,x,k ) Psik(R,x,cfrac) Psik(R,x,k,cfrac) R { a stability function x { a variable k { an integer

18 THE RUNGE-KUTTA PACKAGE 4 The function Psik computes k for the stability function, R in x. If k is not specied then the maximum k is determined on basis of the order of the stability function. If the option 'cfrac' is specied then the continued fraction of is returned along with k. > Psik((+z/+z^/)/(-z/+z^/),z,'cfrac'); z z; + z > Psik((+*z/+z^/0)/(-3*z/+3*z^/0-z^3/0),z); z?0?0 + z > Psik((+*z/+z^/0)/(-3*z/+3*z^/0-z^3/0),z,); z(?0 + z)? 0? z + z References: [Hai8], [HW9, Theo. IV.3.8].4 RungeKutta[Q] { Q for B-stable methods Q(R,z ) R { a stability function z { a variable Q computes the matrix, Q for the stability function R in z. The computed Q can be used for constructing B-stable Runge-Kutta methods with R as stability function. It is generally not desirable that the stability function contains oating point numbers, since oating point numbers easily generate roundo errors when doing continued fraction expansions. It is therefore recommended to convert oating point numbers to rationals prior to using this function. > Q((+*z/+z^/0)/(-3*z/+3*z^/0-z^3/0),z); 0 References: [HW8], [Benar]. RungeKutta[quadrature] { quadrature constants quadrature(f,n)

19 THE RUNGE-KUTTA PACKAGE f { a polynomial function n { an integer quadrature computes the quadrature constants for a given polynomial of degree n, given by the polynomial function, f. > quadrature(radau right,4); [[:040 : : : ]; [: : :8948 : ]] See Also: Gauss, Lobatto, Radau left, Radau right. RungeKutta[Radau left] { Radau left polynomials Radau left(x,s) x { a variable s { an integer Radau left computes the s-degree Radau left polynomial in x. > Radau left('x',3); x(x? ) + x (x? ) + x 3 See Also: dlaguerre, dlegendre, Gauss, Laguerre, Legendre, Lobatto, Radau right. RungeKutta[Radau right] { Radau right polynomials Radau right(x,s) x { a variable s { an integer Radau right computes the s-degree Radau right polynomial in x. > Radau right('x',3); (x? ) 3 + x(x? ) + x (x? )

20 THE RUNGE-KUTTA PACKAGE See Also: dlaguerre, dlegendre, Gauss, Laguerre, Legendre, Lobatto, Radau left.8 RungeKutta[stabfnk] { stability function stabfnk(a,b,z ) A { a matrix b { a vector z { a name stabfnk generates the stability function in z for the Runge-Kutta method with matrix A and weights b. > A := linalg[matrix](,,[[/4,/4-sqrt(3)/], [/4+sqrt(3)/,/4]]): b := linalg[vector](,[/,/]): > stabfnk(a,b,z); + z + z? z + z.9 RungeKutta[stype] { check for stability properties stype(r,x,option ) stype(r,x,option,sloppy) stype(r,x,option,prec=x) stype(a,b,option ) stype(a,b,option,sloppy) stype(a,b,option,prec=x) R { a stability function x { a variable option { one of Aacceptable or Lacceptable A { a matrix b { a vector option { one of Astable, Bstable, Lstable or stiffly accurate The function stype checks a method or stability function for stability properties. If a stability function, R in x is supplied then this can be checked for A-acceptability and L-acceptability. If a Runge-Kutta method is supplied then this can be checked for A-, B- or L-stability or sti accuracy.

21 THE RUNGE-KUTTA PACKAGE If the option, 'sloppy' is specied then the computed results are allowed to deviate slightly from the stability demands required, in order to accept round-o errors. If the option, 'prec=x' is given then terms less than e? x are considered zero. > stype((+x/3)/(-*x/3+x^/),x,aacceptable); true > stype((-x/)/(+x/),x,aacceptable); false > stype((+x/3)/(-*x/3+x^/),x,lacceptable); true > stype((+x/)/(-x/),x,lacceptable); false > stype(linalg[matrix](,,[[0,0],[/,/]]), linalg[vector](,[/,/]),bstable); false > stype(linalg[matrix](,,[[0,0],[/,/]]), linalg[vector](,[/,/]),astable); true > stype(linalg[matrix](,,[[0,0],[/,/]]), linalg[vector](,[/,/]),lstable); false > stype(linalg[matrix](,,[[/,-/],[3/4,/4]]), linalg[vector](,[3/4,/4]),bstable); true > stype(linalg[matrix](,,[[/,-/],[3/4,/4]]), linalg[vector](,[3/4,/4]),lstable); true > stype(linalg[matrix](,,[[/,-/],[3/4,/4]]), linalg[vector](,[3/4,/4]),stiffly accurate); true.0 RungeKutta[W] { W-transformation matrix W(c) W(c,k ) W(c,b) c,b { a vectors k { an integer W generates the matrix, W for the W-transformation by evaluating the shifted, normalized Legendre polynomials for c. If k is specied only the rst k columns of W are generated and the remaining are left

22 THE RUNGE-KUTTA PACKAGE 8 unknown. If the vector, b with the weights of the quadrature formula is specied then W is orthogonalized wrt. the scalar product with weights given by b. If the quadrature formula is of suciently high order then the returned result is not changed by specifying b. > W(quadrature(Radau right,3)[]); 4?: p 3 :39389 p : p 3?: p : p 3 : p > W(quadrature(Radau right,3)[],quadrature(radau right,3)[]); : ?: p 3 :39389 p 3 4 : : p 3?: p : : p 3 : p References: [HW8], [HW9, p. 8{88] See Also: Legendre, X. RungeKutta[X] { compute X for the W-transformation X(s,,) X(s,Q) s,, { integers Q { a matrix X computes the matrix X for use with the W-transformation. The matrix is of dimension s and methods constructed with this matrix will satisfy the simplifyind conditions C() and D(). If the matrix Q is specied then X is returned with the maximum and and the matrix Q tted in the lower right part of X. 3 > X(3,,0); 4 References: [HW8], [HW9, p. 8{88] See Also: Q, W, xi? p 3 X;3 p 3 0 X;3 0 30p X3;3. RungeKutta[xi] { for the W-transformation xi(k ) 3

23 A NUMERICAL LINEAR ALGEBRA PACKAGE 9 k { an integer xi computes k for use with the W-transformation. > xi(3); p 3 0 References: [HW8], [HW9, p. 8{88] See Also: W, X A Numerical Linear Algebra package. Introduction to the NumLinAlg package function(args) NumLinAlg[function](args) To use a function from the package, either dene the function alone using the command with(numlinalg,function), or dene all the functions in the package by using the command with(numlinalg). Alternatively, invoke the function using the long form NumLinAlg[function]. This long form is necessary whenever there is a conict between a package function name and another function used in the same session. The functions available are: cholesky diagonalm gramschmidt eye qr unitv Most of the functions in this package are elementary, but convenient when working with linear algebra.. NumLinAlg[cholesky] { Cholesky factorization cholesky(m ) M { a matrix cholesky computes the Cholesky factorization of the matrix M. > with(numlinalg): > m := linalg[matrix](3,3,[[,,3],[,,4],[3,4,]]):

24 A NUMERICAL LINEAR ALGEBRA PACKAGE 0 > cholesky(m); ? 3 3 References: [GvL89].3 NumLinAlg[diagonalm] { diagonal matrix diagonalm(v ) v { a vector The function diagonalm generates a diagonal matrix with the diagonal equal to the vector, v. > with(numlinalg): > v := linalg[vector](4,[,,3,4]): > diagonalm(v); See Also: eye NumLinAlg[eye] { identity matrix eye(n) n { an integer eye generates the identity matrix of dimension n. > with(numlinalg): > eye(4); See Also: unitv

25 A NUMERICAL LINEAR ALGEBRA PACKAGE. NumLinAlg[gramschmidt] { Gram Schmidt orthogonalization gramschmidt(m ) gramschmidt(m,s) gramschmidt(m,s,...) M { a matrix s { a vector scalar product function gramschmidt perform Gram Schmidt orthogonalization on the matrix M. If no vector scalar product is supplied the standard dot product is used, < u; v >= u T v. An optionally supplied scalar product must have a calling sequence conform with that of linalg[dotprod]. The function diers from the linalg[gramschmidt] function by the use of an optional scalar product dierent from the standard vector dot product. Any additional arguments are passed on as the third argument to the scalar product function, s. > with(numlinalg): > m := linalg[matrix](3,3,[[,,3],[4,,],[,8,0]]): > m := gramschmidt(m); p p p p 9 p p p p m := ? p p p 3p? 33 9 > evalm(m&*linalg[transpose](m)); > mydotprod := proc(u,v) local i; sum('u[i]*v[i]*i','i'=..linalg[vectdim](u)); end: > m3 := gramschmidt(m,mydotprod); p p m3 := p 3 80? 80 > evalm(m3&*linalg[transpose](m3)); References: [GvL89] p p p 3 p 0 3 p 0 30p 3 0 0? 0 See Also: linalg[dotprod], linalg[gramschmidt] 3 3 3

26 A NUMERICAL LINEAR ALGEBRA PACKAGE. NumLinAlg[qr] { QR-factorization qr(m ) M { a matrix The function qr computes the QR-factorization for the matrix M and returns af list containing the two matrices Q and R. > with(numlinalg): > m := linalg[matrix](3,3,[[,,3],[4,,],[,8,0]]): > qr(m); ""?: : #?: ?: : :84984 ;?:84943?:30344?: References: [GvL89] "?8:403840?9:0398 ##?: : :04 0 0?: NumLinAlg[unitv] { unit vector unitv(n,k ) n,k { integers unitv generates the unit vector of length n with at element number k. > with(numlinalg): > unitv(4,); [ 0 0 0] See Also: eye

27 REFERENCES 3 References [Ben] [Benar] C. Bendtsen. On Implicit Runge-Kutta Methods with High Stage Order. Submitted to BIT, page?,? C. Bendtsen. On the Construction of Stiy Accurate and B-Stable Runge-Kutta Methods. BIT, To Appear. [But4] J. C. Butcher. Implicit Runge-Kutta Processes. Math. Comput., 8:0{4, 94. [But8] [GvL89] [Hai8] J. C. Butcher. The Numerical Analysis of Ordinary Dierential Equations. John Wiley & Sons, 98. G. H. Golub and C. G. van Loan. Matrix Computations. Johns Hopkins University Press, second edition, 989. E. Hairer. A- and B-Stability for Runge-Kutta Methods { Characterizations and Equivalence. Numer. Math., 48:383{389, 98. [HNW93] E. Hairer, S. P. Nrsett, and G. Wanner. Solving Ordinary Dierential Equations I. Nonsti Problems. Springer-Verlag, second edition, 993. [HW8] [HW9] E. Hairer and G. Wanner. Algebraically Stable and Implementable Runge-Kutta Methods of High Order. SIAM J. Numer. Anal., 8:098{08, Dec 98. E. Hairer and G. Wanner. Solving Ordinary Dierential Equations II. Sti and Dierential-Algebraic Problems. Springer-Verlag, 99.

28 Index j, 3 k, 3, 8 alpha, 3 ButcherTree, 3 alpha, 3 equal, 4 gamma, 4 generate, insert, listtdiff, occurences, order, tdiff, C, 8 cholesky, 9 conditions, 8 diagonalm, 0 dierentiate list of trees, tree, dlaguerre, 9 dlegendre, 9 equal, 4 error, 0 error constants, 0 eye, 0 factorization cholesky, 9 QR, gamma, 4 Gauss, 0 generate, gramschmidt, insert, installing, Laguerre, Legendre, listtdiff, Lobatto, matrix diagonal, 0 identity, 0 NumLinAlg, 9 cholesky, 9 diagonalm, 0 eye, 0 gramschmidt, qr, unitv, obtaining, occurences, order,, order conditions, 9 orthogonalization, package ButcherTree, 3 NumLinAlg, 9 RungeKutta, Phi, 3 polynomial Gauss, Laguerre, Legendre, Lobatto, Radau, Psik, 3 Q, 4 qr, quadrature, 4 Radau left, Radau right, RungeKutta, C, 8 conditions, 8 dlaguerre, 9 dlegendre, 9 error, 0 4

29 INDEX Gauss, 0 Laguerre, Legendre, Lobatto, order, Phi, 3 Psik, 3 Q, 4 quadrature, 4 Radau left, Radau right, stabfnk, stype, W, X, 8 xi, 8 simplifying condition, 8 stabfnk, stability function, properties, stype, tdiff, trees, 3 trees, all, unitv, W, W-transformation, X, 8 xi, 8

SOME PROPERTIES OF SYMPLECTIC RUNGE-KUTTA METHODS

SOME PROPERTIES OF SYMPLECTIC RUNGE-KUTTA METHODS SOME PROPERTIES OF SYMPLECTIC RUNGE-KUTTA METHODS ERNST HAIRER AND PIERRE LEONE Abstract. We prove that to every rational function R(z) satisfying R( z)r(z) = 1, there exists a symplectic Runge-Kutta method

More information

6.2 Mathematical description of the problem. i = m j (y j y i )=r 3 2

6.2 Mathematical description of the problem. i = m j (y j y i )=r 3 2 II-6-1 6 Pleiades problem 6.1 General information The problem consists of a nonsti system of 14 special second order dierential equations rewritten to rst order form, thus providing a nonsti system of

More information

Four Point Gauss Quadrature Runge Kuta Method Of Order 8 For Ordinary Differential Equations

Four Point Gauss Quadrature Runge Kuta Method Of Order 8 For Ordinary Differential Equations International journal of scientific and technical research in engineering (IJSTRE) www.ijstre.com Volume Issue ǁ July 206. Four Point Gauss Quadrature Runge Kuta Method Of Order 8 For Ordinary Differential

More information

Some Notes on Least Squares, QR-factorization, SVD and Fitting

Some Notes on Least Squares, QR-factorization, SVD and Fitting Department of Engineering Sciences and Mathematics January 3, 013 Ove Edlund C000M - Numerical Analysis Some Notes on Least Squares, QR-factorization, SVD and Fitting Contents 1 Introduction 1 The Least

More information

Positive Denite Matrix. Ya Yan Lu 1. Department of Mathematics. City University of Hong Kong. Kowloon, Hong Kong. Abstract

Positive Denite Matrix. Ya Yan Lu 1. Department of Mathematics. City University of Hong Kong. Kowloon, Hong Kong. Abstract Computing the Logarithm of a Symmetric Positive Denite Matrix Ya Yan Lu Department of Mathematics City University of Hong Kong Kowloon, Hong Kong Abstract A numerical method for computing the logarithm

More information

(Mathematical Operations with Arrays) Applied Linear Algebra in Geoscience Using MATLAB

(Mathematical Operations with Arrays) Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB (Mathematical Operations with Arrays) Contents Getting Started Matrices Creating Arrays Linear equations Mathematical Operations with Arrays Using Script

More information

Solutions Preliminary Examination in Numerical Analysis January, 2017

Solutions Preliminary Examination in Numerical Analysis January, 2017 Solutions Preliminary Examination in Numerical Analysis January, 07 Root Finding The roots are -,0, a) First consider x 0 > Let x n+ = + ε and x n = + δ with δ > 0 The iteration gives 0 < ε δ < 3, which

More information

Math 224, Fall 2007 Exam 3 Thursday, December 6, 2007

Math 224, Fall 2007 Exam 3 Thursday, December 6, 2007 Math 224, Fall 2007 Exam 3 Thursday, December 6, 2007 You have 1 hour and 20 minutes. No notes, books, or other references. You are permitted to use Maple during this exam, but you must start with a blank

More information

Runge-Kutta Theory and Constraint Programming Julien Alexandre dit Sandretto Alexandre Chapoutot. Department U2IS ENSTA ParisTech SCAN Uppsala

Runge-Kutta Theory and Constraint Programming Julien Alexandre dit Sandretto Alexandre Chapoutot. Department U2IS ENSTA ParisTech SCAN Uppsala Runge-Kutta Theory and Constraint Programming Julien Alexandre dit Sandretto Alexandre Chapoutot Department U2IS ENSTA ParisTech SCAN 2016 - Uppsala Contents Numerical integration Runge-Kutta with interval

More information

MATHEMATICS (MATH) Calendar

MATHEMATICS (MATH) Calendar MATHEMATICS (MATH) This is a list of the Mathematics (MATH) courses available at KPU. For information about transfer of credit amongst institutions in B.C. and to see how individual courses transfer, go

More information

Part IB Numerical Analysis

Part IB Numerical Analysis Part IB Numerical Analysis Definitions Based on lectures by G. Moore Notes taken by Dexter Chua Lent 206 These notes are not endorsed by the lecturers, and I have modified them (often significantly) after

More information

Exponentials of Symmetric Matrices through Tridiagonal Reductions

Exponentials of Symmetric Matrices through Tridiagonal Reductions Exponentials of Symmetric Matrices through Tridiagonal Reductions Ya Yan Lu Department of Mathematics City University of Hong Kong Kowloon, Hong Kong Abstract A simple and efficient numerical algorithm

More information

On the Diagonal Approximation of Full Matrices

On the Diagonal Approximation of Full Matrices On the Diagonal Approximation of Full Matrices Walter M. Lioen CWI P.O. Box 94079, 090 GB Amsterdam, The Netherlands ABSTRACT In this paper the construction of diagonal matrices, in some

More information

Instructions for Matlab Routines

Instructions for Matlab Routines Instructions for Matlab Routines August, 2011 2 A. Introduction This note is devoted to some instructions to the Matlab routines for the fundamental spectral algorithms presented in the book: Jie Shen,

More information

Spurious Chaotic Solutions of Dierential. Equations. Sigitas Keras. September Department of Applied Mathematics and Theoretical Physics

Spurious Chaotic Solutions of Dierential. Equations. Sigitas Keras. September Department of Applied Mathematics and Theoretical Physics UNIVERSITY OF CAMBRIDGE Numerical Analysis Reports Spurious Chaotic Solutions of Dierential Equations Sigitas Keras DAMTP 994/NA6 September 994 Department of Applied Mathematics and Theoretical Physics

More information

A SYMBOLIC-NUMERIC APPROACH TO THE SOLUTION OF THE BUTCHER EQUATIONS

A SYMBOLIC-NUMERIC APPROACH TO THE SOLUTION OF THE BUTCHER EQUATIONS CANADIAN APPLIED MATHEMATICS QUARTERLY Volume 17, Number 3, Fall 2009 A SYMBOLIC-NUMERIC APPROACH TO THE SOLUTION OF THE BUTCHER EQUATIONS SERGEY KHASHIN ABSTRACT. A new approach based on the use of new

More information

Multistage Methods I: Runge-Kutta Methods

Multistage Methods I: Runge-Kutta Methods Multistage Methods I: Runge-Kutta Methods Varun Shankar January, 0 Introduction Previously, we saw that explicit multistep methods (AB methods) have shrinking stability regions as their orders are increased.

More information

Applied Linear Algebra in Geoscience Using MATLAB

Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots Programming in

More information

1 Matrices and Systems of Linear Equations

1 Matrices and Systems of Linear Equations Linear Algebra (part ) : Matrices and Systems of Linear Equations (by Evan Dummit, 207, v 260) Contents Matrices and Systems of Linear Equations Systems of Linear Equations Elimination, Matrix Formulation

More information

Investigation on the Most Efficient Ways to Solve the Implicit Equations for Gauss Methods in the Constant Stepsize Setting

Investigation on the Most Efficient Ways to Solve the Implicit Equations for Gauss Methods in the Constant Stepsize Setting Applied Mathematical Sciences, Vol. 12, 2018, no. 2, 93-103 HIKARI Ltd, www.m-hikari.com https://doi.org/10.12988/ams.2018.711340 Investigation on the Most Efficient Ways to Solve the Implicit Equations

More information

Starting Methods for Two-Step Runge Kutta Methods of Stage-Order 3 and Order 6

Starting Methods for Two-Step Runge Kutta Methods of Stage-Order 3 and Order 6 Cambridge International Science Publishing Cambridge CB1 6AZ Great Britain Journal of Computational Methods in Sciences and Engineering vol. 2, no. 3, 2, pp. 1 3 ISSN 1472 7978 Starting Methods for Two-Step

More information

Linear Algebra (part 1) : Matrices and Systems of Linear Equations (by Evan Dummit, 2016, v. 2.02)

Linear Algebra (part 1) : Matrices and Systems of Linear Equations (by Evan Dummit, 2016, v. 2.02) Linear Algebra (part ) : Matrices and Systems of Linear Equations (by Evan Dummit, 206, v 202) Contents 2 Matrices and Systems of Linear Equations 2 Systems of Linear Equations 2 Elimination, Matrix Formulation

More information

Solving scalar IVP s : Runge-Kutta Methods

Solving scalar IVP s : Runge-Kutta Methods Solving scalar IVP s : Runge-Kutta Methods Josh Engwer Texas Tech University March 7, NOTATION: h step size x n xt) t n+ t + h x n+ xt n+ ) xt + h) dx = ft, x) SCALAR IVP ASSUMED THROUGHOUT: dt xt ) =

More information

Validated Explicit and Implicit Runge-Kutta Methods

Validated Explicit and Implicit Runge-Kutta Methods Validated Explicit and Implicit Runge-Kutta Methods Alexandre Chapoutot joint work with Julien Alexandre dit Sandretto and Olivier Mullier U2IS, ENSTA ParisTech 8th Small Workshop on Interval Methods,

More information

Reduction to the associated homogeneous system via a particular solution

Reduction to the associated homogeneous system via a particular solution June PURDUE UNIVERSITY Study Guide for the Credit Exam in (MA 5) Linear Algebra This study guide describes briefly the course materials to be covered in MA 5. In order to be qualified for the credit, one

More information

The restarted QR-algorithm for eigenvalue computation of structured matrices

The restarted QR-algorithm for eigenvalue computation of structured matrices Journal of Computational and Applied Mathematics 149 (2002) 415 422 www.elsevier.com/locate/cam The restarted QR-algorithm for eigenvalue computation of structured matrices Daniela Calvetti a; 1, Sun-Mi

More information

(Linear equations) Applied Linear Algebra in Geoscience Using MATLAB

(Linear equations) Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB (Linear equations) Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots

More information

IMPROVED HIGH ORDER INTEGRATORS BASED ON MAGNUS EPANSION S. Blanes ;, F. Casas, and J. Ros 3 Abstract We build high order ecient numerical integration

IMPROVED HIGH ORDER INTEGRATORS BASED ON MAGNUS EPANSION S. Blanes ;, F. Casas, and J. Ros 3 Abstract We build high order ecient numerical integration UNIVERSITY OF CAMBRIDGE Numerical Analysis Reports Improved High Order Integrators Based on Magnus Expansion S. Blanes, F. Casas and J. Ros DAMTP 999/NA8 August, 999 Department of Applied Mathematics and

More information

Automatica, 33(9): , September 1997.

Automatica, 33(9): , September 1997. A Parallel Algorithm for Principal nth Roots of Matrices C. K. Koc and M. _ Inceoglu Abstract An iterative algorithm for computing the principal nth root of a positive denite matrix is presented. The algorithm

More information

A NOTE ON RATIONAL OPERATOR MONOTONE FUNCTIONS. Masaru Nagisa. Received May 19, 2014 ; revised April 10, (Ax, x) 0 for all x C n.

A NOTE ON RATIONAL OPERATOR MONOTONE FUNCTIONS. Masaru Nagisa. Received May 19, 2014 ; revised April 10, (Ax, x) 0 for all x C n. Scientiae Mathematicae Japonicae Online, e-014, 145 15 145 A NOTE ON RATIONAL OPERATOR MONOTONE FUNCTIONS Masaru Nagisa Received May 19, 014 ; revised April 10, 014 Abstract. Let f be oeprator monotone

More information

The Gram-Schmidt Process 1

The Gram-Schmidt Process 1 The Gram-Schmidt Process In this section all vector spaces will be subspaces of some R m. Definition.. Let S = {v...v n } R m. The set S is said to be orthogonal if v v j = whenever i j. If in addition

More information

Efficiency of Runge-Kutta Methods in Solving Simple Harmonic Oscillators

Efficiency of Runge-Kutta Methods in Solving Simple Harmonic Oscillators MATEMATIKA, 8, Volume 3, Number, c Penerbit UTM Press. All rights reserved Efficiency of Runge-Kutta Methods in Solving Simple Harmonic Oscillators Annie Gorgey and Nor Azian Aini Mat Department of Mathematics,

More information

Order Results for Mono-Implicit Runge-Kutta Methods. K. Burrage, F. H. Chipman, and P. H. Muir

Order Results for Mono-Implicit Runge-Kutta Methods. K. Burrage, F. H. Chipman, and P. H. Muir Order Results for Mono-Implicit Runge-Kutta Methods K urrage, F H hipman, and P H Muir bstract The mono-implicit Runge-Kutta methods are a subclass of the wellknown family of implicit Runge-Kutta methods

More information

Improved Starting Methods for Two-Step Runge Kutta Methods of Stage-Order p 3

Improved Starting Methods for Two-Step Runge Kutta Methods of Stage-Order p 3 Improved Starting Methods for Two-Step Runge Kutta Methods of Stage-Order p 3 J.H. Verner August 3, 2004 Abstract. In [5], Jackiewicz and Verner derived formulas for, and tested the implementation of two-step

More information

Mathematical Methods for Engineers and Scientists 1

Mathematical Methods for Engineers and Scientists 1 K.T. Tang Mathematical Methods for Engineers and Scientists 1 Complex Analysis, Determinants and Matrices With 49 Figures and 2 Tables fyj Springer Part I Complex Analysis 1 Complex Numbers 3 1.1 Our Number

More information

Module 6: Implicit Runge-Kutta Methods Lecture 17: Derivation of Implicit Runge-Kutta Methods(Contd.) The Lecture Contains:

Module 6: Implicit Runge-Kutta Methods Lecture 17: Derivation of Implicit Runge-Kutta Methods(Contd.) The Lecture Contains: The Lecture Contains: We continue with the details about the derivation of the two stage implicit Runge- Kutta methods. A brief description of semi-explicit Runge-Kutta methods is also given. Finally,

More information

Numerical Analysis. A Comprehensive Introduction. H. R. Schwarz University of Zürich Switzerland. with a contribution by

Numerical Analysis. A Comprehensive Introduction. H. R. Schwarz University of Zürich Switzerland. with a contribution by Numerical Analysis A Comprehensive Introduction H. R. Schwarz University of Zürich Switzerland with a contribution by J. Waldvogel Swiss Federal Institute of Technology, Zürich JOHN WILEY & SONS Chichester

More information

which are not all zero. The proof in the case where some vector other than combination of the other vectors in S is similar.

which are not all zero. The proof in the case where some vector other than combination of the other vectors in S is similar. It follows that S is linearly dependent since the equation is satisfied by which are not all zero. The proof in the case where some vector other than combination of the other vectors in S is similar. is

More information

Our goal is to solve a general constant coecient linear second order. this way but that will not always happen). Once we have y 1, it will always

Our goal is to solve a general constant coecient linear second order. this way but that will not always happen). Once we have y 1, it will always October 5 Relevant reading: Section 2.1, 2.2, 2.3 and 2.4 Our goal is to solve a general constant coecient linear second order ODE a d2 y dt + bdy + cy = g (t) 2 dt where a, b, c are constants and a 0.

More information

Applied Linear Algebra in Geoscience Using MATLAB

Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots Programming in

More information

HIGH ORDER VARIABLE MESH EXPONENTIAL FINITE DIFFERENCE METHOD FOR THE NUMERICAL SOLUTION OF THE TWO POINTS BOUNDARY VALUE PROBLEMS

HIGH ORDER VARIABLE MESH EXPONENTIAL FINITE DIFFERENCE METHOD FOR THE NUMERICAL SOLUTION OF THE TWO POINTS BOUNDARY VALUE PROBLEMS JOURNAL OF THE INTERNATIONAL MATHEMATICAL VIRTUAL INSTITUTE ISSN (p) 2303-4866, ISSN (o) 2303-4947 www.imvibl.org /JOURNALS / JOURNAL Vol. 8(2018), 19-33 DOI: 10.7251/JMVI1801019P Former BULLETIN OF THE

More information

Subquadrature Expansions for TSRK methods

Subquadrature Expansions for TSRK methods Subquadrature Expansions for TSRK methods Abstract. Anne Kværnø and Jim Verner January 3, 2 The representation of order conditions for general linear methods formulated using an algebraic theory by Butcher,

More information

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) Contents 1 Vector Spaces 1 1.1 The Formal Denition of a Vector Space.................................. 1 1.2 Subspaces...................................................

More information

Taylor series based nite dierence approximations of higher-degree derivatives

Taylor series based nite dierence approximations of higher-degree derivatives Journal of Computational and Applied Mathematics 54 (3) 5 4 www.elsevier.com/locate/cam Taylor series based nite dierence approximations of higher-degree derivatives Ishtiaq Rasool Khan a;b;, Ryoji Ohba

More information

Linear Algebra, part 3 QR and SVD

Linear Algebra, part 3 QR and SVD Linear Algebra, part 3 QR and SVD Anna-Karin Tornberg Mathematical Models, Analysis and Simulation Fall semester, 2012 Going back to least squares (Section 1.4 from Strang, now also see section 5.2). We

More information

Reducing round-off errors in symmetric multistep methods

Reducing round-off errors in symmetric multistep methods Reducing round-off errors in symmetric multistep methods Paola Console a, Ernst Hairer a a Section de Mathématiques, Université de Genève, 2-4 rue du Lièvre, CH-1211 Genève 4, Switzerland. (Paola.Console@unige.ch,

More information

Math 314 Lecture Notes Section 006 Fall 2006

Math 314 Lecture Notes Section 006 Fall 2006 Math 314 Lecture Notes Section 006 Fall 2006 CHAPTER 1 Linear Systems of Equations First Day: (1) Welcome (2) Pass out information sheets (3) Take roll (4) Open up home page and have students do same

More information

Lecture 17: Ordinary Differential Equation II. First Order (continued)

Lecture 17: Ordinary Differential Equation II. First Order (continued) Lecture 17: Ordinary Differential Equation II. First Order (continued) 1. Key points Maple commands dsolve dsolve[interactive] dsolve(numeric) 2. Linear first order ODE: y' = q(x) - p(x) y In general,

More information

Baltzer Journals April 24, Bounds for the Trace of the Inverse and the Determinant. of Symmetric Positive Denite Matrices

Baltzer Journals April 24, Bounds for the Trace of the Inverse and the Determinant. of Symmetric Positive Denite Matrices Baltzer Journals April 4, 996 Bounds for the Trace of the Inverse and the Determinant of Symmetric Positive Denite Matrices haojun Bai ; and Gene H. Golub ; y Department of Mathematics, University of Kentucky,

More information

11.0 Introduction. An N N matrix A is said to have an eigenvector x and corresponding eigenvalue λ if. A x = λx (11.0.1)

11.0 Introduction. An N N matrix A is said to have an eigenvector x and corresponding eigenvalue λ if. A x = λx (11.0.1) Chapter 11. 11.0 Introduction Eigensystems An N N matrix A is said to have an eigenvector x and corresponding eigenvalue λ if A x = λx (11.0.1) Obviously any multiple of an eigenvector x will also be an

More information

Preface. 2 Linear Equations and Eigenvalue Problem 22

Preface. 2 Linear Equations and Eigenvalue Problem 22 Contents Preface xv 1 Errors in Computation 1 1.1 Introduction 1 1.2 Floating Point Representation of Number 1 1.3 Binary Numbers 2 1.3.1 Binary number representation in computer 3 1.4 Significant Digits

More information

TABLE OF CONTENTS INTRODUCTION, APPROXIMATION & ERRORS 1. Chapter Introduction to numerical methods 1 Multiple-choice test 7 Problem set 9

TABLE OF CONTENTS INTRODUCTION, APPROXIMATION & ERRORS 1. Chapter Introduction to numerical methods 1 Multiple-choice test 7 Problem set 9 TABLE OF CONTENTS INTRODUCTION, APPROXIMATION & ERRORS 1 Chapter 01.01 Introduction to numerical methods 1 Multiple-choice test 7 Problem set 9 Chapter 01.02 Measuring errors 11 True error 11 Relative

More information

Introduction 5. 1 Floating-Point Arithmetic 5. 2 The Direct Solution of Linear Algebraic Systems 11

Introduction 5. 1 Floating-Point Arithmetic 5. 2 The Direct Solution of Linear Algebraic Systems 11 SCIENTIFIC COMPUTING BY NUMERICAL METHODS Christina C. Christara and Kenneth R. Jackson, Computer Science Dept., University of Toronto, Toronto, Ontario, Canada, M5S 1A4. (ccc@cs.toronto.edu and krj@cs.toronto.edu)

More information

User Guide for Hermir version 0.9: Toolbox for Synthesis of Multivariate Stationary Gaussian and non-gaussian Series

User Guide for Hermir version 0.9: Toolbox for Synthesis of Multivariate Stationary Gaussian and non-gaussian Series User Guide for Hermir version 0.9: Toolbox for Synthesis of Multivariate Stationary Gaussian and non-gaussian Series Hannes Helgason, Vladas Pipiras, and Patrice Abry June 2, 2011 Contents 1 Organization

More information

New series expansions of the Gauss hypergeometric function

New series expansions of the Gauss hypergeometric function New series expansions of the Gauss hypergeometric function José L. López and Nico. M. Temme 2 Departamento de Matemática e Informática, Universidad Pública de Navarra, 36-Pamplona, Spain. e-mail: jl.lopez@unavarra.es.

More information

Applied Linear Algebra in Geoscience Using MATLAB

Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots Programming in

More information

Columbus State Community College Mathematics Department. CREDITS: 5 CLASS HOURS PER WEEK: 5 PREREQUISITES: MATH 2173 with a C or higher

Columbus State Community College Mathematics Department. CREDITS: 5 CLASS HOURS PER WEEK: 5 PREREQUISITES: MATH 2173 with a C or higher Columbus State Community College Mathematics Department Course and Number: MATH 2174 - Linear Algebra and Differential Equations for Engineering CREDITS: 5 CLASS HOURS PER WEEK: 5 PREREQUISITES: MATH 2173

More information

1 Last time: least-squares problems

1 Last time: least-squares problems MATH Linear algebra (Fall 07) Lecture Last time: least-squares problems Definition. If A is an m n matrix and b R m, then a least-squares solution to the linear system Ax = b is a vector x R n such that

More information

Mathematics for Engineers and Scientists

Mathematics for Engineers and Scientists Mathematics for Engineers and Scientists Fourth edition ALAN JEFFREY University of Newcastle-upon-Tyne B CHAPMAN & HALL University and Professional Division London New York Tokyo Melbourne Madras Contents

More information

1. Introduction Let the least value of an objective function F (x), x2r n, be required, where F (x) can be calculated for any vector of variables x2r

1. Introduction Let the least value of an objective function F (x), x2r n, be required, where F (x) can be calculated for any vector of variables x2r DAMTP 2002/NA08 Least Frobenius norm updating of quadratic models that satisfy interpolation conditions 1 M.J.D. Powell Abstract: Quadratic models of objective functions are highly useful in many optimization

More information

COMPUTATION OF BESSEL AND AIRY FUNCTIONS AND OF RELATED GAUSSIAN QUADRATURE FORMULAE

COMPUTATION OF BESSEL AND AIRY FUNCTIONS AND OF RELATED GAUSSIAN QUADRATURE FORMULAE BIT 6-85//41-11 $16., Vol. 4, No. 1, pp. 11 118 c Swets & Zeitlinger COMPUTATION OF BESSEL AND AIRY FUNCTIONS AND OF RELATED GAUSSIAN QUADRATURE FORMULAE WALTER GAUTSCHI Department of Computer Sciences,

More information

UMIACS-TR July CS-TR 2494 Revised January An Updating Algorithm for. Subspace Tracking. G. W. Stewart. abstract

UMIACS-TR July CS-TR 2494 Revised January An Updating Algorithm for. Subspace Tracking. G. W. Stewart. abstract UMIACS-TR-9-86 July 199 CS-TR 2494 Revised January 1991 An Updating Algorithm for Subspace Tracking G. W. Stewart abstract In certain signal processing applications it is required to compute the null space

More information

1 I A Q E B A I E Q 1 A ; E Q A I A (2) A : (3) A : (4)

1 I A Q E B A I E Q 1 A ; E Q A I A (2) A : (3) A : (4) Latin Squares Denition and examples Denition. (Latin Square) An n n Latin square, or a latin square of order n, is a square array with n symbols arranged so that each symbol appears just once in each row

More information

a s 1.3 Matrix Multiplication. Know how to multiply two matrices and be able to write down the formula

a s 1.3 Matrix Multiplication. Know how to multiply two matrices and be able to write down the formula Syllabus for Math 308, Paul Smith Book: Kolman-Hill Chapter 1. Linear Equations and Matrices 1.1 Systems of Linear Equations Definition of a linear equation and a solution to a linear equations. Meaning

More information

Counterexamples to witness conjectures. Notations Let E be the set of admissible constant expressions built up from Z; + ;?;;/; exp and log. Here a co

Counterexamples to witness conjectures. Notations Let E be the set of admissible constant expressions built up from Z; + ;?;;/; exp and log. Here a co Counterexamples to witness conjectures Joris van der Hoeven D pt. de Math matiques (b t. 45) Universit Paris-Sud 91405 Orsay CEDEX France August 15, 003 Consider the class of exp-log constants, which is

More information

Applied Numerical Analysis

Applied Numerical Analysis Applied Numerical Analysis Using MATLAB Second Edition Laurene V. Fausett Texas A&M University-Commerce PEARSON Prentice Hall Upper Saddle River, NJ 07458 Contents Preface xi 1 Foundations 1 1.1 Introductory

More information

Linear Regression and Its Applications

Linear Regression and Its Applications Linear Regression and Its Applications Predrag Radivojac October 13, 2014 Given a data set D = {(x i, y i )} n the objective is to learn the relationship between features and the target. We usually start

More information

Exercise Set 7.2. Skills

Exercise Set 7.2. Skills Orthogonally diagonalizable matrix Spectral decomposition (or eigenvalue decomposition) Schur decomposition Subdiagonal Upper Hessenburg form Upper Hessenburg decomposition Skills Be able to recognize

More information

NUMERICAL COMPUTATION IN SCIENCE AND ENGINEERING

NUMERICAL COMPUTATION IN SCIENCE AND ENGINEERING NUMERICAL COMPUTATION IN SCIENCE AND ENGINEERING C. Pozrikidis University of California, San Diego New York Oxford OXFORD UNIVERSITY PRESS 1998 CONTENTS Preface ix Pseudocode Language Commands xi 1 Numerical

More information

PROOF OF TWO MATRIX THEOREMS VIA TRIANGULAR FACTORIZATIONS ROY MATHIAS

PROOF OF TWO MATRIX THEOREMS VIA TRIANGULAR FACTORIZATIONS ROY MATHIAS PROOF OF TWO MATRIX THEOREMS VIA TRIANGULAR FACTORIZATIONS ROY MATHIAS Abstract. We present elementary proofs of the Cauchy-Binet Theorem on determinants and of the fact that the eigenvalues of a matrix

More information

Key words. conjugate gradients, normwise backward error, incremental norm estimation.

Key words. conjugate gradients, normwise backward error, incremental norm estimation. Proceedings of ALGORITMY 2016 pp. 323 332 ON ERROR ESTIMATION IN THE CONJUGATE GRADIENT METHOD: NORMWISE BACKWARD ERROR PETR TICHÝ Abstract. Using an idea of Duff and Vömel [BIT, 42 (2002), pp. 300 322

More information

Solving Orthogonal Matrix Differential Systems in Mathematica

Solving Orthogonal Matrix Differential Systems in Mathematica Solving Orthogonal Matrix Differential Systems in Mathematica Mark Sofroniou 1 and Giulia Spaletta 2 1 Wolfram Research, Champaign, Illinois, USA. marks@wolfram.com 2 Mathematics Department, Bologna University,

More information

Optimal Implicit Strong Stability Preserving Runge Kutta Methods

Optimal Implicit Strong Stability Preserving Runge Kutta Methods Optimal Implicit Strong Stability Preserving Runge Kutta Methods David I. Ketcheson, Colin B. Macdonald, Sigal Gottlieb. August 3, 2007 Abstract Strong stability preserving (SSP) time discretizations were

More information

Contents. Preface to the Third Edition (2007) Preface to the Second Edition (1992) Preface to the First Edition (1985) License and Legal Information

Contents. Preface to the Third Edition (2007) Preface to the Second Edition (1992) Preface to the First Edition (1985) License and Legal Information Contents Preface to the Third Edition (2007) Preface to the Second Edition (1992) Preface to the First Edition (1985) License and Legal Information xi xiv xvii xix 1 Preliminaries 1 1.0 Introduction.............................

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 1: Course Overview & Matrix-Vector Multiplication Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Numerical Analysis I 1 / 20 Outline 1 Course

More information

COMPUTATIONAL METHODS AND ALGORITHMS Vol. I - Numerical Analysis and Methods for Ordinary Differential Equations - N.N. Kalitkin, S.S.

COMPUTATIONAL METHODS AND ALGORITHMS Vol. I - Numerical Analysis and Methods for Ordinary Differential Equations - N.N. Kalitkin, S.S. NUMERICAL ANALYSIS AND METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS N.N. Kalitkin Institute for Mathematical Modeling, Russian Academy of Sciences, Moscow, Russia S.S. Filippov Keldysh Institute of Applied

More information

Notes on Dantzig-Wolfe decomposition and column generation

Notes on Dantzig-Wolfe decomposition and column generation Notes on Dantzig-Wolfe decomposition and column generation Mette Gamst November 11, 2010 1 Introduction This note introduces an exact solution method for mathematical programming problems. The method is

More information

REPORTRAPPORT. Centrum voor Wiskunde en Informatica. Asymptotics of zeros of incomplete gamma functions. N.M. Temme

REPORTRAPPORT. Centrum voor Wiskunde en Informatica. Asymptotics of zeros of incomplete gamma functions. N.M. Temme Centrum voor Wiskunde en Informatica REPORTRAPPORT Asymptotics of zeros of incomplete gamma functions N.M. Temme Department of Analysis, Algebra and Geometry AM-R9402 994 Asymptotics of Zeros of Incomplete

More information

Polynomial encryption

Polynomial encryption Polynomial encryption Yeray Cachón Santana May 0, 018 This paper proposes a new method to encrypt and decrypt a message by special functions formed by Hermite, Laguerre, Tchebychev and Bessel The idea

More information

A Glimpse at Scipy FOSSEE. June Abstract This document shows a glimpse of the features of Scipy that will be explored during this course.

A Glimpse at Scipy FOSSEE. June Abstract This document shows a glimpse of the features of Scipy that will be explored during this course. A Glimpse at Scipy FOSSEE June 010 Abstract This document shows a glimpse of the features of Scipy that will be explored during this course. 1 Introduction SciPy is open-source software for mathematics,

More information

Phys 631 Mathematical Methods of Theoretical Physics Fall 2018

Phys 631 Mathematical Methods of Theoretical Physics Fall 2018 Phys 631 Mathematical Methods of Theoretical Physics Fall 2018 Course information (updated November 10th) Instructor: Joaquín E. Drut. Email: drut at email.unc.edu. Office: Phillips 296 Where and When:

More information

Chapter 2 Notes, Linear Algebra 5e Lay

Chapter 2 Notes, Linear Algebra 5e Lay Contents.1 Operations with Matrices..................................1.1 Addition and Subtraction.............................1. Multiplication by a scalar............................ 3.1.3 Multiplication

More information

1 Vectors. Notes for Bindel, Spring 2017 Numerical Analysis (CS 4220)

1 Vectors. Notes for Bindel, Spring 2017 Numerical Analysis (CS 4220) Notes for 2017-01-30 Most of mathematics is best learned by doing. Linear algebra is no exception. You have had a previous class in which you learned the basics of linear algebra, and you will have plenty

More information

Geometric interpretation of signals: background

Geometric interpretation of signals: background Geometric interpretation of signals: background David G. Messerschmitt Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-006-9 http://www.eecs.berkeley.edu/pubs/techrpts/006/eecs-006-9.html

More information

Analysis of Carleman Representation of Analytical Recursions

Analysis of Carleman Representation of Analytical Recursions JOURNAL OF MATHEMATICAL ANALYSIS AND APPLICATIONS 224, 8190 1998 ARTICLE NO. AY985986 Analysis of Carleman Representation of Analytical Recursions G. Berolaio Department of Physics, Bar-Ilan Uniersity,

More information

Department of Applied Mathematics Preliminary Examination in Numerical Analysis August, 2013

Department of Applied Mathematics Preliminary Examination in Numerical Analysis August, 2013 Department of Applied Mathematics Preliminary Examination in Numerical Analysis August, 013 August 8, 013 Solutions: 1 Root Finding (a) Let the root be x = α We subtract α from both sides of x n+1 = x

More information

Mathematics with Maple

Mathematics with Maple Mathematics with Maple A Comprehensive E-Book Harald Pleym Preface The main objective of these Maple worksheets, organized for use with all Maple versions from Maple 14, is to show how the computer algebra

More information

No books, no notes, no calculators. You must show work, unless the question is a true/false, yes/no, or fill-in-the-blank question.

No books, no notes, no calculators. You must show work, unless the question is a true/false, yes/no, or fill-in-the-blank question. Math 304 Final Exam (May 8) Spring 206 No books, no notes, no calculators. You must show work, unless the question is a true/false, yes/no, or fill-in-the-blank question. Name: Section: Question Points

More information

Contents. I Basic Methods 13

Contents. I Basic Methods 13 Preface xiii 1 Introduction 1 I Basic Methods 13 2 Convergent and Divergent Series 15 2.1 Introduction... 15 2.1.1 Power series: First steps... 15 2.1.2 Further practical aspects... 17 2.2 Differential

More information

q-counting hypercubes in Lucas cubes

q-counting hypercubes in Lucas cubes Turkish Journal of Mathematics http:// journals. tubitak. gov. tr/ math/ Research Article Turk J Math (2018) 42: 190 203 c TÜBİTAK doi:10.3906/mat-1605-2 q-counting hypercubes in Lucas cubes Elif SAYGI

More information

Numerical Methods for Engineers. and Scientists. Applications using MATLAB. An Introduction with. Vish- Subramaniam. Third Edition. Amos Gilat.

Numerical Methods for Engineers. and Scientists. Applications using MATLAB. An Introduction with. Vish- Subramaniam. Third Edition. Amos Gilat. Numerical Methods for Engineers An Introduction with and Scientists Applications using MATLAB Third Edition Amos Gilat Vish- Subramaniam Department of Mechanical Engineering The Ohio State University Wiley

More information

W. Kramer, U. Kulisch, R. Lohner. Numerical Toolbox. for Veried Computing II. Advanced Numerical Problems

W. Kramer, U. Kulisch, R. Lohner. Numerical Toolbox. for Veried Computing II. Advanced Numerical Problems W. Kramer, U. Kulisch, R. Lohner Numerical Toolbox for Veried Computing II Advanced Numerical Problems This is a draftversion which still contains errors. i Preface To L. Kronecker we owe the remark, \God

More information

Part 1: Overview of Ordinary Dierential Equations 1 Chapter 1 Basic Concepts and Problems 1.1 Problems Leading to Ordinary Dierential Equations Many scientic and engineering problems are modeled by systems

More information

LAKELAND COMMUNITY COLLEGE COURSE OUTLINE FORM

LAKELAND COMMUNITY COLLEGE COURSE OUTLINE FORM LAKELAND COMMUNITY COLLEGE COURSE OUTLINE FORM ORIGINATION DATE: 8/2/99 APPROVAL DATE: 3/22/12 LAST MODIFICATION DATE: 3/28/12 EFFECTIVE TERM/YEAR: FALL/ 12 COURSE ID: COURSE TITLE: MATH2800 Linear Algebra

More information

1 Groups Examples of Groups Things that are not groups Properties of Groups Rings and Fields Examples...

1 Groups Examples of Groups Things that are not groups Properties of Groups Rings and Fields Examples... Contents 1 Groups 2 1.1 Examples of Groups... 3 1.2 Things that are not groups....................... 4 1.3 Properties of Groups... 5 2 Rings and Fields 6 2.1 Examples... 8 2.2 Some Finite Fields... 10

More information

Lecture 4: Series expansions with Special functions

Lecture 4: Series expansions with Special functions Lecture 4: Series expansions with Special functions 1. Key points 1. Legedre polynomials (Legendre functions) 2. Hermite polynomials(hermite functions) 3. Laguerre polynomials (Laguerre functions) Other

More information

Linear Algebra. and

Linear Algebra. and Instructions Please answer the six problems on your own paper. These are essay questions: you should write in complete sentences. 1. Are the two matrices 1 2 2 1 3 5 2 7 and 1 1 1 4 4 2 5 5 2 row equivalent?

More information

KEYWORDS. Numerical methods, generalized singular values, products of matrices, quotients of matrices. Introduction The two basic unitary decompositio

KEYWORDS. Numerical methods, generalized singular values, products of matrices, quotients of matrices. Introduction The two basic unitary decompositio COMPUTING THE SVD OF A GENERAL MATRIX PRODUCT/QUOTIENT GENE GOLUB Computer Science Department Stanford University Stanford, CA USA golub@sccm.stanford.edu KNUT SLNA SC-CM Stanford University Stanford,

More information

Numerical Integration exact integration is not needed to achieve the optimal convergence rate of nite element solutions ([, 9, 11], and Chapter 7). In

Numerical Integration exact integration is not needed to achieve the optimal convergence rate of nite element solutions ([, 9, 11], and Chapter 7). In Chapter 6 Numerical Integration 6.1 Introduction After transformation to a canonical element,typical integrals in the element stiness or mass matrices (cf. (5.5.8)) have the forms Q = T ( )N s Nt det(j

More information

Eigenvalue and Eigenvector Homework

Eigenvalue and Eigenvector Homework Eigenvalue and Eigenvector Homework Olena Bormashenko November 4, 2 For each of the matrices A below, do the following:. Find the characteristic polynomial of A, and use it to find all the eigenvalues

More information