## 12590 Reputation

8 years, 244 days

## y[2]...

@NIMA112 Of course it does not work because you also have y[2].

## timings...

@sand15 Yes, but try to compare the timings for e.g.

```d := rand(10^20 .. 10^30)():
n := d^rand(100 .. 1000)()*rand(10^10..10^20)():
```

## ?...

@nm Try  n:=90; d:=3;

## sort...

@dharr Just a remark. The eigenvalues are not correctly sorted; the option key=evalf should be added.

## example...

 > with(LinearAlgebra):
 > A := <<-1,-3,-6>|<3,5,6>|<-3,-3,-4>>;
 (1)
 > (V,Q):=Eigenvectors(A);
 (2)
 > Q^(-1).A.Q = DiagonalMatrix(V);
 (3)
 > (Vt,Qt):=Eigenvectors(A^+); # left eigenvectors; the eigenvalues are always the same
 (4)
 > A . Q[..,1] = V[1] * Q[..,1];         # A.v = lambda*v
 (5)
 > Qt[..,1]^+ . A = Qt[..,1]^+ * Vt[1];  # w.A = lambda*w
 (6)
 >

## Funny...

@acer However,

```restart;
local a;
a := 17:
:-a := 18:
p := proc()
local a;
a := 25;
return parse("a",statement);
end proc:

p();  #17
```

## Sorry...

@mmcdara Sorry, probably I have seen an older version of your answer, or maybe I was not careful enough.

## useassumptions...

@mmcdara You have ommited useassumptions. So, solve has another task: a single inequality instead of a system.

## Digits=10...

@Axel Vogt Just replace 10.0 by 10

## 1/f...

@sursumCorda
I used Maple 2018 on an old Windows tablet  and I obtain
limit(1/f, x=infinity) = 0.

## comment...

@petit loup   "#" starts a comment, so actually method='integer'  is not needed when the matrix has integer entries.
For our matrix A,
S,U,V := SmithForm(A, output=['S,U,V'], method='integer');
and
S,U,V := SmithForm(A, output=['S,U,V']);
give the same result.

## interval...

@mmcdara Actually, when limit returns an interval a..b, this means that the limit does not exist; mathematically this is equivalent to the undefined result, but Maple also says that the limit points (aka accumulation points) are contained in the interval a..b.

Note that e.g.

limit(3*sin(1/x)-4*cos(1/x), x=0);
-7 .. 7

but actually the set of accumulation points is the interval -5 .. 5, which Maple cannot find.

It would be nice to have in Maple the comands  sup, inf, limsup, liminf for functions and sequences, just like in Mathematica!

## @mmcdara Probably the designers con...

@mmcdara Probably the designers consider that <...> is enough, e.g. the first method or

`<M[1,1],M[1,2]; M[2,1],M[2,2]>;`

## Example...

```restart;
m:=1000: n:=1000: A:=LinearAlgebra:-RandomMatrix(m, n):
x:=Pi/77:

f:=proc(x,A) local i,j,s:=0;
for i to m do for j to n do
s:=s+cos(sin(x+A[i,j]));
od od;
s
end proc:

CodeTools:-Usage( evalf(f(x,A)) );
## memory used=6.11GiB, alloc change=33.00MiB, cpu time=10.89s, real time=10.90s, gc time=1.70s

##                        7.639612369 10^5

CodeTools:-Usage( evalhf(f(x,A)) );
## memory used=7.63MiB, alloc change=7.63MiB, cpu time=265.00ms, real time=266.00ms, gc time=0ns

##                    7.63961236894650501 10^5

```