12915 Reputation

8 years, 351 days

typo...

@sursumCorda Corrected and .mw inserted.

OK...

 > restart;
 > SYS := [cos(x)*cos(y)*cos(x + y) - 2*(sin(x)*sin(y) - 1)*2*(sin(x)*sin(x + y) - 1)*2*(sin(y)*sin(x + y) - 1),        (cos(x + y) - (cos(x) + cos(y)) + 1)**2 + 2*cos(x)*cos(y)*cos(x + y)]:
 > Sys:=eval(expand~(SYS)):
 > solve(eval(Sys[2],y=Pi)); #Not real; idem x=Pi and for Sys[1]
 (1)
 > tanhalf := [ cos(x)=(1-t^2)/(1+t^2), sin(x)=2*t/(1+t^2), cos(y)=(1-u^2)/(1+u^2), sin(y)=2*u/(1+u^2) ]:
 > f:=seq(   convert( SolveTools:-SemiAlgebraic( {numer(eval(Sys[i], tanhalf))}), radical), i=1..2);
 (2)
 > evalb({f[1][]} = {f[2][]});   # The equations have the same solutions
 (3)
 > XY:=t -> arctan(2*t/(1+t^2),  (1-t^2)/(1+t^2));
 (4)
 > map( z -> [x=XY(eval(t,z)), y=XY(eval(u,z))], f[1]);
 (5)
 > select(z -> is(eval(x,z)+eval(y,z) >=0), %);
 (6)

The only one...

@mmcdara If you don't know an IC for some x>1, you cannot find a solution.
For example,
sol3 := piecewise( x<1, 1/(1-x), 1/(a-x) )

is a solution for any a<1.

Removing the conditions psi1(1)=0, psi2(1)=0, the solution is unique in terms of e1, e2 and can be obtaind symbolically.

Now, imposing psi1(1)=0, psi2(1)=0 it results a system in {e1, e2} which can be solved numerically.

LLL...

@Carl Love I do not have a solid theoretical justification. The vector <x,y> can ve represented (via isolve) as p*v1 + q*v2; p,q in Z, v1, v2 in Z^2.  For our problem, it will be convenient to have small p,q when x and y are small. This happens when v1, v2 are replaced with the simplified equivalent basis given by LLL.

I think that indeed R_max could be estimated using the properties of the LLL basis, but I did not (and probably will not) try to investigate this.

speed...

@Carl Love Nice idea, I have used it in my first version but without chrem.
Unfortunately, for larger problems it is very slow.
For example, I could not wait MinY for
eqs := [154*x+69*y, 13*x+716*y, 23*x+3059*y, 2295*x + 4522*y, 6479*x + 5396*y, x+2*y]:
M:= [7^3, 13^3, 23^3, 17^3, 29^3, 31^3]

but Miny finished in less the 1 second (for R=100) or 5 seconds for R=1000 (default).

Congratulations for  mapletran...

Congratulations for  mapletransactions and for your interesting contribution on Special Functions.

P.S. Concerning Tom Rocks Maths, I wonder whether such "performances" are really necessary to attract young math students.

?...

@Jesús Guillera  I guess your comment is instead of a "thanks".
Have you tried my proc? It works correctly.
In my second example, the last modulus is 29^3. (For your 19^3 ==> x = 1103, y = 26390).

Unique?...

@Jesús Guillera  Without a minimization the solution is not unique (modulo the product of the moduli) and you already have here an example.

Optimal possible...

@sursumCorda   If we change in the loop +-1000 with +-10000, your smaller pair (or better) will be found.
Actually, there is a simple and fast enough method to find the smallest (x,y) using X0 and Y0.

/ 23...

@Carl Love  Yes, but the coeffs were divided by 23.

C[x,y]^3...

@Carl Love Yes, I also wanted to clarify the mathematical aspect (modules), but you were faster.
It seems that the OP wants to consider the vector space C[x,y]^3  (for the rows) over the field C. This is non-standard and a rank notion for a matrix in the ring  M_n(C[x,y]) does not seem to be useful.

x,y...

@Carl Love Of course 2 is the "generic" value of the rank. The exact value is given by:

```ans:=(x,y) -> piecewise(x<>0 and y<>0, 2, x<>0 or y<>0, 1, 0)
```

@Gharhoud  Yes.

Workaround...

The following works in Maple 2022+ and produces several solutions, some of them being very comlicated.

```sys1:=
{-A(t)^2*diff(Zeta_1(t,x,y,z),t)+diff(Zeta_0(t,x,y,z),x) = 0,
A(t)^2*diff(Zeta_1(t,x,y,z),y)+B(t)^2*diff(Zeta_2(t,x,y,z),x) = 0,
A(t)^2*diff(Zeta_1(t,x,y,z),z)+C(t)^2*diff(Zeta_3(t,x,y,z),x) = 0,
-B(t)^2*diff(Zeta_0(t,x,y,z),y)+diff(Zeta_0(t,x,y,z),y) = 0,
B(t)^2*diff(Zeta_2(t,x,y,z),z)+C(t)^2*diff(Zeta_3(t,x,y,z),y) = 0,
-C(t)^2*diff(Zeta_3(t,x,y,z),t)+diff(Zeta_0(t,x,y,z),z) = 0,
# diff(Zeta_0(t,x,y,z),t) = psi(t,x,y,z),
diff(Zeta_1(t,x,y,z),x) = diff(Zeta_0(t,x,y,z),t),
diff(Zeta_2(t,x,y,z),y) = diff(Zeta_0(t,x,y,z),t),
diff(Zeta_3(t,x,y,z),z) = diff(Zeta_0(t,x,y,z),t)}:
V1:=[Zeta_0(t,x,y,z), Zeta_1(t,x,y,z), Zeta_2(t,x,y,z), Zeta_3(t,x,y,z), A(t), B(t), C(t)]:
pdsolve(sys1, V1);
```

 4 5 6 7 8 9 10 Last Page 6 of 170
﻿