Items tagged with testing testing Tagged Items Feed

We regularly host live webinars on a variety of topics for our customers, and we wanted to make this information available to the MaplePrimes community as well. We will be posting information about new webinars we think will be of interest approximately once per month.

Partnering with the MAA to Revolutionize Placement Testing

In this webinar, we will demonstrate how the Maple T.A. MAA Placement Test Suite can be used to ease the problem of placement testing and how it can benefit your campus in general.

Other topics include:

• How placement testing contributes to student success

• How the MAA placement tests are created, and rigorously validated

• How valid and reliable the MAA placement tests are for entry level mathematics courses

• How you can use the Maple T.A. Placement Test Suite for easy administration, flexible delivery, and fast results

To join us for the live presentation, please click here to register.

An isometry of the Euclidean plane is a distance-preserving transformation of the plane.  There are four types: translations,  rotations,  reflections,  and  glide reflections. See

Procedure  AreIsometric  checks two plane sets  Set1  and  Set2  and  if there is an isometry of the plane mapping the first set to the second one, then the procedure returns true and false otherwise. Global variable  T  saves the type of isometry and all its parameters. For example, it returns  the rotation center and rotation angle, etc.

Each of the sets  Set1  and  Set2   is the set (or list) consisting of the following objects in any combinations:

1) The points that are defined as a list of coordinates  [х, y] .

2) Segments, which are defined as a set (or list)  of two points  {[x1, y1], [x2, y2]}  or  [[x1, y1], [x2, y2]]  .

3) Curves, which should  be defined as a list of points   [[x1, y1], [x2, y2], ..., [xn, yn]].

Of course, if  n = 2, then the curve is identical to the segment.


Code of the procedure:

AreIsometric:=proc(Set1::{set,list}, Set2::{set,list}) 

local n1, n2, n3, n4,s1, S, s, l1, l2, S11, f, x0, y0, phi, Sol, x, y, M1, M2, A1, A2, A3, A4, B1, B2, B3, B4, line1, line2, line3, line4, u, v, Sign, g, M, Line1, Line2, Line3, A, B, C, h, AB, CD, Eq, Eq1, T1, T2, i, S1, S2, T11; 

global T; 

uses combinat;     


S1:={};  S2:={};  T1:={}; T2:={}; 


for i in Set1 do 

if i[1]::realcons  then S1:={op(S1),i} else 

S1:={op(i), op(S1)};  T1:={op(T1), seq({i[k],i[k+1]}, k=1..nops(i)-1)} fi;  



for i in Set2 do 

if i[1]::realcons  then S2:={op(S2),i} else 

S2:={op(i), op(S2)};  T2:={op(T2), seq({i[k],i[k+1]}, k=1..nops(i)-1)} fi; 



n1:=nops(S1);  n2:=nops(S2);  n3:=nops(T1); n4:=nops(T2); 

if is(S1=S2) and is(T1=T2) then T:=identity;  return true fi; 

if n1<>n2 or n3<>n4 then return false fi; 

if n1=1 then T:=[translation, <S2[1,1]-S1[1,1], S2[1,2]-S1[1,2]>];  return true fi;


f:=(x,y,phi)->[(x-x0)*cos(phi)-(y-y0)*sin(phi)+x0, (x-x0)*sin(phi)+(y-y0)*cos(phi)+y0];  g:=(x,y)->[(B^2*x-A^2*x-2*A*B*y-2*A*C)/(A^2+B^2), (A^2*y-B^2*y-2*A*B*x-2*B*C)/(A^2+B^2)]; 

_Envsignum0 := 1;


s1:=[S1[1], S1[2]];  S:=select(s->is((s1[2,1]-s1[1,1])^2+(s1[2,2]-s1[1,2])^2=(s[2,1]-s[1,1])^2+(s[2,2]-s[1,2])^2),permute(S2, 2));    

for s in S do   


# Checking for translation    

l1:=s[1]-s1[1]; l2:=s[2]-s1[2]; 

if is(l1=l2) then S11:=map(x->x+l1, S1); 

if n3<>0 then T11:={seq(map(x->x+l1, T1[i]), i=1..nops(T1))}; fi; 

if n3=0 then  if is(S11=S2) then T:=[translation, convert(l1, Vector)]; return true fi;  else 

if is(S11=S2) and is(T11=T2) then T:=[translation, convert(l1, Vector)]; return true fi; fi; 



# Checking for rotation   

x0:='x0'; y0:='y0'; phi:='phi'; u:='u'; v:='v'; Sign:='Sign';    

if  is(s1[1]-s[1]<>s1[2]-s[2]) then  

M1:=[(s1[1,1]+s[1,1])/2, (s1[1,2]+s[1,2])/2]; M2:=[(s1[2,1]+s[2,1])/2, (s1[2,2]+s[2,2])/2]; A1:=s1[1,1]-s[1,1]; B1:=s1[1,2]-s[1,2]; A2:=s1[2,1]-s[2,1]; B2:=s1[2,2]-s[2,2];    line1:=A1*(x-M1[1])+B1*(y-M1[2])=0; line2:=A2*(x-M2[1])+B2*(y-M2[2])=0;  

if is(A1*B2-A2*B1<>0) then Sol:=solve({line1, line2}); x0:=simplify(rhs(Sol[1]));   y0:=simplify(rhs(Sol[2])); u:=[s1[1,1]-x0,s1[1,2]-y0]; v:=[s[1,1]-x0,s[1,2]-y0];    else   

if is(s[2]-s1[1]=s[1]-s1[2])  then   x0:=(s1[1,1]+s[1,1])/2;  y0:=(s1[1,2]+s[1,2])/2; 

if is([x0,y0]<>s1[1]) then  u:=[s1[1,1]-x0,s1[1,2]-y0]; v:=[s[1,1]-x0,s[1,2]-y0]; else 

u:=[s1[2,1]-x0,s1[2,2]-y0]; v:=[s[2,1]-x0,s[2,2]-y0]; fi;

else  A3:=s1[2,1]-s1[1,1];  B3:=s1[2,2]-s1[1,2]; A4:=s[2,1]-s[1,1];  B4:=s[2,2]-s[1,2];  line3:=B3*(x-s1[1,1])-A3*(y-s1[1,2])=0;  line4:=B4*(x-s[1,1])-A4*(y-s[1,2])=0;Sol:=solve({line3, line4}); x0:=simplify(rhs(Sol[1])); y0:=simplify(rhs(Sol[2]));   

if is(s1[1]=s[1]) then    u:=s1[2]-[x0,y0]; v:=s[2]-[x0,y0]; else   

u:=s1[1]-[x0,y0]; v:=s[1]-[x0,y0];  fi;  fi;  fi;   

Sign:=signum(u[1]*v[2]-u[2]*v[1]);   phi:=Sign*arccos(expand(rationalize(simplify((u[1]*v[1]+u[2]*v[2])/sqrt(u[1]^2+u[2]^2)/sqrt(v[1]^2+v[2]^2)))));      S11:=expand(rationalize(simplify(map(x->f(op(x), phi), S1))));   

if n3<>0 then T11:={seq(expand(rationalize(simplify(map(x->f(op(x), phi), T1[i])))), i=1..nops(T1))}; fi; 

if n3=0 then  if is(S11=expand(rationalize(simplify(S2))))  then T:=[rotation, [x0,y0], phi]; return true fi;  else 

if is(S11=expand(rationalize(simplify(S2)))) and  is(T11=expand(rationalize(simplify(T2)))) then  

T:=[rotation, [x0,y0], phi]; return true fi;  fi; 





# Checking for reflection or glide reflection   

for s in S do    

AB:=s1[2]-s1[1]; CD:=s[2]-s[1];  

if is(AB[1]*CD[2]-AB[2]*CD[1]=0) then  M:=(s1[2]+s[1])/2;

if  is(AB[1]*CD[1]+ AB[2]*CD[2]>0) then  A:=AB[2]; B:=-AB[1];    Line1:=A*(x-M[1])+B*(y-M[2])=0;  else 

A:=AB[1]; B:=AB[2];  Line2:=A*(x-M[1])+B*(y-M[2])=0; fi;  

else     u:=[AB[1]+CD[1], AB[2]+CD[2]];  A:=u[2]; B:=-u[1];     M:=[(s1[1,1]+s[1,1])/2, (s1[1,2]+s[1,2])/2]; Line3:=A*(x-M[1])+B*(y-M[2])=0;   fi;    C:=-A*M[1]-B*M[2];  h:= simplify(expand(rationalize(s[1]-g(op(s1[1])))));    S11:=expand(rationalize(simplify(map(x->g(op(x))+h, S1))));  

if n3<>0 then T11:={seq(expand(rationalize(simplify(map(x->g(op(x))+h, T1[i])))), i=1..nops(T1))}; fi;    

if n3=0 then   if is(S11=expand(rationalize(S2))) then 

Eq:=A*x+B*y+C=0; Eq1:=`if`(is(coeff(lhs(Eq), y)<>0), y=solve(Eq, y),  x=solve(Eq, x)); 

if h=[0,0] then  T:=[reflection, Eq1] else T:=[glide_reflection,Eq1,convert(h, Vector)] fi; return true fi; else  

if is(S11=expand(rationalize(S2))) and is(T11=expand(rationalize(T2))) then 

Eq:=A*x+B*y+C=0; Eq1:=`if`(is(coeff(lhs(Eq), y)<>0), y=solve(Eq, y),  x=solve(Eq, x)); 

if h=[0,0] then T:=[reflection, Eq1] else

T:=[glide_reflection,Eq1,convert(h, Vector)] fi; return true fi;  fi;   



T:='T';   false;  

end proc:


Three simple examples:

AreIsometric({[4, 0], [7, 4], [14, 0]}, {[4, 14], [9, 14], [10, 6]});  T;


AreIsometric({[2, 0], [2, 2], [5, 0]}, {[3, 3], [3, 6], [5, 3]});  T;


S1 := {[[5, 5], [5, 20], [10, 15], [15, 20], [15, 5]]}: 
S2 := {[[21, 11], [30, 23], [31, 16], [38, 17], [29, 5]]}: 
S3 := {[[50, 23], [41, 11], [51, 16], [49, 5], [58, 17]]}: 
AreIsometric(S1, S2); T; AreIsometric(S1, S3);

plots[display](plottools[curve](op(S1), thickness = 2, color = green), plottools[curve](op(S2), thickness = 2, color = green), plottools[curve](op(S3), thickness = 2, color = red), scaling = constrained, view = [-1 .. 60, -1 .. 25]);  # Green sets are isometric,  green and red sets aren't


Example with animation:

S1:={[0,0],[-1,2],[2,4],[4,2]}:  S2:={[8,3],[6,6],[8,8],[10,4]}:

AreIsometric(S1, S2);  T;  

with(plots): with(plottools): 

#  For clarity, instead of points polygons depicted with vertices at these points 


A:=seq(rotate(polygon([[0,0],[-1,2],[2,4],[4,2]], color=blue), (k*Pi)/(2*N), [3,7]), k=0..N):  B:=polygon([[8,3],[6,6],[8,8],[10,4]], color=green):  E:=line([3,7], [6,6], color=black, linestyle=2): 

C:=seq(rotate(line([3,7], [2,4], color=black, linestyle=2), (k*Pi)/(2*N), [3,7]), k=0..N):  L:=curve([[3,7],[2,4], [-1,2], [0,0],[4,2], [2,4]], color=black, linestyle=2):  T:=textplot([3, 7.2, "Center of rotation"]): 

Frames:=seq(display(A[k], B, E,T,L, C[k]), k=1..N+1):   

display(seq(Frames[k],k=1..N+1), insequence=true, scaling=constrained);



Finding unique solutions to the problem of Queens (m chess queens on an n×n chessboard not attacking one another). Used the procedures  Queens  and  QueenPic  . See

Queens(8, 8);  M := [ListTools[Categorize](AreIsometric, S)]:


seq(op(M[k])[1], k = 1 .. %);   # 12 unique solutions from total 92 solutions

QueensPic([%], 4);  #  Visualization of obtained solutions



Finding unique solutions to the problem "Polygons of matches"  (all polygons with specified perimeter and area). See

N := 12: S := 6: Polygons(N, S);

M := [ListTools[Categorize](AreIsometric, T)]:

n := nops(M);

seq([op(M[k][1])], k = 1 .. n);  #  7 unique solutions from total 35 solutions with perimeter 12 and area 6

Visual([%], 4);  #  Visualization of obtained solutions


Maplesoft is a long standing supporter of the Who Wants to Be a Mathematician contest for high school students. For years, we have donated Maple as prizes to winners of the national and regional contests.

This year, being the 25th anniversary of Maplesoft’s incorporation, the company decided to support several projects that encourage the use of math amongst high school students and young adults. We dedicated a bigger budget towards projects that would enable us to make a significant impact on students and impress upon them the need for math and science in their future careers.

One project we undertook this year is giving an extreme makeover to the Who Wants to Be a Mathematician contest! With Maplesoft as a “Technology Sponsor”, the contest that was administered on pen-and-paper moved to a digital format. We donated our testing and assessment tool, Maple T.A. to administer the tests online, making the software accessible to every student that participated. This meant the students took an online test, and were automatically and instantly graded using Maple T.A.

The 2013 competition is underway, and the results are extremely positive:

  • The number of students that participated in the contest doubled this year, with over 2000 students from over 150 schools participating.
  • The competition introduced a second level of tests, making the competition more rigorous. After the first elimination round, eligible contestants moved to a second round with questions of increased difficulty levels.
  • By avoiding much of the paper work and manual corrections, the organizers saw significant savings in time and money.

Custom test questions were created in Maple T.A., which were accessed by students from a server hosted by Maplesoft. The simple and easy to use interface of Maple T.A. enabled the students to take the test without spending time learning the tool. Maple T.A. supports the use of standard mathematical notation in both the question text and student responses. Maple T.A. also allows free-response questions, including questions that have more than one correct answer.

Who Wants to Be a Mathematician is a math contest for high school students, organized by the American Mathematical Society (AMS), as part of its Public Awareness Program. Ten students will be chosen for the semifinals and two will qualify for the finals to be held at the Joint Math Meetings in January 2014.

More information about the contest that is currently in progress can be found on the AMS website


Maple IDE team is launching a Tester Program that will allow us to incorporate more input in the product design and development process.

We are looking for regular testers for Maple IDE. Your testing complements our in-team testing of new software versions. By enlisting a diverse group of beta testers, we can see how the software performs when it's being used for normal, ordinary tasks. This lets us provide a more стабле Maple IDE with better user experience. As a member...


August 17 2011 Valery Cyboulko 120 Maple T.A.

Russian content for Maple T.A.

Tests are learning, not just inspectors.


I'm currently proctoring for my univeristy math dept.  They ask me to put policy on testing website.  Please help me how to do that? thanks,

i have two quotes :


You confuse science with engineering, publication with patents. Intellectual property law does not recognize ownership of scientific truth. Your theory is true, or it isn't. You don't 'own' it. An apple does not need Isaac Newton's permission to fall to the ground. The primary protections for inventions are trade secret and patents. The primary protection for other intellectual property is copyright, and wise choices in how you use it and publish it.

Yesterday I attended a lecture by Fran Allen, as part of the "David R. Cheriton School of Computer Science, University of Waterloo, Distinguished Lecture Series".  Allen worked a IBM Research from 1957 to 2002, she was awarded the ACM's Turing Award in 2006.  Here is her biography from Wikipedia (let's hope it is accurate). 

Aside from some technical issues (why can't a room full of computer science professors and students successfully attach a laptop to a projector?) the talk was quite interesting.  There were two main sections, the first discussed Allen's career at IBM and the second was about the future of computer science.  Allen's work at IBM focused mostly on compilers and high performance computing.  She made a few interesting comments about the importance of high performance computing.  For example, one of the systems she worked on was designed and used to model the detonations of nuclear weapons.  The development of this system ended the need for the United Stated to perform actual test detonations.

Maplesoft has just released a collection of new engineering products, including MapleSim 3, the latest version of our physical modeling tool. It includes a new hydraulics library, more electrical machines and improved solvers which expand the scope of models it can handle. It also comes with a new project manager, more diagnostic tools, a 3-D visualization preview feature, and other improvements to the interface which reduce the development time. See What’s New in MapleSim 3 for details.

Good Afternoon,

Would anybody be kind to help me with the attached file. I have created procedures to calculate the Area, center of gravity , section modulus and moment of inertia of a cross section.

I'm testing the worksheet with an existing example from a text book, and the results are as follows

Area = 75*in2

Zxxtop = 119.219*in3

Zxxbott = 133.245*in3

Ixx = 629.212*in4

Zyyleft = 88.583*in3

Zyyright = 88.583*in3

Iyy = 442.917*in4

xbar = 4.722*in

ybar = 5.0*in

Is anyone testing in high volume environments with MapleTA. After about a year of continual problems with 3.0 (pretty awful piece of software) and now more with 4.0, I have a hard time believing folks are using the software in high stakes, high volume environments such as placement testing and I'm looking for feedback.

To evaluate some real integrals I use the 'assume' instruction to make sure all the quantities are real.  But Maple 12 can't seem to deduce the obvious inequalities from this - testing for them gives a FAIL result.  Here is a minimal example:

    assume(X,real, Y,real, w>0);

    is( (X+w)^2 + Y^2 >= 0);

Hi i am having difficulty converting a text file consisting of words into ascii code. using maple and vice versa.
I dont know how to.

My notepad text is  "(testing)" and i wanted maple to show me "testing"  in ascii code but i just dnt knw how to get it to do it.

Can someone please help me i would be very gratefull

Thank u


Hey there everybody. I've been working on the Project Euler ( problems for a while now, using Maple or J to solve the problems. Some of the problems involve using palindromes or testing for palindromes. I know I can convert the number into a string, reverse it with StringTools, and then parse it back into a number, but that requires a lot of time and resources (the PE problems should be solved in under 1 minute).

Hi, Would appreciate some help regarding testing Euler's method in Maple. I have the following function: dy/dt = - 3*y, y(0)=2, delta t =0.2. Is there a programme in Maple that would allow to test this method by performing iterations / plotting a graph? Have already tried Maple help. Thanx in advance. antonio
1 2 3 4 Page 1 of 4