Maple Procedures

Below are some various procedures to extend the functionality of Maple. For some additional details (or maybe clarity) you can see the PDF from a talk I gave here.

Installation

Download the procedure filename.m (below) and place it somewhere handy on your computer. Simply use the command

read `/directory/to/the/file/filename.m`;

to read the procedure into Maple. Then use, e.g.

Describe(ibp);

to explain how to call the procedure properly. See the source code pages for more detailed information and examples.

Integration By Parts

ibp: ibp.m

PhysicsDiff

physicsdiff: physicsdiff.m

Changelog


2013-02-08 00:11:08 -0500	Physicsdiff v 0.3 || IBP v 0.5
2013-02-08 00:10:22 -0500	Tested for higher order derivatives. Release as new version.
2013-02-08 00:06:06 -0500	Physicsdiff now runs with a completely new algorithm. It should be capable of differentiating derivatives up to tenth order.
2013-01-27 20:14:59 -0500	Physicsdiff v 0.2 || IBP v 0.5
2013-01-27 20:14:22 -0500	Fixed a bug that occurs for powers of lone terms and improved tryhard.
2013-01-26 00:02:51 -0500	Declared variable overlap bug fixed in physicsdiff.
2013-01-25 22:06:32 -0500	Physicsdiff v 0.2 || IBP v 0.4
2013-01-25 16:06:23 -0500	Physicsdiff now handles simple arrays in dparam, for multivariable functions.
2012-09-06 13:43:44 -0400	Fixed a bug where IBP misses and kills lone terms.
2012-09-05 11:16:04 -0400	Physicsdiff v 0.1 || IBP v 0.4
2012-09-04 17:00:06 -0400	Initial commit of the test function for the physics derivative procedure.
2012-09-04 15:38:00 -0400	Added physics differentiation (using frontend)
2012-09-04 15:36:34 -0400	Added a test file for IBP
2012-08-23 00:10:53 -0400	Performed some garbage cleanup on variables.
2012-08-23 00:02:48 -0400	Version 0.4
2012-08-23 00:00:42 -0400	Restructured source. Tryhard option added for specific purposes.
2012-08-22 16:38:57 -0400	Corrected the previous bug with a failsafe.
2012-08-22 15:26:29 -0400	Bug: a power can cause ibp to return zero for an expression.
2012-08-21 23:17:58 -0400	Version 0.3
2012-08-21 23:12:09 -0400	Fixed missing bracket
2012-08-21 22:53:02 -0400	Fixed typo in help text and added functionality for multiple integrations by parts.
2012-08-15 15:04:58 -0400	Added a changelog
2012-08-15 10:56:28 -0400	Corrected Robb's bug for power=1
2012-08-14 14:23:00 -0400	Version 0.2
2012-08-14 13:45:10 -0400	Initial commit

LaTeX Template

Here is a LaTeX template that I use with the Listings package to make Maple code look nice. Here it is, as a starter:

\usepackage{listings}
\usepackage{color}
\usepackage{MnSymbol}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\definecolor{ideablue}{RGB}{1,24,146}

\lstdefinelanguage{maple}
	{morekeywords={true, false, try, catch, return, break, error, 
		module, export, local, option, in, use, and, or, not, 
		xor, xnor, if, then, elif, else, fi, while, for, from, 
		by, to, do, od, proc, nargs, local, global, end, NULL}}

\lstset{
	frame=tb,
	language=Maple,
	aboveskip=3mm,
	belowskip=3mm,
	showstringspaces=false,
	columns=flexible,
	basicstyle={\small\ttfamily},
	numbers=none,
	numberstyle=\tiny\color{gray},
	keywordstyle=\color{blue},
	commentstyle=\color{dkgreen},
	stringstyle=\color{mauve},
	%Line breaking behaviour
	breaklines=true,
	%postbreak={\textbf{marker}\\space\\space\\space\\space},
	%prebreak={},
	%  breakatwhitespace=true
	tabsize=3
}
\lstset{prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\rhookswarrow}}} % requires \usepackage{MnSymbol}
\lstset{postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\rcurvearrowse\space}}} % requires \usepackage{MnSymbol}