## 8769 Reputation

11 years, 313 days

## What is the reason for this difference i...

I was looking at a question on another forum, and tried in Maple also, and Maple also have a problem with this integral. Here is a simple version. The problem is that int() gives different numerical answer from evalf(Int). Maple can't solve this analytically, so values have to be used for the integrand before calling int()

restart;
eq2:=(a/(a + c*z))^L*exp(-z)/sqrt(z);

L:=2:
a:=10^(0.1):
b:=10^(0.1):
c:=0.01*a:
int(eq2,z=0..infinity);   # 177.245
evalf(Int(eq2,z=0..infinity));   # 1.7551

I think the 1.7551 is the correct value. My question is: Why did maple give wrong answer from int()? Is it analytical reason, or purely numerical?

Maple 17.02, windows 7.

## evalhf, is it using 32 bit or 64 bit? Us...

I was answering this question on another platform, and wanted to compare with Maple. On Matlab, this is the result

```format long
916.536 + 3.3

9.198359999999999e+02When using Maple I getevalhf(916.536 + 3.3);     919.836000000000013I am on a 64 bit intel PC, and the OS is windows 7, 64 bit, and I my Maple is 64 bit version also.Using Mathematica on my PC, which is 64 bit also, I get same as Matlab:FullForm[916.536 + 3.3]    919.8359999999999`and help on evalhf says:"A call to evalhf evaluates an expression to a numerical value using the floating-point hardware of the underlying system. The evaluation is done in double precision."So, the question is, why I am not gettting the same result as those others shown above?May be it has to do with this:"The evalhf function converts all its arguments to hardware floats, computes the answer and converts the answer to a Maple float result."?```

## Can Maple expand in Laurent series for s...

Is there a way to tell Maple to expand a complex function in Laurent series around a point, and have it show the series expansion that are valid for different regions? Either by the user telling it which region to use, or it automatically shows all regions?

For example, given

f(z):= z-> (3*z+1)/((z-1)*(z+1))

This has a pole at z=1 and at z=-1. I want to expand this around z=1. Hence it will have Laurent series in the annulus between z=1 and z=-1, but there is also region outside z=-1 that goes to infinity. So there are two regions.

When I do

with(numapprox);
laurent((3*z+1)/(z^2-1),z=1);

Maple gives the correct Laurent series for the region in the annulus |Z-1|<2, i.e. the first region (the one inside the two singularities).

But I want to see the expansion for different region, for |z-1|>2 (to check if I did it ok). This is what I get btw

3/(z-1) - 2/(z-1)^2 + 4/(z-1)^3 - 8/(z-1)^4 +....

Do I need a special package for this?

Fyi, I found this question here but it does not really answer my question. I want to speficy both the point of expansion, and also the region itself.

## why does combine(sin(x)^2) expands the e...

This is just a question on terminology. The name "combine" implies pulling terms together. Yet, when applied to something like sin(x)^2 it has the effect of expanding it:

r:=sin(x)^2;
combine(r);

Which seems counter-intutive to me. I tried first expand(r) but that did not expand it.

Fyi, in Mathematica the function to do the above is called

Sin[x]^2;
TrigReduce[%]

1/2 (1 - Cos[2 x])

As Mathematica does not have a Combine[] function.

So, I am just wondering about the naming, that is all. I would never have thought first that a command called combine() will expand sin(x)^2.

## What is the correct way to add share lib...

I installed the shared library from http://www.maplesoft.com/applications/view.aspx?SID=1691

and it seems to have loaded ok. Now I can do

with(share);
See ?share and ?share,contents for information about the share library
[]

When browsing help, I noticed it has a function called IntSolve() for solving linear integral equations. Maple itself has function called intsolve() which is build-in.

Since Maple is case sensitive, I assumed when I type IntSolve() then it will find the shared version of IntSolve() automatically and not call Maple's own intsolve. And that is indeed what happed. I typed an example from the help on share as you can see

eq1 := p(x)-1/2*Int(x*y*p(y),y=0....1)=5/6*x;
IntSolve(eq1,p(x));
7775
---- x
7776
intsolve(eq1,p(x));
p(x) = x

Ok, So one of them is a little wrong :).

But suppose I want to explicitly add the share library there, in the call, as prefix, so that when I look at the code later, I can see which function I am calling. How should one do this? I tried

share:-IntSolve(eq1,p(x));
Error, `share` does not evaluate to a module
share[IntSolve](eq1,p(x));

The strange thing, is that this worked

IntSolve[IntSolve](eq1,p(x));

Basically, all what I want is to way to add the share name to all the calls somewhere, so I know, when looking at the code, which call is from which library or package.

Any idea how to do this? So to avoid any possible name clash since the share library seems large.

I am using Maple 17.02

 First 161 162 163 164 165 166 167 Page 163 of 167
﻿