MaplePrimes Questions

Hello all, 

I am trying to compute the Groebner basis for a set of 3 coupled nonlinear equations. The variables I wish to solve for are A0,B0, and B1; however, my equations also have the variables DC, a, nu, q, and t. I wish to solve the 3 equations in terms of these other 5 variables such that I can substitute in any values I desire and obtain a result. When attempting to put the three equations into the PolynomialIdeal command from the PolynomialIdeals package, Maple gives me an error stating that the inputs must be polynomials with respect to all 8 variables. How would I go about declaring the other 5 variables such that they are considered arbitrary constants? 

I was able to get around the errors by assigning values to these 5 variables, though this is not what I am trying to accomplish. I need these 5 values to remain arbitrary.

I am very new to the concept of Groebner Bases and these commands so any help would be appreciated. I have attached my worksheet for reference. I am also happy to supply any additional information that may be needed to assist with this issue.

Thanks!
 

restart

NULL

``

SED2 := proc (A0, B0, B1) options operator, arrow; (32/3)*(nu+7)*A0^2*Pi*DC/(a^2*(1+nu))+3*DC*Pi*((1+nu)^4*(B0^2+(13/42)*B1^2+(4/5)*B0*B1)*a^2+(328/315)*A0^2*(1+nu)^2*((B0+(142/451)*B1)*nu^3+((323/41)*B0+(1490/451)*B1)*nu^2+(11*B0+(3874/451)*B1)*nu-(1847/41)*B0-(8034/451)*B1)*a+(128/105)*A0^4*(nu^4+18*nu^3+132*nu^2+494*nu+939))/(t^2*a^2*(1+nu)^4)-(1/6)*q*a^2*A0-(-(1/4)/a^2-(1/4)*(5+nu)/(a^2*(1+nu)))*A0*q*a^4-(1/2)*(5+nu)*A0*q*a^2/(1+nu) end proc;

proc (A0, B0, B1) options operator, arrow; (32/3)*(nu+7)*A0^2*Pi*DC/(a^2*(1+nu))+3*DC*Pi*((1+nu)^4*(B0^2+(13/42)*B1^2+(4/5)*B0*B1)*a^2+(328/315)*A0^2*(1+nu)^2*((B0+(142/451)*B1)*nu^3+((323/41)*B0+(1490/451)*B1)*nu^2+(11*B0+(3874/451)*B1)*nu-(1847/41)*B0-(8034/451)*B1)*a+(128/105)*A0^4*(nu^4+18*nu^3+132*nu^2+494*nu+939))/(t^2*a^2*(1+nu)^4)-(1/6)*q*a^2*A0-(-(1/4)/a^2-(1/4)*(5+nu)/(a^2*(1+nu)))*A0*q*a^4-(1/2)*(5+nu)*A0*q*a^2/(1+nu) end proc

(1)

NULL

``

eqA0 := proc (A0, B0, B1) options operator, arrow; diff(SED2(A0, B0, B1), A0) end proc:

eqB0 := proc (A0, B0, B1) options operator, arrow; diff(SED2(A0, B0, B1), B0) end proc:

eqB1 := proc (A0, B0, B1) options operator, arrow; diff(SED2(A0, B0, B1), B1) end proc:

NULL

``

type(SED2, polynom);

true

(2)

type(eqA0, polynom);

true

(3)

type(eqB0, polynom);

true

(4)

type(eqB1, polynom);

true

(5)

NULL

``

with(Groebner):

with(PolynomialIdeals):

NULL

NULL

WL := PolynomialIdeal({eqA0(A0, B0, B1), eqB0(A0, B0, B1), eqB1(A0, B0, B1)})

Error, (in PolynomialIdeals:-PolynomialIdeal) generators must be polynomials with respect to, {A0, B0, B1, DC, a, nu, q, t}

 

NULL

type(WL, PolynomialIdeals:-PolynomialIdeal);

false

(6)

``

NULL

GB := Basis(WL, lexdeg([B0, B1], [A0]))

Error, (in Groebner:-Basis) the first argument must be a list or set of polynomials or a PolynomialIdeal

 

NULL

``

GB[1];

GB[1]

(7)

GB[2];

GB[2]

(8)

GB[3];

GB[3]

(9)

``

``

A00 := solve(GB[1], A0):

A00 := simplify(remove(has, [A00], I)):

A0 := A00[1]

Error, invalid subscript selector

 

B10 := solve(GB[2], B1):

B10 := simplify(remove(has, [B10], I)):

B1 := B10[1]

Error, invalid subscript selector

 

B00 := solve(GB[3], B0):

B00 := simplify(remove(has, [B00], I)):

B0 := B00[1]

Error, invalid subscript selector

 

NULL

``


 

Download Groebner_Basis_Work.mw

 

Dear all

I have an operator given below in the image. I want expand this operator upto order 5, when there are three independent variables x, y, t(i=1,2,3). The expansion can also be obtained manually, but that is always prone mistake, is the expansion posible using any routine of Differential Geometry package?

Problem.mw

Hi,

I want to know the partial derivative of

where

in order to 

ρ

If I write 

I obtain this

 

which is incorrect  since I did not have any indexes in sigma. However if I do this next command the result seems correct although no substituion of rhocrf

What I would like to obtain was the solution in order to rho and not to rhocrf and additionally having the result as a summation over p and q and not the extended result. How should I write it in Maple then? 

 

Thank you very much!

I have installed maple in my 64 bit linux and on running calculation a window pop up saying kernel connection not available. I have disabled my firewall still the problem persist. The window freezes on clicking menu. Thankz in advance.

Hi all,

I am trying to display, using mathML, two seperate fractions being multiplied as two seperate expressions with a multiuply in the middle.

as of now I have:

restart:
left:=(x+3)/(x+7):
right:=(x-4)/(x-1):
XMLTools[Print](MathML[Export](left*right)):

The above Maple entry displays as:

I would like:

 

thanks in advance,

Mark

I want(ed) to plot a surface gievn by f(x,y,z),g(x,y,z),h(x,y,z) where k(x,y,z) =0. I suspect that is not possble but I thought I might ask.

 

thanks

Maple does not evaluate

>Re( (2-I*X)^4) ),  assuming((X, realcons)

or

>assume(X, realcons);

> Re( (2-I*X)^4) );

Why do these simple expression return unevealuated?

 

Hi,

I want to apply a rule to simplify an expression. The applyrule command works, when used directly in the worksheet. When I try to use the command within a procedure, Maple throws an error I cannot decipher:

Error, (in PatternMatching:-AlgStruct:-InsertPattern) first operand of `::' must be a name

 

Here is a full demonstration worksheet:

restart:

anexp:=abs(x)^2;

abs(x)^2

(1)

simplify(anexp);

abs(x)^2

(2)

rmabssq := proc(inexp)
description "removes the abs^2 construct in an expression":
local ruleabssqared1,ruleabssqared2,outexp:
    ruleabssqared1:= abs(''a''::algebraic)^2= ''a''^2:
    ruleabssqared2:= abs('expand'(-''a'')::algebraic)^2= ''a'':
    outexp:= applyrule([ruleabssqared1,ruleabssqared2],inexp):
    return outexp:
end proc;
 

proc (inexp) local ruleabssqared1, ruleabssqared2, outexp; description "removes the abs^2 construct in an expression"; ruleabssqared1 := abs(''a''::algebraic)^2 = ''a''^2; ruleabssqared2 := abs((('expand')(-''a''))::algebraic)^2 = ''a''; outexp := applyrule([ruleabssqared1, ruleabssqared2], inexp); return outexp end proc

(3)

## does not work :(
rmabssq(anexp);

Error, (in PatternMatching:-AlgStruct:-InsertPattern) first operand of `::' must be a name

 

## works!
ruleabssqared1:= abs(''a''::algebraic)^2= ''a''^2:
ruleabssqared2:= abs('expand'(-''a'')::algebraic)^2= ''a'':
newexp:= applyrule([ruleabssqared1,ruleabssqared2],anexp);

x^2

(4)

 


 

Download applyrule_4.mw

Thanks for your help

Hello,

i have a vector-valued function mapping from R^n  -> R^m
I  compute its Jacobian Matrix as well as the Hessian Matrix of each output with regard to the inputs, which works so far.
Now I would like to use the CodeGeneration package to generate optimized C Code to compute these matrices numerically. This is, where i encounter a Problem:

I would like to optimize Code for all matrixes at once, because they contain common subexpressions. However CodeGeneration::C tells me it is unable to optimize the given input and generates unoptimized code.


I appended an exemplary file to illustrate the problem: Jacobian_Hessian_codeGeneration_tryout.mw

short version:

C(Jac, optimize = tryhard, resultname = JacobianMatrix);
C(H1, optimize = tryhard, resultname = Hessian1); 
C(H2, optimize = tryhard, resultname = Hessian2); 
C(H3, optimize = tryhard, resultname = Hessian3)

works, but is suboptimal.

C([JacobianMatrix = Jac, Hessian1 = H1, Hessian2 = H2, Hessian3 = H3], optimize)

fails to optimize and

C([Jac, H1, H2, H3], optimize)

fails completely.

(With Jac beeing a m by n matrix and H1-3 beeing n by n matrices)

If anyone can tell me what I'm missing here I'd really appreciate the help.

Hi guys ,

Actually i dont know how to solve the following complicated differential equations by numerical methods ,

numerical.mw

 

Thank you for your attention to this matter

Hi

Can we sketch a Simulink model using Maple.

 

Dear friend,

please suggest a way for manipulation of derivative of a function symbolically. Assume

Typesetting[Suppress]([f(x)]);
Ex1 :=expand(diff(f(x+y)+x*f(x-y), x)^2)+expand(diff(f(x-y)-y*f(x+y), x)^2);

Result is as needed:

Ex1 := (D(f))(x+y)^2+2*(D(f))(x+y)*f(x-y)+2*(D(f))(x+y)*x*(D(f))(x-y)+f(x-y)^2+2*f(x-y)*x*(D(f))(x-y)+x^2*(D(f))(x-y)^2+(D(f))(x-y)^2-2*(D(f))(x-y)*y*(D(f))(x+y)+y^2*(D(f))(x+y)^2

But later I cannot use D(f) as a function. Expressions

subs((D(f)) = (t -> 1-t), Ex1);
subs(diff(f(x),x) = (t -> 1-t), Ex1);

do not handle it as a function.

Maple 16 code

 

N1 := FileTools[Text][CountLines](g)

I encounter an error message

in FileTools:-Text:-CountLines) permission denied

What  went wrong ?  This never happened before

I  re install  Maple 16, the same error persists.

 

Please help

Martin
 

I am trying Maple 2017 pdsolve for heat PDE in 1D. It seems Maple can solve now  heat PDE with homogeneous dirichlet boundary conditions (good). But when I set the boundary conditions to homogeneous neumann B.C. instead, I get an answer when this B.C. is prescribed to the left side. When this B.C. is on the right side, I get an error. Which is strange.

I am newbie in Maple, so may be I am doing something wrong in the syntax?  In addition, the answer I get when homogeneous neumann B.C. is on the left side, does not match my hand solution, which I know is correct. I'll show this below.

First, here is the case where it works. homogeneous dirichlet boundary conditions on both sides:

restart;
pde:=diff(u(x,t),t)=k*diff(u(x,t),x$2);
bc:=u(0,t)=0,u(L,t)=0;
sol:=pdsolve([pde,bc]) assuming 0<L:

This answer is correct. Now when setting the right side to homogeneous neumann B.C. I get an error

restart;
pde:=diff(u(x,t),t)=k*diff(u(x,t),x$2);
bc:=u(0,t)=0,D[1](u)(L,t)=0;
pdsolve([pde,bc]) assuming 0<L;

I think may be it does not like `L` there in the B.C. But how else to tell it this B.C.? The above is the only syntax I know. And finally, when using homogeneous neumann B.C. on the left side, I get this result

restart;
pde:=diff(u(x,t),t)=k*diff(u(x,t),x$2);
bc:=D[1](u)(0,t)=0,u(L,t)=0;
pdsolve([pde,bc]) assuming 0<L;

The correct answer for this B.C. is

The answer should be series solution as well with eigenvalues. I think if I expand Maple solution in series may be I will get it to match my hand solution. I need to look at this more later.

my question is: Why do I get an error when homogeneous neumann B.C. is on the right side but not on the left side?

I suspect I am not entering the B.C. correctly? If so, How does one enter homogeneous neumann B.C. for this 1D heat PDE?

 

how can I sort a diff EQ by its degree.  Example 4th order with 4 being farthest left in normal reading format?

 

D4 + D3 + D2 +D + C = F(t)

 

my equation display is currently:

C + D + D2.......

Thanks,

Bill

First 978 979 980 981 982 983 984 Last Page 980 of 2434