MaplePrimes Questions

I have a guess about the set of the zeros of the following polynomial

y(1-x^{m+1}z)+(1-x^{n+1}z), (here m,n are positive integers and z is a primitive d-root of unity)

which are located on the complex 2-dimensional torus. The set of solutions is finite (I think the system is zero-dimensional). My goal is to verify my guess numerically using Maple for some small values of m and n and a fixed value of z. I think if (x,y) is a solution, then x is either a (n-m) root of unity or a (n-m) root of 1/z^2 (where n>m).

You can find my code for n=3 and m = 1 attached (I was not able to load the mw format so I put the zip version). I consider z to be a third root of unity but actually, I am interested in putting z= exp(2pi/3*i) and even the real third root z=1 is not interesting for me, but since the exponential representation led to an error, I changed it to z and mentioned that z^3=1. Still, it has an error and  I would be grateful if you could let me know how I can correct this code.  

Question.maple.zip

what the meaning this warning : Warning, cannot evaluate the solution further right of 1.3344882, probably a singularity

how to analize this warning
Thank you

How do I format the display of numbers in Microsoft Excel 365 using the Maple 2023 Add-In?

The default formatting is inconsistent: displays as but displays as . At minimum, I would like all of the numbers to display using a consistent format, preferably standard scientific notation (1.27420168E7 and not or ).

Hi,
I wanted to do a 3d plot such that a function is plotted over a polar plane. I am not sure what is the best way to plot this and would appreciate some guidance/tips.

I want to plot the following function 1/(r^2*sin(theta)^2) .

I tried plot3d but the base plane is not a circle but a square...

Hello!

I have a i9 9th Generation processor with 32 GB ram

If I upgrade to a i9 13 Generation processor with 64 GB ram

Assume I change the main card to Z790

I wonder if I will notice a big improvement in performance when running Maple 2023?

Kjell

I have been writing a language translator. I have everything working reasonably well except that when translating abs(expr) with optimize=tryhard, the IntermediateCode converts the abs() into if...then...else statements. This would be fine except the type of the expr is generally a complex number. I need to optimize the code because there is a lot of redundant calculations otherwise.

I can't figure out how to get IntermediateCode from breaking the abs function into if...then...else statements. [My solution so far is to substitute abs with a dummy name and then use the translator to translate the dummy name into an abs statement - That's really not how things should work!]

Any suggestions?

I've included some example test cases of what is going wrong.

with(CodeGeneration)

testproc1 := proc (x) abs(x) end proc

IntermediateCode(testproc1, optimize = tryhard)

Scope( nametab,
  AssignedName(Name("testproc1"), Scope( nametab,
    Procedure(
      ParameterSequence(Declaration(Name("x"), Type(integer))),
      LocalSequence(Declaration(Name("s1"), Type(integer))),
      OptionSequence(),
      ExpressionSequence(),
      StatementSequence(
        If(
          ConditionalPair(LessEqual(Integer(0), Name("x")), StatementSequence(
            Assignment(Name("s1"), Name("x"))
          )),
          ConditionalPair(Less(Name("x"), Integer(0)), StatementSequence(
            Assignment(Name("s1"), Negation(Name("x")))
          )),
          StatementSequence(
            Assignment(Name("s1"), Integer(0))
          )
        ),
        Return(Name("s1"))
      ),
      DescriptionSequence(),
      GlobalSequence(),
      LexicalSequence(),
      Type(integer)
    )
  ))
)

 

testproc2 := proc (x::numeric) abs(x) end proc

IntermediateCode(testproc2, optimize = tryhard)

Scope( nametab,
  AssignedName(Name("testproc2"), Scope( nametab,
    Procedure(
      ParameterSequence(Declaration(Name("x"), Type(numeric))),
      LocalSequence(Declaration(Name("s1"), Type(numeric))),
      OptionSequence(),
      ExpressionSequence(),
      StatementSequence(
        If(
          ConditionalPair(LessEqual(Float(0, 0), Name("x")), StatementSequence(
            Assignment(Name("s1"), Name("x"))
          )),
          ConditionalPair(Less(Name("x"), Float(0, 0)), StatementSequence(
            Assignment(Name("s1"), Negation(Name("x")))
          )),
          StatementSequence(
            Assignment(Name("s1"), Float(0, 0))
          )
        ),
        Return(Name("s1"))
      ),
      DescriptionSequence(),
      GlobalSequence(),
      LexicalSequence(),
      Type(numeric)
    )
  ))
)

 

NULL

testproc3 := proc (x::complex) abs(x) end proc

IntermediateCode(testproc3, optimize = tryhard)

Scope( nametab,
  AssignedName(Name("testproc3"), Scope( nametab,
    Procedure(
      ParameterSequence(Declaration(Name("x"), Type(complex))),
      LocalSequence(),
      OptionSequence(),
      ExpressionSequence(),
      StatementSequence(
        Return(FunctionCall(Name("abs"), ExpressionSequence(Name("x")), unknown))
      ),
      DescriptionSequence(),
      GlobalSequence(),
      LexicalSequence(),
      Type(numeric)
    )
  ))
)

 

NULL

Download intermediate_code_abs.mw

I'm using NLPSolve to minimize a complicated function. It works great, but the answers are not returned in numerical form which I need as they are then input for the next stage of my program.

How to I extract numbers?

S2 := NLPSolve(test, phi1 = 0 .. 2*Pi, phi2 = 1.0*Pi .. 2*Pi);
     S2 := [-1.00000000011810774, 

       [phi1 = 0.773215730257661, phi2 = 5.98741001513872]]
==>The Result is a list and the solutions appear kind of string-like. 

S2[2,1] returns 'phi=0.773...' not the number I need

Dear all 

I have a system of  second order difference equation.

How, can I update the iterate solution and solve the system

System_of_equations.mw

Thank you

Dear all
I would like to verify if the proposed solution u_exact of my partial differential equation defined on \mathbb{R}^2, with zero boundary condition 
I write the  exact solution, how substitute this  to verify that the PDE is satisfied or not. I tried to substitute but I think someting missing. 
Please check ...

solution_pde_check.mwsolution_pde_check.mw

Thank you

restart:

  ra:=2: b1:=1.41: na:=0.7: we:=0.5: eta[1]:=4*0.1: d:=0.5:
  xi:=0.1: m:=na: ea:=0.5: pr:=21: gr:=0.1: R:=0.9323556933:

  PDE1:=ra*(diff(f(x,t),t))=+b1*(1+ea*cos(t))+(1/(R^2))*((diff(f(x,t),x,x))+(1/x)*diff(f(x,t),x));
  IBC:= {D[1](f)(0,t)=0,f(1,t)=0,f(x,0)=0};

2*(diff(f(x, t), t)) = 1.41+.705*cos(t)+1.150367877*(diff(diff(f(x, t), x), x))+1.150367877*(diff(f(x, t), x))/x

 

{f(1, t) = 0, f(x, 0) = 0, (D[1](f))(0, t) = 0}

(1)

sol := pdsolve({PDE1}, IBC, numeric); sol:-plot(f(x, t), t = 1.2, linestyle = "solid", title = "Velocity Profile", labels = ["r", "f"])

 

``

Download pde.mw

for different time plot of f(x,t) in single plot with different color 

acer helped me out last week with converting strings to dates which was very helpful. However now I stumble on 2 other problems:

- I do not succeed to plot DS6 (time difference versus a numeric value) and to not understand why

- in the cvs data sheet the length of the columns is not equal. The empty cells are automatical filled with "". This prevents me to use numelems as it will also take into consideration the cells filled with "". Is there a way to prevent this

As usual I would like to thank you all, power users, for your patience and help

Test.mw

Hi all

Let us consider the set [f1=x-y, f2=-x^2+y^2, f3=x*y+x*z, f4=-x*y*z+z^3, f5=x*y^2+y*z^2-z^3] contain homogeneous polynomials in K[x,y,z]. It has the elements of degree 1,2, and 3. Now, we start from degree 1 so we have [x-y]. Now, we go to degree 2. Now, we shall multiply f1 by the variables and add to this set f2 and f3 i.e. we have now

[x-y], [x^2-x*y, x*y-y^2, x*z-y*z, -x^2+y^2, x*y+x*z]

 We have to continue to degree 3 and multiply f1 by all monomials in degree two in k[x,y,z] and multiply f2 and f3 by any variable and add them to f4 and f5 so we have finalyas a output:

[[x-y], [x^2-x*y, x*y-y^2, x*z-y*z, -x^2+y^2, x*y+x*z], [x^3-x^2*y, x^2*y-x*y^2, x^2*z-x*y*z, x*y^2-y^3, x*y*z-y^2*z, x*z^2-y*z^2, -x^3+x*y^2, -x^2*y+y^3, -x^2*z+y^2*z, x^2*y+x^2*z, x*y^2+x*y*z, x*y*z+x*z^2, -x*y*z+z^3, x*y^2+y*z^2-z^3]]. How can I do this automatically by a simple and efficient method in Maple?

 

Maple (2023.1) opens regularly but I cannot use "open" or "save" or "save as" and after opening Maple I no longer can close it.

That is a big problem for me.

The issue is on my new laptop Lenovo L13 Yoga with Windows 11.

Any suggestion? Thanks

hi i have a problem where maple dosent have a varible theta inside cos and sin and when i give it a size it dosent solve the equtation 

The function f := x -> (x + 1)*(x^2 + (m - 5)*x - 7*m + 2) satifies
solve(discrim(f(x), x) = 0, m) has three solutions 1, -17, -1
How to find the integer numbers a, b, c, d, k, t so that the function 
f := x -> x^3 + (a*m + b)*x^2 + (c*m + d)*x + k*m+t  satifies the equation 

solve(discrim(f(x), x) = 0, m)  has three  integer numbers m?

Consider the function f:=x-> a*x^2 + b*m*x + x^3 + c*m.
I tried
restart;
f := x -> x^3 + a*x^2 + b*m*x + c*m;
solve(f(x) = 0, m);
g := x -> -x^2*(a + x)/(b*x + c);
solve(diff(g(x), x) = 0, x);

restart;
n := 0;
f := x -> -x^2*(a + x)/(b*x + c);
for a from -10 to 20 do
    for b to 20 do
for c from -10 to 20 do
mydelta := a^2*b^2 - 10*a*b*c + 9*c^2;
if 0 < mydelta and type(mydelta, integer) then
x1 := (-b*a - 3*c + sqrt(a^2*b^2 - 10*a*b*c + 9*c^2))/(4*b):
x2 := -(b*a + sqrt(a^2*b^2 - 10*a*b*c + 9*c^2) + 3*c)/(4*b):
x3 := 0:
if type(x1, integer) and type(x2, integer) and nops({0, x1, x2}) = 3 and type(f(x1), integer) and type(f(x2), integer) then n := n + 1; L[n] := [a, b, c]; end if; end if; end do; end do; end do;
L := convert(L, list);


I get
L := [[-10, 1, 6], [-10, 2, 12], [-9, 3, 5], [-8, 1, 10], [-5, 1, 3], [-4, 1, -6], [4, 1, 6], [5, 1, -3], [6, 3, 20], [7, 1, 15], [8, 1, -10], [8, 1, 12], [9, 3, -5], [10, 1, -6], [10, 1, 12], [12, 1, 18], [14, 1, -4], [15, 1, -9], [18, 1, 20], [18, 3, -10], [18, 3, 4], [20, 1, 2]]

With L[1], solve(discrim(x^3 - 10*x^2 + m*x + 6*m, x) = 0, m) ;
The equation has three integer solutions: 0, 12, -500

First 169 170 171 172 173 174 175 Last Page 171 of 2427