MaplePrimes Questions

I've created compiled and executed Fortran 77 code, and then created a .dll file - using g77, for calling as external function in MAPLE 18. I have received the following : Error loading external library. Details are below. Can anyone explain what is going wrong?

Below is the history the steps I have taken:

Here is the contenct of my FORTAN source code file: test2.for 

PROGRAM MAIN
REAL x,y, mult
x = 4.0
y = 3.0
OUT = mult(y,x)
WRITE(UNIT=*,FMT=11) OUT,x,y
11 FORMAT(1X,3E12.4)
END


function mult( a, b )
REAL a,b, mult
mult = a*b
END

The compile, execute and shared library creation steps are as follows  (using g77):

g77 -v -Wall -c -malign-double test2.for
g77 -v "test2.for" -o "test2" 
..execution ran successfully. Creation of dll:

g77 -s -o "test2.dll" "test2.for"

...this executed successfully

Defining as external function in MAPLE:
fmult := define_external('mult', LIB = "S:/MRBwork/IT/Fortran/projects/MAPLE - Fortran/CERN primes/test2.dll", FORTRAN, 'a'::(float[4]), 'b'::(float[4]), RETURN::(float[4]))

... but received following error.

Error, external linking: error loading external library S:/MRBwork/IT/Fortran/projects/MAPLE - Fortran/CERN primes/test2.dll: @�b%

Can someone take and look at the above and explain what may be causing the erroo ion the loading the .dll file?

Melvin

 

When I export to latex a matrix  <<a|b>,<c|d>>, the latex uses \begin[ and \end]

\left[ \begin {array}{cc} a&b\\ \noalign{\medskip}c&d\end {array} \right]
Is there a way to make Maple use () parenthesis instead of []? The screen display is not important for me in Maple, but I'd the latex to use () instead.  It will be nice if there is way to configure this. I looked but could not find an option.

 

hello guys , i have a metric and i want to find its non-zero components of ricci tensor but i have problem with writing the metric and maple gave me error.

 

non_zero_components_of_ricci_tensor.mw

Hello

I have some problem with " For loop". If i add more then one expression the, i recieve an error. Could you please help me to solve it? I have attached my file. Thank you.


restart 

with(ImageTools):NULL

with(FileTools):NULLNULL

Input Section

 

``

filelocation := "C:\\Users\\Mohammad\\Desktop\\ExerciseII\\1.jpg":

k := 3:``

 

zimage := Read(filelocation):

 

zwidth := Width(zimage):``

kernell := VectorCalculus:-`+`(VectorCalculus:-`*`(2, k), 1):NULLNULL

kerneld := `~`[`*`](Array(1 .. kernell, 1 .. kernell, 1), 1/kernell^2):

imheight := Height(zimage):NULL

imwidth := Width(zimage):````

Width(zimage, lower):

Width(zimage, upper):

View(zimage):NULL

new1zpic := Convolution(zimage, kerneld):

View(new1zpic)NULL``

aa := zimage(1 .. (), 1 .. (), 1):

bb := zimage(1 .. (), 1 .. (), 2):

cc := zimage(1 .. (), 1 .. (), 3):NULL

subimage := Matrix(VectorCalculus:-`+`(VectorCalculus:-`*`(2, k), 1), VectorCalculus:-`+`(VectorCalculus:-`*`(2, k), 1), 0):

newaa := aa:

"for i from k+1 to (RowDimension(aa)-k-1) do     for j from k+1 to (ColumnDimension(aa)-k-1) do     subimage:=aa(i-k..i+k,j-k..j+k).~kerneld     newaa(i,j):=add(add(subimage(m,n),m=1..(2 .k+1),n=1..(2*k+1))) end do; end do;"

Error, unterminated loop

"for i from k+1 to (RowDimension(aa)-k-1) do     for j from k+1 to (ColumnDimension(aa)-k-1) do  subimage:=aa(i-k..i+k,j-k..j+k).~kerneld    newaa(i,j):=add(add(subimage(m,n),m=1..(2 .k+1),n=1..(2*k+1))) end do; end do;"

 

 

``


Download pak2.mw

I have the following mathematical expression

where a=0.2, b=0.09, c=0.57, p=0.3 and q=1-p=0.7, Now i want to find the value of n for which the value of the expression will be 1, i.e., for what value of n , A_n will be 1?

Hej hej,

is there a way to obtain confidence intervals for the parameters in a NonlinearFit? To give you an impression of the problem which I was working on, I created a minimial working example (not sure wheather that actually helps). In this particular case, I have two parameters to fit the coefficients of a binomial series to some data I obtained. Beyond the values of the parameters (in a least square fit), I'm also interested in some kind of confidence interval, to get a feeling about how realiable my values are. Is there a direct (or even indirect) way to obtain such a thing. Either directly as a Maple function (confidenceintervals is not supported for NonlinearFit, if I'm not mistaken) or as something I can implement myself (within a reasonable time frame, as in hours rather than days).
Thanks in advance!

Cheer,

Sören

restart; with(plots); with(Statistics)

alpha[0] := 1.000000000:

m__max := 4:

model := Fit(pochhammer(z__1, m)*h__exp^m/factorial(m), [seq(m, m = 0 .. m__max)], [seq(alpha[m], m = 0 .. m__max)], m, output = [leastsquaresfunction, residuals], weights = [seq(1/abs(alpha[m]), m = 0 .. m__max)], iterationlimit = 10000)

model := [pochhammer(1.42349754368085, m)*16.2763580438677^m/factorial(m), Vector[row](5, {(1) = 0., (2) = -0.120508651249829e-1, (3) = 0.113910530162494e-1, (4) = 0.348907003220054e-3, (5) = -0.305508272150429e-2})]

(1)

plots[multiple](logplot, [{seq([m, alpha[m]], m = 0 .. m__max)}, style = point, color = black], [{seq([m, model[1]], m = 0 .. m__max)}])

 

``

Download nonlinearfit-problem.mw

I'm trying to use Maple to show that the Hilbert transform of the natural log of |H(jw)| is -arctan(H(jw))

for a minimum phase network; The network I choose is the simplest filter there exists i.e. a low pass RC-filter

with transfer function H(jw)=1/(1+tau*j*omega) therefore |H(jw)|=1/sqrt(1+(tau*omega)^2))

Here is what I did:

assume(omega > 0); assume(tau > 0); interface(showassumed = 0);

result5 := (int((1/2)*log(1+(tau*nu)^2)/(nu-omega), nu = -infinity .. infinity, CauchyPrincipalValue))/Pi

simplify(result5, symbolic)

 

unfortunately this does not give me the expected result: -arctan(w*tau*omega)

can anyone here tell me what the right way to do it is?

 

thanks in advance

hugo

I have an equation,

     y = 2x2+7,

Plotting y against x will give a quadratic graph, but plotting y against x2 should give a straight line. The problem is I cannot do

  plot([y], x2 = -5 .. 5);

It gives me an error

    Error, (in plot) unexpected option: x^2 = -5 .. 5

I have searched online but no links. Can anyone help with this.

 

Thanks

Fairoz

 

 

Dear all,

I have a question regarding the dsolve procedure in Maple. I'm trying to construct a neutron star model using the Tolman-Oppenheimer-Volkoff equation using a polytropic equation of state (EOS) which requires me to solve the ode system:

diff(rho(r),r)=-(rho(r)*(1+K/(5/3-1)*rho(r)^(5/3-1))+K*rho(r)^(5/3))*(4*Pi*r^3*K*rho(r)^(5/3)+m(r))/(K*5/3*rho(r)^(5/3-1)*r*(r-2*m(r)))

diff(m(r),r)=4*Pi*rho(r)*(1+K/(5/3-1)*rho(r)^(5/3-1)

where I have used the EOS P(r)=K*rho(r)^(5/3) and K is a known constant. rho is the density of the star, m it's mass and P the pressure inside the star.

For the initial conditions I have chosen: rho(10^(-10))=rho_0 and m(10^-10)=0. I have chosen r=10^-10 as the innermost point for the integration, since the differential equation for rho is singular at r=0. rho_0 is the central density of the star.

I solve these equations numerically using:

TOV:=dsolve({ode,ics},numeric,output=listprocedure)

where ode is my system of differential equations and ics are my initial conditions. I need now the radius of the star (R_star), which is the maximum value of r, up until which Maple has carried out the integration.

My problem is, I don't know of any efficient way, to do this. What I'm doing currently is defining a procedure TOVr:=rhs(TOV[1]) and I evaluate it at a very high value of r, for which Maple returns me the error message: "Error, (in TOVr) cannot evaluate the solution further right of ..., probably a singularity". I then use the command TOVr('last') to call the maximum value of r and to store it.

I can use the above method, as long as I'm solving the ODEs only for a few different values of rho_0. But I would like to plot m(R_star) for values of rho_0 ranging from 10^(-14) to 10^(-12) in order to find the value of rho_0, for which I can obtain the maximum value for m(R_star). But this requires me to know the value of R_star for every rho_0 and using the above method is not feasible for say hundred different values of rho_0, since I can't write a loop, because it get's terminated as soon as Maple gives me the first error message.

I was thinking of using perhaps the 'events' command in dsolve, to stop the numeric integration once the value for the pressure drops very low, say below 10^(-46), since the radius at which P(r)=0 defines the stellar surface. I tried using:

TOV:=dsolve({ode,ics},numeric, events=[[K*rho(r)^(5/3)-10^(-46),halt]])

but if I try again to evaluate the solution at a large value of r, I get the above error message, and the integration doesn't get canceled, although the value 10^(-46) is bigger than the value for the pressure I would obtain for R_star using TOVr('last') and Maple shouldn't encounter a singularity.

Am I using the 'events' command wrong? And does somebody know of a more efficient method to obtain the maximum value of a variable after carying out a numerical integration using dsolve?

Sorry for the long post and thank you all.

Hello

Is there any option to create a vector with logaritmically spaced? somthing like "logspace" in matlab. (logspace(0:10:20))

Thank you.

Dear Community Members,

 

We have problem with calculation in Maple v11 and v18. when we make a calculation by using maple v11 and v18, we was not able to get the solution as you see enclosed. when we clicked to "enter + ; ", programme does not run.

 

For learning, I was trying to implement this in Maple. Given this matrix

m:=<<"foobar"   | 77>,
         <"faabar"   | 81>,
         <"foobaa"  | 22>,
         <"faabaa"  | 8>,
         <"faabian"  |88>,
         <"foobar"  | 27>,
         <"fiijii"      | 52>>;

And list of keys 

keys:={"foo","faa"}:

The idea to find the entries (in first column) which starts with the keys, and sum the corresponding numerical value in the second column. The result will be

r:= <<"foo"|126>,
        <"faa"|177>>

I tried using select, but select, once something is found, does not allow one to do anything more, so it is not very useful. For example  select[flatten](x->x[1..3]="foo",m);  just returns the fields in first column. 

I can extract rows I want like this

f:=x->seq(`if`(m[i,1][1..3]=x,m[i],NULL),i=1..7):
r:=map(f,keys);

Not very useful, but at least I got the parts I want, but still need to process these again.

I could write a loop to do the whole thing, but I am trying to avoid this.

What would be the correct Maple way to do this? I think there might be a command in some package that will do this in one or 2 lines only.

 

Heyho,

I'm pretty new to Maple (started Monday). And I don't know how to solve (or even why it exists) the following error:

S3() generates two integers, one converted from a random 568-Bit-number "e" and one converted from a random 160-bit number "kp1", satisfying gcd(e,kp1)=1.
That works pretty fine so far.

 

Now I need two specific numbers, x and y defined by:

 

And I use the proc S4 to get them:

 

Sometimes, the error occurs "Error, (in S4) the modular inverse does not exist", and I dont get why,... I tried to fix it, with the "while"-loop, but it didnt work out yet.

Someone knows how to solve this problem?
Thanks!

 

Hi

how can solve this system of equations:

-dp/dz=(0.855*(1+2*x))/p

dx/dz=((6.39*10^-3*p*(1-x))/(1+2*x))

that x=f(z) and p=f(z)

and at z=0     p=5 bar  & x=0

Dear all

I want to know, how one can install third party package into Maple13, the package is "wkptest" i downloaded it from link http://cpc.cs.qub.ac.uk/summaries/ADTY. If anyone knows how to do this please help.

First 1310 1311 1312 1313 1314 1315 1316 Last Page 1312 of 2434