Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

Dear Expert Users,

I am still struggling with my transition from Mathcad 15 to Maple. Would someone be so kind to look at the attached worksheet and how I can obtain the desired result? Thanks in advance. The data used in the example come from TestFleck.xlsx

QuestionPrimes.mw TestFleck.xlsx

Hi
my odetest must give me zero everything is true but still not simplify the function with power include 1/n  not do cancelation even

test_sol_for_PDE.mw

*****************************

EDIT: Thanks for the help i used the restore backup feature. I made my anti virus not react to maple since i thought that might work, so far no more problems. Else this is a fix if anybody else has this problem.

******************************

Hi, so my maple freezes during simple tasks, such as trying to type something, or somtimes copying and inerting the results from a previous equation, the feature where you mark something and drag the answer to somewhere else also does this. When this happens, maple completely freezes and i'm forced to close the app with taksmanager, where i lose everything i have worked on, sometimes for the past hour because i didn't save every minute which is basically not something you can do.

Is there any fix for this or anything i can do to prevent this, cause it really sucks. 

I'm on a windows 11 with maple 2024

i have  written summation with  two  loops at the end and the result should be start from uNew[1][1] since values of i is starting from 1 but in the result i am getting uNew[0][1] why? for understanding of question i am attaching my file kindly help me sort out the problemautomatic_differentiation.mw

VerifyTools is a package that has been available in Maple for roughly 24 years, but until now it has never been documented, as it was originally intended for internal use only. Documentation for it will be included in the next release of Maple. Here is a preview:

VerifyTools is similar to the TypeTools package. A type is essentially a predicate that a single expression can either satisfy or not. Analogously, a verification is a predicate that applies to a pair of expressions, comparing them. Just as types can be combined to produce compound types, verifications can also be combined to produce compund verifications. New types can be created, retrieved, queried, or deleted using the commands AddType, GetType (or GetTypes), Exists, and RemoveType, respectively. Similarly in the VerifyTools package we can create, retrieve, query or delete verifications using AddVerification, GetVerification (or GetVerifications), Exists, and RemoveVerification.

The package command VerifyTools:-Verify is also available as the top-level Maple command verify which should already be familiar to expert Maple users. Similarly, the command VerifyTools:-IsVerification is also available as a type, that is,

VerifyTools:-IsVerification(ver);

will return the same as

type(ver, 'verification');

The following examples show what can be done with these commands. Note that in each example where the Verify command is used, it is equivalent to the top-level Maple command verify. (Also note that VerifyTools commands shown below will be slightly different compared to the Maple2024 version):

with(VerifyTools):

Suppose we want to create a verification which will checks that the length of a result has not increased compared to the expected result. We can do this using the AddVerification command:

AddVerification(length_not_increased, (a, b) -> evalb(length(a) <= length(b)));

First, we can check the existence of our new verification and get its value:

Exists(length_not_increased);

true

GetVerification(length_not_increased);

proc (a, b) options operator, arrow; evalb(length(a) <= length(b)) end proc

For named verifications, IsVerification is equivalent to Exists (since names are only recognized as verifications if an entry exists for them in the verification database):

IsVerification(length_not_increased);

true

On the other hand, a nontrivial structured verification can be checked with IsVerification,

IsVerification(boolean = length_not_increased);

true

whereas Exists only accepts names:

Exists(boolean = length_not_increased);

Error, invalid input: VerifyTools:-Exists expects its 1st argument, x, to be of type symbol, but received boolean = length_not_increased

The preceding command using Exists is also equivalent to the following type call:

type(boolean = length_not_increased, verification);

true

Now, let's use the new verification:

Verify(x + 1/x, (x^2 + 1)/x, length_not_increased);

true

Verify((x^2 + 1)/x, x + 1/x, length_not_increased);

false

Finally, let's remove the verification:

RemoveVerification(length_not_increased);

Exists(length_not_increased);

false

GetVerification(length_not_increased);

Error, (in VerifyTools:-GetVerification) length_not_increased is not a recognized verification

GetVerifications returns the list of all verifications known to the system:

GetVerifications();

[Array, FAIL, FrobeniusGroupId, Global, Matrix, MultiSet, PermGroup, RootOf, SmallGroupId, Vector, address, after, approx, array, as_list, as_multiset, as_set, attributes, boolean, box, cbox, curve, curves, dataframe, dataseries, default, default, dummyvariable, equal, evala, evalc, expand, false, float, function, function_bounds, function_curve, function_shells, greater_equal, greater_than, in_convex_polygon, indef_int, interval, less_equal, less_than, list, listlist, matrix, member, multiset, neighborhood, neighbourhood, normal, permute_elements, plot, plot3d, plot_distance, plotthing_compile_result, polynom, procedure, ptbox, range, rational, record, relation, reverse, rifset, rifsimp, rtable, set, sign, simplify, sublist, `subset`, subtype, superlist, superset, supertype, symbol, table, table_indices, testeq, text, true, truefalse, type, undefined, units, vector, verifyfunc, wildcard, xmltree, xvm]

Download VerificationTools_blogpost.mw

Austin Roche
Software Architect
Mathematical Software
Maplesoft

Hi
most of my equation when i wanna solve it is give me something like thus equation and it take a lot time to calculate and i don't get any answer after 1 hour past and still searching for finding parameter how i can do in fast way or maybe if exist  can i use mathematica or matlab is better for calculating this or not ?

F-P.mw

I am preparing some examples to start the year in the differential equations lesson. And I was wondering if there is any other way to represent the equilibrium points than the following which I found and then plotted using pointplot.

restart

NULL

alpha := 0.4e-1; beta := 0.8e-2; sys := {diff(g(t), t) = -.25*g(t)+beta*p(t)*g(t), diff(p(t), t) = .7*p(t)*(1-(1/100)*p(t))-alpha*p(t)*g(t)}; ics := {g(0) = 5, p(0) = 20}
 

sol := dsolve(`union`(sys, ics), {g(t), p(t)}, numeric, range = 0 .. 50); with(plots); plots:-display(plots:-odeplot(sol, [t, p(t)], 0 .. 50, color = blue, legend = ["p(t)"]), plots:-odeplot(sol, [t, g(t)], 0 .. 50, color = red, legend = ["gt)"]), labels = ["t", "Population"], title = "Population Dynamics")

 

eqns := {.7*p(t)*(1-(1/100)*p(t))-alpha*p(t)*g(t) = 0, -.25*g(t)+beta*p(t)*g(t) = 0}; eq_points := solve(eqns, {g(t), p(t)}); eq_points

{g(t) = 0., p(t) = 0.}, {g(t) = 0., p(t) = 100.}, {g(t) = 12.03125000, p(t) = 31.25000000}

(1)

eqpoints := pointplot([[0, 0], [100, 0], [31.25000000, 12.03125000]], color = [red], symbol = diamond, symbolsize = 15)

``
phaseplot := odeplot(sol, [p(t), g(t)], 0 .. 35, color = green, thickness = 2)

with(DEtools); vectorfield_plot := dfieldplot([diff(p(t), t) = .7*p(t)*(1-(1/100)*p(t))-alpha*p(t)*g(t), diff(g(t), t) = -.25*g(t)+beta*p(t)*g(t)], [p(t), g(t)], t = 0 .. 35, p = 0 .. 150, g = 0 .. 30, arrows = small, color = blue, axes = boxed)

 

 

display([vectorfield_plot, phaseplot, eqpoints])

 

NULL


 

Download aquarium.mw

Hello,

How can I reduce time calculations for the integral process?

Determining H[1] and HH[1] is very boring!!

 

time_consuming_calculations.mw

Strange thing happening when changing the view zoom factor, as images are not scaling.

That makes it very difficult to generate print documents, a case we've talked about previously.

The first image is a screenshot with 100% scale factor, the other one with scale factor 400%.

One could argue, that I could switch to Print Layout Mode. But the problem there is that I don't have any view zoom factor at all.

I was looking at coulditbe  to see if I can use it to check if odetest result can be zero or not.

But I am finding very strange results. It gives false positive too many times.

Here is an expression in x only. Plotting this it is clear it is never zero for any x value. Also asking Maple to solve this expression=0 for x, it finds no solution.  Yet, when I say coulditbe(e=0) it says true. also is(e=0) returns false.

How could this be possible?  How did coulditbe determine there is some x which makes this expression zero? Is there a way to make sure this function do not give false positive in this example? do I need to add some assumptions may be? 

Should I use is(e=0) instead of coulditbe(e=0) if  the is is more reliable?  have not used these commands much before and was looking for better ways to check if the residual from odetest can be verified it is zero or not.

I also added _EnvTry:='hard'; but it made no difference.  It still gives true.

Maple 2024.1 on windows.

restart;

e:=sqrt(2)*sqrt((3*x^3 + 5*sqrt(x^2 + 8)*x^2 + 24*x + 36*sqrt(x^2 + 8))/sqrt(x^2 + 8))/8 + x/8 + (3*x^2)/(8*sqrt(x^2 + 8)) + 3/sqrt(x^2 + 8);

(1/8)*2^(1/2)*((3*x^3+5*(x^2+8)^(1/2)*x^2+24*x+36*(x^2+8)^(1/2))/(x^2+8)^(1/2))^(1/2)+(1/8)*x+(3/8)*x^2/(x^2+8)^(1/2)+3/(x^2+8)^(1/2)

plot(e,x=-10..10,y=0..4 );

is(e=0);

false

solve(e=0,x); #no solution

x

coulditbe(e=0)

true

_EnvTry:='hard';

hard

coulditbe(e=0)

true

 


 

Download coulditbe_question.mw

Update

I just found out that by adding  assume(x::real); before the call to coulditbe or by adding assuming, then it no longer returns true, but now returns FAIL.

This is much better. At least not a false positive.

So it looks like it was assuming x (and any other parameter than can be in the expression) can be complex and for some complex x, this expression can be zero.

So I will add this assumption now. So I think this will work. But need to test it more.

coulditbe(e=0) assuming x::real;

            FAIL

if I have arational function f(x) in C(x), where C is the complex field, then the partial fraction of f can be written as 

f(x)=p(x)+\sum_{i=0}^n a[i]/(1-b[i]*x)^c[i]
i.e., every denominator is linear in x.

How can I get this factorization in maple, and I think when the degree of the denominator is too high, we can not get the explicit a[i] and b[i], in this situation, can we get their minimal polynomials?

Circles inscribed between curves can be specified by a system of equations relative to the coordinates of the center of the circle and the coordinates of the tangent points. Such a system can have 5 or 6 equations and 6 variables, which are mentioned above.
In the case of 5 equations, we can immediately obtain an infinite set of solutions by selecting the ones we need from it. 
(See the attached text for more details.)
The 1st equation is responsible for the belonging of the point of tangency to one of the curves.
The 2nd equation is responsible for the belonging of the point of tangency to another curve.
In the 3rd equation, the points of tangency on the curves belong to the inscribed circle.
In the 4th and 5th equations, the condition is satisfied that the tangents to the curves are perpendicular to the radii of the circle at the points of contact.
The 6th equation serves either to find a specific inscribed circle or to find an infinite set of solutions. It is selected based on the type of curves and their mutual arrangement.

In this example, we search for a subset of the solution set using the Draghilev method by solving the first five equations of the system: we inscribe circles in two "angles" formed by the intersection of the exponent and the ellipse.
The text of this example, its solution in the form of a picture,"big" option and pictures of similar examples.

INSCRIBED_CIRCLES.mw


 


Addition 09/01/24, 
One curve for the first two equations in coordinates x1,x2 and x3,x4
f1:=
 x1^2 - 2.5*x1*x2 + 3*x2^2 - 1;
f2:=
 x3^2 - 2.5*x3*x4 + 3*x4^2 - 1;

Good morning, I'm trying to evaluate this equation when x = 10 degrees so that it gives me a value something like this -0.1671897 etc. but I can't find a way to do it. I've tried to do it like this:

with(Degrees);
evalf(eq, tand(10));

with(Units:-Simple);
evalf(eq, tan(10*Unit(degree) ;

But it gives me an error. In other words, how do I evaluate the equation at 10 degrees.

 


This post is inspired by minhthien2016's question.

The problem, denoted 2/N/1, for reasons that will appear clearly further on, is to pack N disks into the unit square in such a way that the sum of their radii is maximum.

I replied this problem using Optimization-NLPSolve for N from 1 (obvious solution) to 16, which motivated a few questions, in particular:

  • @Carl Love: "Can we confirm that the maxima are global (NLPSolve tends to return local optima)?
    Using NLPSolve indeed does not guarantee that the solution found is the (a?) global maximum. In fact packing problems are generaly tackled by using evolutionnary algorithms, greedy algorithms, or specific heuristic strategies.
    Nevertheless, running NLPSolve a large number of times from different initial points may provide several different optima whose the largest one can be reasonably considered as the global maximum you are looking for.
    Of course this may come to a large price in term of computational time.

     
  • @acer: "How tight are [some constraints], at different N? Are they always equality?"
    The fact some inequality constraints type always end to equality constraints (which means that in an optimal packing each disk touches at least one other annd, possibly the boundary of the box) seems hard to prove mathematically, but I gave here a sketch of informal proof.



I found 2/N/1 funny enough to spend some time digging into it and looking to some generalizations I will refer to as D/N/M:  How to pack N D-hypersheres into the unit D-hypercube such that the sum of the M-th power of their radii is maximum?
For the sake of simplicity I will say ball instead of disk/sphere/hypersphere and box instead of square/cube/hypercube.

The first point is that problems D/N/1 do not have a unique solution as soon as N > 1 , indeed any solution can be transformed into another one using symmetries with respect to medians and diagonals of the box. Hereafter I use this convention:

Two solutions and s' are fundamental solutions if:

  1. the ordered lists of radii and s'  contain are identical but there is no composition of symmetries from to s',
  2. or, the ordered lists of radii and s'  contain are not identical.
     

It is easy to prove that 2/2/1 and 3/2/1, and likely D/2/1, have an infinity of fundamental solutions: see directory FOCUS__2|2|1_and_3|2|1 in the attached zip file..
At the same time 2/N/2, 3/N/3, and likely D/N/D, have only one fundamental solution (see directory FOCUS__2|N|2 for more details and a simple way to characterize these solutions

 (Indeed the strategy ito find the solution of D/N/D  in placing the biggest possible ball in the largest void D/N-1/D contains. Unfortunately this characterization is not algorithmically constructive in the sense that findind this biggest void is a very complex geometrical and combinatorial problem.
 it requires finding the largest void  in a pack of balls)


Let Md, 1(N)  the maximum value of the sum of balls radii for problem d/N/1.
The first question I asked myself is: How does Md, 1(N) grows with N?

 

(Md, 1(N) is obviously a strictly increasing function of N: indeed the solution of problem d/N/1 contains several voids where a ball of strictly positive radius can be placed, then  Md+1, 1(N) > Md, 1(N) )


The answer seems amazing as intensive numerical computations suggest that
                                      

See D|N|M__Growth_law.mw in the attached sip file.
This formula fits very well the set of points  { [n, Sd, 1(n) , n=1..48) } for d=2..6.
I have the feeling that this conjecture might be proven (rejected?) by rigourous mathematical arguments.


Fundamental solutions raise several open problems:

  • Are D/2/1 problems the only one with more than one fundamental solutions?

    The truth is that I have not been capable to find any other example (which does not mean they do not exist).
    A quite strange thing is the behaviour of NLPSolve: as all the solutions of D/2/1 are equally likely, the histogram of the solutions provided by a large number of NLPSolve runs from different initial points is far from being uniform.
    F
    or more detail refer ro directory FOCUS__2|2|1_and_3|2|1
     in the attached zip file
    I do not understand where this bias comes from: is it due to the implementation of SQP in NLPSolve, or to SQP itself?

     
  • For some couples (D, N) the solution of D/N/1 is made of balls of same radius.
    For N from 1 to 48 this is (numerically)
     the case for 2/1/1 and2/2/1, but the three dimensional case is reacher as it contains  3/1/13/2/1,  3/3/1,  3/4/1 and 3/14/1 (this latter being quite surprising).
    Is there only a finite number of values 
    N such that D/N/1 is made of balls with identical radii?
    If it is so, is this number increasing with
     D?
    It is worth noting that those values of
    N mean that the solution of problems D/N/1 are identical to those of a more classic packing problem: "What is the largest radius N identical balls packed in a unit bow may have?".
    For an exhaustive survey of this latter problem see
    Packomania.

     
  • A related question is "How does the number of different radii evolves as N increases dor given values of D and M?
    Displays of 2D and 3D packings show that the set of radii has significantly less elements than
    N... at least for values of N not too large. So might we expect that solution of, let us say, 2/100/1 can contain 100 balls of 10 different radii, or it is more reasonable to expect it contains 100 balls of 100 different radii?

     
  • At the opposite numerical investigations of  2/N/1 and  3/N/1 suggest that the number of different radii a fundamental solution contains increases with N (more a trend than a continuous growth).
    So, is it true that very large values of N correspond to solutions where the number of different radii is also very large?

    Or could it be that the growth of the number of different radii I observed is simply the consequence of partially converged results?
     
  • Numerical investigations show that for a given dimension d and a given number of balls n,  solutions of d/n/1 and d/n/M (1 < M < d) problems are rather often the same. Is this a rule with a few exceptions or a false impression due to the fact that I did not pushed the simulations to values of n large enough to draw a more solid picture)?


It is likely that some of the questions above could be adressed by using a more powerful machine than mine.


All the codes and results are gathered in  a zip file you can download from OneDrive Google  (link at the end of this post, 262 Mb, 570 Mb when unzipped, 1119 files).
Install this zip file in the directory of your choice and unzip it to get a directory named
PACKING
Within it:

  • README.mw contains a description of the different codes and directories
  • Repository.rtf must contain a string repesenting the absolute path of directory PACKING


Follow this link OneDrive Google

First 82 83 84 85 86 87 88 Last Page 84 of 2218