What tools are available to help with the search for syntax errors within Maple code?
It seems to me the built-in debugger is designed to assist with the testing of Maple code with no syntax errors. While this is important, and useful, the code has to be syntactically correct before this is of any use.
Here's the situation I am facing. I have a file with more than 3500 lines of Maple code. Close to 1000 lines is the definition of a maplet, which has to be in one execution group. If there is a single missing comma, square bracket, or parenthesis, Maple will generate an error message and will place the cursor somewhere within the offending execution group. I have seen enough error messages that I know what they mean; I'm not complaining about the error message. My complaint is about the location of the cursor. While the location is deterministic, it is rarely close to the actual location of the error. Does anyone have any useful tips for how to locate the source of syntax errors within large Maple programs?

Earlier today, I was re-reading an old post when I was inspired. The post asked how one could use typesetting rules to make the call of a procedure typeset as a binary operation. The example used in the post was something along the lines of:
`myproc(a,b);`

**becomes** `a <symbol> b;`

Inspired by a response to that post, I started looking at the help page for the `define`

command and doing some testing in Maple. I was ready to make a reply to that post, when I stumbled upon a mind-boggling error. In the time it's taken me to track down that error (and run various errands), the original post has vanished from my view. Perhaps it still exists somewhere, but for the life of me, I cannot find it; therefore, I post to the next most appropriate place to describe and discuss this shortcoming: This blog.

Hi:
Procedure "rsolve" in both Maple 10 (and 11) gives a complicated
answer to the following recursion:
rs:=subs(n=n,4*(n-1)^2*f(n-2)-(3+8*n^2-8*n)*f(n-1)+4*f(n)*n^2);
ans:=rsolve({rs=0,f(1)=3/4,f(2)=41/64},{f(k)});
The answer involves both indices "n" and "k". I tried testing the answer by checking the original recursion equation and it doesn't work. (I am not posting the answer, but you can generate it by yourself by pasting the code above)
Questions:
1. What does it mean when a recursion solution involves TWO indices? An example similar to this case is given in the help file, but the answer only involves one index.

In a posting posting at

http://www.math.utexas.edu/pipermail/maxima/2006/000126.html Fateman cites Gosper with an interesting approach to compute the hypergeometric function 2F1.
I used that to produce a compiled version (double precision only), which can be achieved from Excel for example. The approach however can be used within Maple as well.
The idea is, that with his way the linear transformations given in A&S need to be applied only once to cover the whole complex plane: up to 1 transformation one can use either Gosper's recursion or even lives in the unit circle with radius 1/2 (where the hypergeometric series already converges quite fast).

February 24 2007
mmead 0
I have used the components palette to build a user interface for a complex data analysis and display task. It involves multiple worksheets running in shared kernel mode. The main worksheet is organized as a 3x2 table, each cell of which uses components to display a set of some 25 related data parameters and controls. A second worksheet contains buttons and plot regions for graphing the columns of various data Matrices associated with the parameter sets. The parameters are stored in databases, and the Matrix data have been generated from the parameter sets as input by a stand-alone Fortran program. A third worksheet contains spreadsheets for examining the data in the Matrices. The various buttons on these Worksheets call the procedures in a library devoted to the interface, which procedures accomplish things like loading parameter or data files, clearing or updating the displayed parameter sets, executing data analyses, etc. Keeping so many components straight in my mind demanded that I adopt a uniform naming scheme, so the generic component names have all been replaced by my mnemonic ones which are derived from the underlying data content of each component. All this is pretty much nothing fancy, just as it MUST be, given what I'm trying to accomplish. Now I want to augment the user interface to include another set of parameters, controls and data Matrices all of which are disjoint from the existing ones.

For testing an external routine against Maple I have something like
Gamma_mpl:=define_external(
'Gamma_mpl',
'C',
'Z'::ARRAY(1..n,datatype=float[8]),
'result'::ARRAY(1..n,datatype=float[8]),
LIB=theDLL);
where the function in the DLL (compiled with Dev-C++) is like
extern "C" __declspec( dllexport ) __stdcall
void Gamma_mpl(double *Z, double *R){ ... some code ...}
It takes the input in Z and updates values in R.
The following works as expected:
z:= -1.1 + 2.1*I*0:
# provide memory
Z:=Array(1..2, order= Fortran_order, datatype= float[8]):

While numerically testing a solution for the
February 2007 IBM Ponder This challenge
I had to generate a large n×2 Array of random floats
uniformly distributed in [0,1).

I am trying to create an array for testing the FFT errors within maple. Every time I try to assign values to the 1024-element array, the program prints them all out. Is there any way to turn this off?

Hi,

I have posted the topic once, but as recieved no reply, I am trying a little force, hope it ain't forbidden:-)

Ok, basing on Carl-Rubin theorem, it is easy to determine UMP test for testing H0: p<p1 or p2<p vs H1: p1<p<p2 where p1 and p2 are given probabilities. To test this at some significance level alpha, we repeat a Bernoulli scheme B(p) n times. In fact, for us to obtain a UMP test for H0 at the level alpha, we have to construct a randomized test, based on a statistic S being the number of successes. If S falls between x_a and x_b we decide to reject the Null Hypothesis. If S happens to be x_a or x_b, then we run another experiment and basing on its result we reject or accept H0.

Hi there,
I've just started using Maple, and must say it is a real good tool - powerfull!!! But to the point, I have created a 'simple' procedure for determinig the shape of UMP Unbiased test for testing H0: the probability 'p' of getting "1" in the Bernoulli scheme is

Because my ISP no longer offers home pages, I'm putting the source to maplev-mode here.

maplev-mode is an Emacs major mode for developing Maple code.
Its features include:

- font-lock (highlighting) of Maple keywords
- automatic indentation
- syntax checking (via Mint)
- online Maple help
- online display of Maple procedures
- imenu support
- auto-fill support

It works properly with NTEmacs on a Windows machine and
with GNU Emacs on a Linux box.
It has been tested with GNU Emacs 21.2.
It is supposed to work with Xemacs but the testing done
with Xemacs has been minimal.
The manual is badly out of date.

The current version supports Maple 11
and previous releases of Maple.

**MAPLESOFT’S LATEST TESTING SOLUTIONS PRODUCT OFFERS MAJOR ADVANCEMENTS IN ASSESSMENT TECHNOLOGY**

*Maple T.A. 3.0 is the only system **designed specifically** for courses using mathematics*

**Waterloo****, Canada****, January 8, 2007: **Maplesoft™, the leading provider of high-performance software tools for engineering, science and mathematics, today announced significant enhancements to Maple T.A.™, its Web-based testing and assessment system. The new version, Maple T.A. 3.0, features increased flexibility in content creation, an enhanced user interface, and improved grading and assessment capabilities. The product supports complex, free-form entry of mathematical equations and intelligent evaluation of responses, making it the only system designed for mathematics, science, or any course requiring mathematics.

“Maplesoft’s decades of experience in the academic market, expertise in creating dynamic technology solutions, and our collaboration with leading institutions in math education have resulted in a product that instructors can place their full trust in,” said Jim Cooper, Maplesoft CEO. “The latest release of Maple T.A. is a more intelligent and integrated product, and is the system of choice for creating content, testing, and assessment in the math education world.”

Built on the power of Maple™, Maplesoft’s software product for solving complex mathematical problems, Maple T.A. 3.0 provides new benefits that make the product more adaptable and easier to use.

Hello,
my question is connected to the topic in my blogpost -

Testing objects for equivalence.
Alec Mihailovs wrote a procedure for

nested verifications.
But this doesn't work for relations where one relation equals to the second one multiplied by a constant. They are different, but solution is the same.
For example:
x=1
2*x=2
also Maple answers false.

`verify(x=1, 2*x=2,relation);`

false
Maplesoft.com recently posted a new user story that describes how Maple was used by a German company that develops, produces, and distributes towing kite wind propulsion systems for modern means of sea travel and transportation.

Here is a quote from the company:

“SkySails is grateful to Maplesoft, because Maple saved us a lot of time. Using Maple was very easy and quick. The computations we used are probably very basic for Maple, but they were extremely effective for SkySails. When testing the simulator, the correctness of the mathematical model is crucial. With Maple, there was nothing to worry about!”

Click here to read the whole story.

As a project I have found need to create a new type through the external calling interface of maple. To allow for easy use of this type I have been overloading the operators to handle this new type. Most of them seem to work quite well but I am having a problem that by overloading these operators some totally unrelated functions seem to break (even when not dealing with my new type).