Items tagged with parameters

Feed

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

 

 

  Assume that one has an equation P(a,b,c,d,e,f)=0. How do we solve this equation so that the parameters b and c are in terms of a, and the parameters d and e in terms of f?

i am interested to numerically solve the 3 non-linear coupled ODE's in the 3 different intervals of rho(define in attached file) for the different corresponding parameters alpha and beta at i=0..2.

density_interval_solution.mw 

hello im currently working on a project and im fitting some non-linear data with the follwing model:

model:= 1.*10^5*exp(-t*k-*t/B)

where B and k are the unkown parameters.

i have the following data:

X=<0,2,4,6,8,10>

Y := <100000, 86089.76983, 74114.4849, 63804.98946, 54929.56828>

if i do the fit like this: fit(model,X,Y,t) i get a fit that looks like this:

100000*exp(-0.520664970792415e-1*t) which i alright. however when i try to get the parameters i get something like this

fit(model,X,Y,t,output=[parametervalues])

[B = .999563650781966, k = -.948370042622550] - when i define k=0.05 however i get [B = 483.910474528817], which is the right parameter.

insereting the two different sets yields:

1) k=0.05, B = 483.910474528817 -> 100000*exp(-0.520664970792415e-1*t) (good aprox to the fit)

2) B = .999563650781966 and k = -.948370042622550 -> 100000*exp(-0.5206649794e-1*S) (way off)

how is this possible anyone able to help, been sitting with this for days now?

 

 

I want  to find the parametrs that verify the below inequalities at the same time:

beta*(v+u)>phi*(alpha+lamda+u+delta)

phi>beta

beta> (alpha+lamda+u+delta)

phi* (alpha+lamda+u+delta)>beta*(u+v+alpha),

question : find the values of u,v,delta,lamda,phi,beta,alpha such as all these parameters are in the intervall ]0,1]

can anyone help me ?

 

Hi guys! 

I have a PDE system. The mayority of the equations are equal to zero, but two of them are:

 

where a, b, c, d are CONSTANT parameters. I know that if a=b=d=c=1 the system is inconsistent. But I also know that if a=-1, b=d=0 and c=1 the system is consistent and exist the solution. I wanna know if there's a way to ask maple to find another selections of my parameter that make my PDE consistent and what it's the solution for that selection of a,b,c,d. 

Here's my PDE system (sys2). 

test.mw

thank you so much for your time! 

Hello,

With the Explore function, the use of sliders is very convenient to test the sensibility of a result with regard to a parameter.

However, It is also very convenient to specify a accurate value to a parameter.

Consequently, i would like to combine the use of slider (usually defined in the default mode) with the use of the option "controller=textarea".

Do you have ideas to combine the use of slider and the use of textarea for the definition of the parameters in the Explore function ?


Here you can find a example of the theta4 function depending of 8 parameters (xp3,xp4,zp3,zp4,phi3,phi4, gamma3, gamma4).

TestExplore_4.mw

I manage to use either the sliders or the textarea option but not both.

Thank you in advance for your help and ideas.

Hello, I am using PDEtools to evaluate an equation but got system inconsistent in respect of a parameter used after the command map(pdsolve). I am afraid the result sebsequently given may not be correct, did I do something wrong?

Thanks.

 

test.mw

 

 

 

Also always i try to solve that strange ecuation maple give me like an aswer in terms of Z, with an integral on it, i don't get nothing. I evaluate a point with right click, evaluate a point. Choose the variables value, and the time at wich i want to evaluate the ecuation. Later it give me the same strange solution but with the variables replaced for the values i gave to the program. Then i choose right click, aproximate, and don't matter if i select 5, 10 or more digits, it launchs to me the same strange ecuation, not the number i'm waiting for.

So that i want to know now is how can i manipulate a numerical solution to a diff ecuation.

For example if i got this system of diff ecuation

dx/dt = (-k/m) (x srqt(x^2 + y^2))

dy/dt = (-k/m) (y srqt(x^2 + y^2)) - g

Which is a projectile trajectory taking care of air drag force, and i want to know at which initial speed i have to fire the body to reach 300m if it is fired from the initial point at (0,0), and it's initial velocity on x is 3 times it's initial velocity on y (initial launch angle condition)? 

How can i input that conditions to make maple give me a solution for something like that?

Is there an elegant way to plot a surface with three given parameters, such as
x=(5+w\cos v)\cos u, y=(5+w\cos v)\sin u, z=w\sin v

with u,v between 0 and 2Pi and w between 0 and 3?

Hi,

 

I am trying to solve a simple system of the form AX=0, where A is a N*N matrix, X is an N*1 vector (and the right-hand side of the equation is an N*1 vector of zeros, I apologize for the inexact notation). The difficulty comes from the fact that the values of A are parameterized by 2*N parameters (that I will write as the 2*N vector P), and I would like to get a solution in the form X=f(P).

 

One solution is to try to use LinearAlgebra[LinearSolve], but it only returns the trivial solution X=0, which I am not interested in.

Another solution is to compute analytically the Moore-Penrose pseudoinverse Ag of A, as the general solution is of the form

(I - Ag A)f ;

where f is a vector of free parameters. However, even for a small matrix size (N=4), Maple is still computing after 3 hours on my (fairly powerful) machine, and it is taking more and more memory over time. As the results are polynomial/rational equations in the parameters P, I was actually expecting Maple to be more powerful than other softwares, but for this particular problem, Matlab's symbolic toolbox (muPAD) gives quick solutions until N=6. I need, in the end, to solve additional polynomial/rational equations that are derived from the solutions X=f(P), where Matlab fails. This is why I would really like to be able to solve the above-mentioned problem AX=0 with Maple in order to try to solve the subsequent step of the problem (polynomial system) with Maple.

 

Any suggestions on how to do this would be highly appreciated! Thank you very much for your time and help.

 

Laureline

Hi All

Assume that we have a stochastic model with following density function

and our goal is to estimate unknown parameters namely, alpha, beta, landa, mu and sigma by any available method especially maximum likelihood estimation method.
How can we do it with maple software?

Does the "MaximumLikelihoodEstimate" command can help?

or should i define Maximum Likelihood function first and then differentiate it according to unknown parameters?

 

thanks in advance

 

Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department

Let us consider the maximum value of the polynomial

x^4+c*x^2+x^3+d*x-c-1

on the interval x=-1..1 as a function g of the parameters c and d. General considerations suggest its continuity. However, a plot3d of g does not  confirm it.  Also the question arises "Is the function g(c,d) bounded from below?". Here is my try with the DirectSearch and NLPSolve:

 

restart;
``

g(10, -10)

9.

(1)

plot(x^4+x^3+10*x^2-10*x-10-1, x = -1 .. 1)

 

plot3d(g, -5 .. 5, -5 .. 5, grid = [100, 100], style = surface, color = "DarkOliveGreen")

 

DirectSearch:-GlobalOptima(proc (a, b) options operator, arrow; g(a, b) end proc, {a = -1000 .. 1000, b = -1000 .. 1000}, variables = [a, b])

[-167.208333252089, Vector(2, {(1) = 999.9999999975528, (2) = 166.20833325208952}, datatype = float[8]), 815]

(2)

DirectSearch:-GlobalOptima( (a, b) -> g(a, b), variables = [a, b])

DirectSearch:-GlobalOptima(proc (a, b) options operator, arrow; g(a, b) end proc, variables = [a, b])

Error, (in Optimization:-NLPSolve) invalid input: PolynomialTools:-CoefficientVector expects its 1st argument, poly, to be of type polynom(anything, x), but received HFloat(HFloat(undefined))*x^4+HFloat(HFloat(undefined))*x^3+HFloat(HFloat(undefined))*x^2+HFloat(HFloat(undefined))*x+HFloat(HFloat(undefined))

 

``

 

Download bound.mw

 

This might be a mis-understanding on my part, so I figured I would ask a question first.  Narrowing down my code to something minimalistic, suppose I have 2 functions, each of which take a 'context' (abbreviated ctx) as a keyword parameter.  Now, suppose that the first one calls the second, like so:

foo := proc({ctx :: list := []}) bar(ctx = ctx) end proc:
bar := proc({ctx :: list := []}) nops(ctx) end proc:

and then a call "foo(ctx = [a,b,c])" returns the (completely unexpected) value 0.  See if you can puzzle out why.  If I change my code to use different names, like

foo1 := proc({ctx :: list := []}) bar1(_ctx = ctx) end proc:
bar1 := proc({_ctx :: list := []}) nops(_ctx) end proc:

Then the call "foo1(ctx = [a,b,c])" returns the expected 3.

I have tried a number of variants, like changing the call to bar('ctx' = ctx) in foo, but that does not work.  The completely un-intuitive :-ctx does work.

Is this documented anywhere?  Is this really the intended design?  Not being to re-use a name for a keyword parameter without going through some contortions seems, a little, shall I say, odd?

Consider the following two test procedures for creation of the same module:

createModule1 := proc(dim::posint)
    module()
        export det;
        det := (x::Matrix(1..dim,1..dim)) -> Determinant(x);
    end module
end proc:

and

createModule2 := proc(A::Matrix(square))
    local dim;
    dim := RowDimension(A);
    module()
        export det;
        det := (x::Matrix(1..dim,1..dim)) -> Determinant(x);
    end module
end proc:

as well as the following code lines calling these:

createModule1(       2 ):-det(IdentityMatrix(2));
createModule2(Matrix(2)):-det(IdentityMatrix(2));

The first line executes unproblematically, while for the second line an error results concerning the dimensionality check 1..dim,1..dim of the matrix. Why is dim available/initialized in the first version, while not in the second?

1 2 3 4 5 6 Page 1 of 6