Applications, Examples and Libraries

Share your work here

This is the first presentation of updates for the DE and Mathematical Functions programs of Maple 18. It includes several improvements, all in the Mathematical Functions sector, as well as some fixes. The update and instructions for its installation are available on the Maplesoft R&D webpage for DEs and mathematical functions. Some of the items below were mentioned here in Mapleprimes - you are welcome to present suggestions or issues; if possible they will be addressed right away in the next update.

  • Filling gaps in the FunctionAdvisor regarding all the 6 complex components: abs, argument, conjugate, Im, Re, signum, as well as regarding Heaviside (step function), Dirac, min and max.
  • Fix the simplification and differentation rule for doublefactorial
  • Make convert(..., hypergeometric) work the same way as convert(blabla, hypergeom)
  • Implement integral forms for Heaviside(z) and JacobiAM(z, k) via convert(..., Int)
  • Implement appropriate display for the inert %intat function as well as its conversion to the inert Int
  • Make the FunctionAdvisor/DE return not just the PDE system satisfied by f(z, k) = JacobiAM(z, k)and also (new) the ODE satisfied by f(z) = JacobiAM(z, k)
  • Fix conversion rule from Heaviside(z) to Sum
  • Fix unexpected error interruption when differentiating min(...) and max(...) containing more than three arguments
  • Fix issue in simplify/conjugate
  • Improvement in expand/int: factors in disguise are put outside the integration sign
  • Various improvements in the case of multiple integrals involving the Dirac function
  • Make Intat fully inert (before it was evaluating its arguments)
  • Make value of inert indexed objects work

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Maple WWW - Maple Worksheets in the World Wide Web

DigiArea Team is proud to present new modern web technology for Maple Worksheets - Maple WWW. 

Maple WWW is a technology that brings Maple Worksheets to the World Wide Web. The technology provides a web application to view and share interactive scientific documents across the web. Maple WWW allows to open Maple worksheets in your browser without any additional plugins or extensions.

You can read more about the technology here:
http://digi-area.com/light/MapleWWW/

You can see the technology in action right here using the following embedded Maple Worksheet!

 

 

Voting is now open for the next individual prize to be awarded as part of the Möbius App Challenge.  The winner will receive an Xbox One Prize Pack! 

Here are the finalist Apps:

Note that, if you ever have any problems viewing Apps in your browser, or simply want to work offline, you can always download a Möbius App and view it in Maple or the free Maple Player. To download a Möbius App, follow the link to the App and then click on the Download button near the top left of the page.

You can vote for your favorite through our Facebook page or, if you’re not on Facebook, send an email with your vote to Mobius-Project@maplesoft.com.

And remember, we are now accepting entries for the next quarterly prize. You could win a Music Prize Pack, including the 64GB 5th Generation Apple iPod Touch, Sennheiser In-Ear Noise Cancelling Headphones and the Bose SoundLink Bluetooth Speaker III!  See the Möbuis App Challenge for details.

Voting closes April 25th, 2014.

 

This is a little more than a new game it potentially uncovers a new class of numbers -- though determining membership might become a hard problem.

A number that possesses the solitaire property can be written in as ...,0,...1,...2,...etc, or ...,0,...1,...10...11,...etc,(where the "0" is the first zero in the number), with a radix point anywhere. We are free to pick the base and say it is solitaire with respect to that base. After the initial 0, the subsequent ordinals (the 1,2, etc or the 1,10,11, etc) used to write the solitaire number don't have to be the first ones. For example:

pi=3.1415926535897932384626433832795
0 2884
1 971693993751058
2 0974944592
3 078163860
4 ...
etc.,

or

pi=3.1415926535897932384626433832795

0 2884197

1 6939937510582 097494459

2 3 07816

3 860
4 ...
etc.,are both acceptable. (If the number can be written as  ...,0,...1,...2,...etc, or ...,0,...1,...10...11,...etc. it is solitaire.)

The Champernowne constant with respect to base 10 has only one representation:

0.

1

2

3

4

5

6

7

8

9

10

11...

etc. .

 

I know Base 10 Champernowne constant is base 10 solitaire. I can not say the same with certainty for Pi.

I also propose we can measure the solitude of a number by the average amount of numbers between the 0,1,2,3..., and give a perfect solitude score to Base 10 Champernowne constant. Other constants can be given additional credit, of some kind, if the amounts of numbers between the 1,2,3... follow a specific preset pattern.

 

 

marvinrayburns.com

 

The attached presentation is the last one of a sequence of three on Quantum Mechanics using Computer Algebra, covering the field equation for a quantum system of identical particles, its stationary solutions and the equations for small perturbations around them and, in this third presentation, the conditions for superfluidity of such a system of identical particles at low temperature. The novelty is again in how to tackle these problems in a computer algebra worksheet.

The Landau criterion for Superfluidity
  

Pascal Szriftgiser1 and Edgardo S. Cheb-Terrab2 

(1) Laboratoire PhLAM, UMR CNRS 8523, Université Lille 1, F-59655, France

(2) Maplesoft, Canada

 

A Bose-Einstein Condensate (BEC) is a medium constituted by identical bosonic particles at very low temperature that all share the same quantum wave function. Let's consider an impurity of mass M, moving inside a BEC, its interaction with the condensate being weak. At some point the impurity might create an excitation of energy `&hbar;`*omega[k] and momentum `&hbar;` `#mover(mi("k"),mo("&rarr;"))`. We assume that this excitation is well described by Bogoliubov's equations for small perturbations `&delta;&varphi;` around the stationary solutions `&varphi;```of the field equations for the system. In that case, the Landau criterion for superfluidity states that if the impurity velocityLinearAlgebra[Norm](`#mover(mi("v"),mo("&rarr;"))`) is lower than a critical velocity v[c] (equal to the BEC sound velocity), no excitation can be created (or destroyed) by the impurity. Otherwise, it would violate conservation of energy and momentum. So that, if LinearAlgebra[Norm](`#mover(mi("v"),mo("&rarr;"))`) < v[c] the impurity will move within the condensate without dissipation or momentum exchange, the condensate is superfluid (Phys. Rev. Lett. 85, 483 (2000)). Note: low temperature liquid 4He is a well known example of superfluid that can, for instance, flow through narrow capillaries with no dissipation. However, for superfluid helium, the critical velocity is lower than the sound velocity. This is explained by the fact that liquid 4He is a strongly interacting medium. We are here rather considering the case of weakly interacting cold atomic gases.

Landau criterion for superfluidity

 

 

Background: For a BEC close to its ground state (at temperature T = 0 K), its excitations are well described by small perturbations around the stationary state of the BEC. The energy of an excitation is then given by the Bogoliubov dispersion relation (derived previously in Mapleprimes "Quantum Mechanics using computer algebra II").

 

epsilon[k] = `&hbar;`*omega[k] and `&hbar;`*omega[k] = `&+-`(sqrt(k^4*`&hbar;`^4/(4*m^2)+k^2*`&hbar;`^2*G*n/m))

 

where G is the atom-atom interaction constant, n is the density of particles, m is the mass of the condensed particles, k is the wave-vector of the excitations and omega[k] their pulsation (2*Pi time the frequency). Typically, there are two possible types of excitations, depending on the wave-vector k:

• 

In the limit: proc (k) options operator, arrow; 0 end proc, "epsilon[k]&sim;`&hbar;`*k*"v[c] with v[c] = sqrt(G*n/m), this relation is linear in k and is typical of a massless quasi-particle, i.e. a phonon excitation.

• 

In the limit: proc (k) options operator, arrow; infinity end proc, `&sim;`(epsilon[k], `&hbar;`^2*k^2/(2*m)) which is the dispersion relation of a free particle of mass "m,"i.e. one single atom of the BEC.

 

Problem: An impurity of mass M moves with velocity `#mover(mi("v"),mo("&rarr;"))` within such a condensate and creates an excitation with wave-vector `#mover(mi("k"),mo("&rarr;"))`. After the interaction process, the impurity is scattered with velocity `#mover(mi("w"),mo("&rarr;"))`.

 

a) Departing from Bogoliubov's dispersion relation, plus energy and momentum conservation, show that, in order to create an excitation, the impurity must move with an initial velocity

 

LinearAlgebra[Norm](`#mover(mi("v"),mo("&rarr;"))`) >= v[c] and v[c] = sqrt(G*n/m)

 

  

When LinearAlgebra[Norm](`#mover(mi("v"),mo("&rarr;"))`) < v[c] , no excitation can be created and the impurity moves through the medium without dissipation, as if the viscosity is 0, characterizing a superfluid. This is the Landau criterion for superfluidity.

 

b) Show that when the atom-atom interaction constant G >= 0 (repulsive interactions), this value v[c] is equal to the group velocity of the excitation (speed of sound in a condensate).

Solution

   

 

References

NULL

[1] Suppression and enhancement of impurity scattering in a Bose-Einstein condensate

[2] Superfluidity versus Bose-Einstein condensation
[3] Bose–Einstein condensate (wiki)

[4] Dispersion relations (wiki)

 


Download QuantumMechanics3.mw   QuantumMechanics3.pdf

Edgardo S. Cheb-Terrab
Physics, Maplesoft

As a reminder, 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.

This featured webinar for this month will outline the Finance Package in Maple 18 including capabilities like the mathematical, statistical, and connectivity tools required to analyse data, calculate forecasts, estimate risks, prototype and develop quantitative algorithms, and leverage parallel programming techniques.

Other topics include:

• Data feed connectivity and system integration

• Price equity and interest rate derivatives

• Populate reporting tools, deliver documents and share worksheets

• Optimize portfolios of financial instruments

• High-Performance Computing (HPC)

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

In Maple 18, the Database package has been updated to include support for SQlite databases as well as a new option for plots to change the background images on plots.  To showcase both of these features, our engineering team put together an example that optimizes the flight path of a pan-US delivery drone.

This application extracts the latitude and longitude of those zip codes from an SQLlite database (the application includes the database, which cross-references US zip codes against their latitude, longitude, city and state). The application then performs a traveling salesman optimization and plots the shortest path on a map of the US.

To download the application click here: PanUSDeliveryDro.zip

This is a 5-days mini-course I gave in Brazil last week, at the CBPF (Brazilian Center for Physics Research). The material will still receive polishment and improvements, towards evolving into a sort of manual, but it is also interesting to see it exactly as it was presented to people during the course. This material uses the update of Physics available at the Maplesoft Physics R&D webpage.

Mini-Course: Computer Algebra for Physicists

 

Edgardo S. Cheb-Terrab

Maplesoft

 

 

This course is organized as a guided experience, 2 hours per day during five days, on learning the basics of the Maple language, and on using it to formulate algebraic computations we do in physics with paper and pencil. It is oriented to people not familiar with computer algebra (sections 1-5), as well as to people who are familiar but want to learn more about how to use it in Physics.

 

Motivation

 

 

Among other things, with computer algebra:

 

• 

You can concentrate more on the ideas (the model and its formulation) instead of on the algebraic manipulations

• 

You can extend your results with ease

• 

You can explore the mathematics surrounding your problem

• 

You can share your results in a reproducible way - and with that exchange about a problem in more productive ways

• 

After you learn the basics, the speed at which algebraic results are obtained with the computer compensates with dramatic advantage the extra time invested to formulate the problem in the computer.

 

All this doesn't mean that we need computer algebra, at all, but does mean computer algebra can enrich our working experience in significant ways.

What is computer algebra - how do you learn to use it?

   

What is this mini-course about?

   

What can you expect from this mini-course?

   

 

Explore. Having success doesn't matter, using your curiosity as a compass does - things can be done in so many different ways. Have full permission to fail. Share your insights. All questions are valid even if to the side. Computer algebra can transform the algebraic computation part of physics into interesting discoveries and fun.

1. Arithmetic operations and elementary functions

   

2. Algebraic Expressions, Equations and Functions

   

3. Limits, Derivatives, Sums, Products, Integrals, Differential Equations

   

4. Algebraic manipulation: simplify, factor, expand, combine, collect and convert

   

5. Matrices (Linear Algebra)

   

6. Vector Analysis

   

7. Tensors and Special Relativity

   

8. Quantum Mechanics

   

9. General Relativity

   

10. Field Theory

   

BrasilComputacaoAlgebrica.mw.zip

BrasilComputacaoAlgebrica.pdf 

Edgardo S. Cheb-Terrab
Physics, Maplesoft

In this post we present the solution with Maple to the logical problem of "Gardens Puzzle"

http://www.mathsisfun.com/puzzles/gardens-solution.html

The Puzzle:

Five friends have their gardens next to one another, where they grow three kinds of crops: fruits (apple, pear, nut, cherry), vegetables (carrot, parsley, gourd, onion) and flowers (aster, rose, tulip, lily).

1. They grow 12 different varieties.
2. Everybody grows exactly 4 different varieties
3. Each variety is at least in one garden.
4. Only one variety is in 4 gardens.
5. Only in one garden are all 3 kinds of crops.
6. Only in one garden are all 4 varieties of one kind of crops.
7. Pear is only in the two border gardens.
8. Paul's garden is in the middle with no lily.
9. Aster grower doesn't grow vegetables.
10. Rose growers don't grow parsley.
11. Nuts grower has also gourd and parsley.
12. In the first garden are apples and cherries.
13. Only in two gardens are cherries.
14. Sam has onions and cherries.
15. Luke grows exactly two kinds of fruit.
16. Tulip is only in two gardens.
17. Apple is in a single garden.
18. Only in one garden next to Zick's is parsley.
19. Sam's garden is not on the border.
20. Hank grows neither vegetables nor asters.
21. Paul has exactly three kinds of vegetable.

Who has which garden and what is grown where?

 

About methods of solution. At first I just wanted to generate all variations and using conditions 1 .. 21 to find all solutions. But even if we use the condition that everybody grows exactly 4 different varieties then the total number variants equals  5!^2*binomial(12,4)^5=427945522455000000

So from the very beginning using some of the conditions 1 .. 21 we maximally reduce the number of possible variants. For example from the conditions 11, 18 and 6 implies that only in one garden are all 4 varieties of flowers. Next we pass through these variants and using conditions 1 .. 21 and finally come to a unique solution:

restart;

Fruits:={apple, pear, nut, cherry}:

Vegetables:={carrot, parsley, gourd, onion}:

Flowers:={aster, rose, tulip, lily}:

 

Set1:=Flowers:

Garden1:={Set1}:

Set2:=Fruits union Vegetables union Flowers minus {nut,gourd,parsley} minus {apple,cherry,rose}:

Garden2:={seq({nut,gourd,parsley} union {Set2[i]}, i=1..nops(Set2))}:

Set3:=Vegetables union Flowers minus {parsley}:

Garden3:={seq({apple,cherry,pear} union {Set3[i]}, i=1..nops(Set3))}:

Set4:=combinat[choose](Fruits union Vegetables union Flowers minus {onion,cherry} minus {apple,parsley,pear,nut}, 2):

Garden4:={seq({onion,cherry} union Set4[i], i=1..nops(Set4))}:

Set5:=Fruits union Vegetables union Flowers minus {apple, cherry,nut,parsley}:

Garden5:=combinat[choose](Set5, 4):

 

S:=[]:

for s1 in Garden1 do

for s2 in Garden2 do

for s3 in Garden3 do

for s4 in Garden4 do

for s5 in Garden5 do

s:=[s1,s2,s3,s4,s5]: s_4:=combinat[choose](s,4): m:=0: n:=0: k:=0: p:=0: q:=0:

for i in s do

if `intersect`(i,Fruits)<>{} and `intersect`(i,Vegetables)<>{} and `intersect`(i,Flowers)<>{} then m:=m+1: fi:

if pear in i then n:=n+1: fi:

if tulip in i then k:=k+1: fi:

if aster in i and `intersect`(i,Vegetables)<>{} then p:=p+1: fi:

if i=Fruits or i=Vegetables or i=Flowers then q:=q+1: fi:

od:

if nops(`union`(op(s)))=12 and nops(`union`(seq(`intersect`(op(s_4[j])), j=1..nops(s_4))))=1 and m=1 and n=2 and k=2 and p=0 and q=1 then S:=[op(S),[s1,s2,s3,s4,s5]]: fi:

od: od: od: od: od:

 

L1:=[seq([[3,Paul],[2,Sam],seq([combinat[permute]([1,4,5])[i,j],[Luke,Zick,Hank][j]],j=1..3)],i=1..6)]:

L2:=[seq([[3,Paul],[4,Sam],seq([combinat[permute]([1,2,5])[i,j],[Luke,Zick,Hank][j]],j=1..3)],i=1..6)]:

L0:=[op(L1),op(L2)]:

L:=[seq(op(combinat[permute](L0[i])),i=1..nops(L0))]:

Sol:=[]:

for l in L do

for s in S do

sol:=[seq([op(l[i]),s[i]], i=1..5)]:

gad1:=op(select(has,sol,parsley)): gad2:=op(select(has,sol,Zick)):

if abs(gad1[1]-gad2[1])=1 and convert([seq(((pear in sol[i][3] implies (sol[i][1]=1 or sol[i][1]=5)) and (sol[i][2]=Paul implies (not lily in sol[i][3])) and (sol[i][1]=1 implies (apple in sol[i][3] and cherry in sol[i][3])) and (sol[i][2]=Sam implies (onion in sol[i][3] and cherry in sol[i][3])) and (sol[i][2]=Luke implies nops(`intersect`(sol[i][3],Fruits))=2) and (sol[i][2]=Hank implies (`intersect`(sol[i][3],Vegetables)={} and not aster in sol[i][3])) and (sol[i][2]=Paul implies nops(`intersect`(sol[i][3],Vegetables))=3)), i=1..5)], `and`) then Sol:=[op(Sol), sol]: fi:

 

od: od:

for i in Sol do

Matrix(sort(i,(x,y)->x[1]<y[1]));

od;

 

 

In this post we present another compact proof of this remarkable theorem without using  geometry package.
The proof uses a procedure called  Cc , which for three points returns a list of the coordinates of the center and the radius of the circumscribed circle.

restart;

Cc:=proc(A,B,C)

local x1, y1, x2, y2, x3, y3, x, y;

x1,y1:=op(A);  x2,y2:=op(B);  x3,y3:=op(C);

solve({(x2-x1)*(x-(x1+x2)/2)+(y2-y1)*(y-(y1+y2)/2)=0, (x2-x3)*(x-(x2+x3)/2)+(y2-y3)*(y-(y2+y3)/2)=0},{x,y});

assign(%);

[simplify([x,y]), simplify(sqrt((x-x1)^2+(y-y1)^2))];

end proc:

Proof for arbitrary triangle:

A, B, C:=[x1,y1], [x2,y2], [x3,y3]:

A1, B1, C1, M:=(B+C)/2, (A+C)/2, (A+B)/2, (A+B+C)/3:

P1:=Cc(A,M,B1)[1]: P2:=Cc(B1,M,C)[1]: P3:=Cc(C,M,A1)[1]:

P4:=Cc(A1,M,B)[1]: P5:=Cc(B,M,C1)[1]: P6:=Cc(C1,M,A)[1]:

Cc1:=Cc(P1,P2,P3):  Cc2:=Cc(P4,P5,P6):

is(Cc1=Cc2);

                                                  true

Let  us consider the general case of symbolic values C(xC,yC). I make use of the idea suggested by edgar in http://www.mapleprimes.com/questions/97743-How-To-Prove-Morleys-Trisector-Theorem : no assumptions.

restart; with(geometry); point(A, 0, 0);
point(B, 1, 0);
point(C, xC, yC);
point(MA, (xC+1)*(1/2), (1/2)*yC);
point(MC, 1/2, 0);
point(MB, (1/2)*xC, (1/2)*yC);
point(E, (0+1+xC)*(1/3), (0+0+yC)*(1/3));# the center of mass
line(l1, x = 1/4, [x, y]);
The coordinates of the center of the first described circle are found as the solutions of the system of the equations of midperpendiculars.

midpoint(ae, A, E); coordinates(ae);


S1 := solve({x = 1/4, ((xC+1)*(1/3))*(x-(xC+1)*(1/6))+(1/3)*yC*(y-(1/6)*yC) = 0}, {x, y});

BTW, Maple can't create the midperpendiculars in this case.

point(O1, op(map(rhs, S1)));
                               O1

Simple details are omitted in the above. The coordinates of the centers of the two next described circles are found similarly.
coordinates(midpoint(mce, MC, E));

S2 := solve({x = 3/4, ((-1/2+xC)*(1/3))*(x-5/12-(1/6)*xC)+(1/3)*yC*(y-(1/6)*yC) = 0}, {x, y});

point(O2, op(map(rhs, S2)));

                               O2
coordinates(midpoint(bma, B, MA)); coordinates(midpoint(be, B, E));
  

                

S3 := solve({(xC-1)*(x-(xC+3)*(1/4))+yC*(y-(1/4)*yC) = 0, ((-2+xC)*(1/3))*(x-(4+xC)*(1/6))+(1/3)*yC*(y-(1/6)*yC) = 0}, {x, y});

point(O3, op(map(rhs, S3)));

                               O3

Now we find the equation of the circumference which passes through O1, O2, and O3.

eq := a*x+b*y+x^2+y^2+c = 0:
sol := solve({eval(eq, S1), eval(eq, S2), eval(eq, S3)}, {a, b, c});

A long output can be seen in the attached .mw file.

eq1 := eval(eq, sol);

  Now we find (in suspense)  the coordinates of the next center and verify whether it belongs to the sircumference O1O2O3.

coordinates(midpoint(mac, C, MA)); coordinates(midpoint(ec, E, C)); S4 := solve({(xC-1)*(x-(3*xC+1)*(1/4))+yC*(y-3*yC*(1/4)) = 0, ((2*xC-1)*(1/3))*(x-(4*xC+1)*(1/6))+(2*yC*(1/3))*(y-4*yC*(1/6)) = 0}, {x, y});

 point(O4, op(map(rhs, S4)));

                               O4
simplify(eval(eq1, S4));

                             0 = 0

Hope the reader will have a real pleasure to find the two residuary centers and to verify these on his/her own.

geom2.mw

 

 

 

 

It is well known that the medians of a triangle divide it into 6 triangles.
It is less known that the centers of their circumscribed circles belong to one circumference as drawn below

This remarkable theorem  was proved in the 21st century! Unfortunately, I lost its source.
I can't prove this difficult  theorem by hand. However, I can prove it with Maple.
The aim of this post is to expose these proofs. Everybody knows that it is scarcely possible
to construct a general triangle with help of the geometry package of Maple.
Without loss of generality one may assume that the vertex A is placed at the origin,
the vertex B is placed at (1,0), and the vertex C(xC,yC). We firstly consider the theorem
in the case of concrete values of xC and yC.

restart; with(geometry):with(plots):
point(A, 0, 0);
point(B, 1, 0);
xC := 15*(1/10); yC := sqrt(3); point(C, xC, yC);
triangle(T, [A, B, C]);
median(mA, A, T, MA);
median(mB, B, T, MB);
median(mC, C, T, MC);
line(m1, [A, MA]);
line(m2, [B, MB]);
intersection(E, m1, m2);
triangle(AEMB, [A, E, MB]);
circumcircle(c1, AEMB, 'centername' = C1);
circumcircle(c2, triangle(CEMB, [C, E, MB]), 'centername' = C2);
circumcircle(c3, triangle(CEMA, [C, E, MA]), 'centername' = C3);
circumcircle(c4, triangle(BEMA, [B, E, MA]), 'centername' = C4);
circumcircle(c5, triangle(BEMC, [B, E, MC]), 'centername' = C5);
circumcircle(c6, triangle(AEMC, [A, E, MC]), 'centername' = C6);
circle(CC, [C1, C2, C3]);
IsOnCircle(C4, CC);
                              true

IsOnCircle(C5, CC);
                              true
IsOnCircle(C6, CC);
                              true
display([draw([T(color = black), mA(color = black), mB(color = black), mC(color = black), C1(color = blue), C2(color = blue), C3(color = blue), C4(color = blue), C5(color = blue), C6(color = blue), CC(color = red)], symbol = solidcircle, symbolsize = 15, thickness = 2, scaling = constrained), textplot({[-0.5e-1, 0.5e-1, "A"], [.95, 0.5e-1, "B"], [xC-0.5e-1, yC+0.5e-1, "C"]})], axes = frame, view = [-.1 .. max(1, xC)+.1, 0 .. yC+.1]);

This can be done as a procedure in such a way.

restart; SixPoints := proc (xC, yC) geometry:-point(A, 0, 0); geometry:-point(B, 1, 0); geometry:-point(C, xC, yC); geometry:-triangle(T, [A, B, C]); geometry:-median(mA, A, T, MA); geometry:-median(mB, B, T, MB); geometry:-median(mC, C, T, MC); geometry:-line(m1, [A, MA]); geometry:-line(m2, [B, MB]); geometry:-intersection(E, m1, m2); geometry:-triangle(AEMB, [A, E, MB]); geometry:-circumcircle(c1, AEMB, 'centername' = C1); geometry:-circumcircle(c2, geometry:-triangle(CEMB, [C, E, MB]), 'centername' = C2); geometry:-circumcircle(c3, geometry:-triangle(CEMA, [C, E, MA]), 'centername' = C3); geometry:-circumcircle(c4, geometry:-triangle(BEMA, [B, E, MA]), 'centername' = C4); geometry:-circumcircle(c5, geometry:-triangle(BEMC, [B, E, MC]), 'centername' = C5); geometry:-circumcircle(c6, geometry:-triangle(AEMC, [A, E, MC]), 'centername' = C6); geometry:-circle(CC, [C1, C2, C3]); return geometry:-IsOnCircle(C4, CC), geometry:-IsOnCircle(C5, CC), geometry:-IsOnCircle(C6, CC), geometry:-draw([CC(color = blue), C1(color = red), C2(color = red), C3(color = red), C4(color = red), C5(color = red), C6(color = red), T(color = black), mA(color = black), mB(color = black), mC(color = black), c1(color = green), c4(color = green), c2(color = green), c3(color = green), c5(color = green), c6(color = green)], symbol = solidcircle, symbolsize = 15, thickness = 2) end proc;
SixPoints(1.5, 1.2);

true, true, true, PLOT(...)
 SixPoints(1.5, 1.2)[4];

See geom1.mw

To be continued (The general case will be considered in  part 2http://www.mapleprimes.com/posts/200210-Six-Points-On-Circumference-2 .).

 

 





 

I am using "Maple 15" and "Windows 7" and I want to share the tip for using "Classic worksheet" and "GR Tensor". Windows 7 is 64-bit but you can use Classic worksheet and GR Tensor, which work basically in 32-bit, by simply downlording "32-bit Maple 15" !! I haven't tried other more current versions of Maple but Maple 15 works well: you can choose 32-bit Maple in the download options.

Enjoy the Classic worksheet and GR Tensor. Good luck !  

 

Code of the animation:

restart;

N := 192:

A := seq(plot([[.85*sin(t)^3-2+1.25*i/N, .85*(13*cos(t)*(1/15)-(1/3)*cos(2*t)-2*cos(3*t)*(1/15)-(1/15)*cos(4*t)), t = 0 .. Pi*i/N], [-.85*sin(t)^3-2+1.25*i/N, .85*(13*cos(t)*(1/15)-(1/3)*cos(2*t)-2*cos(3*t)*(1/15)-(1/15)*cos(4*t)), t = 0 .. Pi*i/N], [sin(t)^3+2-1.25*i/N, 13*cos(t)*(1/15)-(1/3)*cos(2*t)-2*cos(3*t)*(1/15)-(1/15)*cos(4*t), t = 0 .. Pi*i/N], [-sin(t)^3+2-1.25*i/N, 13*cos(t)*(1/15)-(1/3)*cos(2*t)-2*cos(3*t)*(1/15)-(1/15)*cos(4*t), t = 0 .. Pi*i/N]], color = red, thickness = 5, view = [-3 .. 3, -1.2 .. .9]), i = 1 .. N):

plots[display](A, insequence = true, scaling = constrained, axes = none);

Congratulations to Andriy Andrusyk, from the Institute for Condensed Matter Physics of the National Academy of Sciences of Ukraine, who won last quarter’s Möbius Challenge with his application Heat Equation.  Dr. Andrusyk won a DSLR Camera Prize Pack.

Remember that you have until Mar. 31 to enter your Möbius Apps for a chance to win the next prize, an Xbox One!   Visit Möbius App Challenge for full contest details.

 

eithne

First 49 50 51 52 53 54 55 Last Page 51 of 77