## 12530 Reputation

8 years, 213 days

## Matrix...

@sursumCorda  Why not use e.g.

```Matrix( [ [x || (1 .. 2)] , [y || (1 .. 2)] , [1 \$ 2] ] );
```

 > ode:=x*y(x)*diff(y(x), x) = (x + 1)*(y(x) + 1): ic:=y(1) = 1:
 > dsolve([ode,ic]);
 (1)
 > sol_no_IC:=dsolve(ode,'implicit');
 (2)
 > eq:= eval(sol_no_IC,[y(x)=1,x=1]);
 (3)
 > PDEtools:-Solve(eq);
 (4)
 > solC:=eval(sol_no_IC,%);
 (5)
 > S:=solve(solC, y(x)) assuming x>1;
 (6)
 > sol:=select(s -> (eval(s,x=1)=1), [S])[];
 (7)
 > odetest(y(x)=sol, [ode,ic]);
 (8)

## correct branch...

@nm Maple decided to use the -1 branch because it knows the LambertW function. For example,  the restrictions  f₁:(-∞,-1]→[-1/e,0)  and  f₂: [-1,∞)→[-1/e,∞)  of  f(x)=x*exp(x)  are inverted as LambertW(-1,y) and LambertW(0,y). Given IC, Maple knows which one to use.

The same thing happens in other situations, e.g to invert  cos : [4*Pi, 5*Pi] -> [-1,1]. So it's nonsense to look for an algorithm, because it would imply to rewrite Maple.

If you do not want IC, just use the option implicit as I said; most cases will be solved this way.

## surfaces...

@C_R Actually, in both situations, solve only finds a few surfaces contained in the interior of the torus (the main components of the solution are missing).

## SemiAlgebraic...

@Preben Alsholm The result of

`sol2:=SolveTools:-SemiAlgebraic({torus1<0}, [x,y,z]);`

seems to be correct but more complicated than necessary.

## Tags......

After completing my last post I was said that there are no tags; but they were introduced! I accepted a proposed tag (a stupid one) and the post was accepted.

## Zeta(2) via Product...

@janhardo As seen, Maple knows the symbolic value of Zeta(2).
It is possible to deduce it e.g. from the infinite product expansion of sin(x) (see below), but it would be much more useful for you to read a few known mathematical proofs in the given references.

 > f:=Product(1-x^2/(k^2*Pi^2), k=1..infinity); # sin(x)/x
 (1)
 > eval(diff(f,x,x)/2, x=0);
 (2)
 > C2:=simplify(%); # coeff of x^2 in f
 (3)
 > S2:=coeff(series(sin(x)/x, x), x^2);
 (4)
 > isolate(C2=S2, indets(C2, function)[]);
 (5)

## @janhardo Euler product formula can...

@janhardo Euler product formula can be written in Maple this way:

but note that Maple cannot use ithprime symbolically.

## unintuitive sums...

@Jesús Guillera You have to be careful because e.g.  1 + 4 + 4^2 + ...  = -1/3.
Also, F(z) converges only for |z| < 1 and for some points with |z|=1.

## still there...

@NIMA112  y[2] still present! Check with indets

```lprint(indets(zz, name));

# {Delta, Q__01, Q__02, T__1, T__2, a, alpha, b, beta, lambda, v, x, x__01, x__02, y, y__01, y__02, y[2]}
```

## 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)
 >

 1 2 3 4 5 6 7 Last Page 1 of 167
﻿