vv

12453 Reputation

19 Badges

9 years, 279 days

MaplePrimes Activity


These are replies submitted by vv

The mathematical name for "ambivert" is (real) analytic involution.

restart;

n:=10:

f:=add(a[k]*x^k, k=1..n):

S:=seq(coeff(eval(f, x=f)-x, x, k), k=1..n):

solve([S, a[1]=1]);  # only the identity if f is increasing

{a[1] = 1, a[2] = 0, a[3] = 0, a[4] = 0, a[5] = 0, a[6] = 0, a[7] = 0, a[8] = 0, a[9] = 0, a[10] = 0}

(1)

solve([S, a[1]=-1]);

{a[1] = -1, a[2] = a[2], a[3] = -a[2]^2, a[4] = a[4], a[5] = 2*a[2]^4-3*a[2]*a[4], a[6] = a[6], a[7] = -13*a[2]^6+18*a[2]^3*a[4]-4*a[2]*a[6]-2*a[4]^2, a[8] = a[8], a[9] = 145*a[2]^8-221*a[2]^5*a[4]+35*a[2]^3*a[6]+50*a[2]^2*a[4]^2-5*a[2]*a[8]-5*a[4]*a[6], a[10] = a[10]}

(2)

 

To obtain an involution from the Lambert function we actually have to be careful about branches!

F:=piecewise(x<0, 1 + LambertW(0,  (x - 1)*exp(x - 1)),
                  1 + LambertW(-1, (x - 1)*exp(x - 1)))

F := piecewise(x < 0, 1+LambertW((x-1)*exp(x-1)), 1+LambertW(-1, (x-1)*exp(x-1)))

(3)

plot(F, x=-10..1);  # F is involution in (-infinity, 1)

 

id:=eval(F, x=F); # identity

id := piecewise(piecewise(x < 0, 1+LambertW((x-1)*exp(x-1)), 1+LambertW(-1, (x-1)*exp(x-1))) < 0, 1+LambertW((piecewise(x < 0, 1+LambertW((x-1)*exp(x-1)), 1+LambertW(-1, (x-1)*exp(x-1)))-1)*exp(piecewise(x < 0, 1+LambertW((x-1)*exp(x-1)), 1+LambertW(-1, (x-1)*exp(x-1)))-1)), 1+LambertW(-1, (piecewise(x < 0, 1+LambertW((x-1)*exp(x-1)), 1+LambertW(-1, (x-1)*exp(x-1)))-1)*exp(piecewise(x < 0, 1+LambertW((x-1)*exp(x-1)), 1+LambertW(-1, (x-1)*exp(x-1)))-1)))

(4)

plot(id, x=-10..1);

 

simplify(eval(id, x=a)) assuming a<1; # Maple cannot simplify to a

1+piecewise(piecewise(a < 0, LambertW((a-1)*exp(a-1)), 0 <= a, LambertW(-1, (a-1)*exp(a-1))) < -1, LambertW((a-1)*exp(a-1)), LambertW(-1, (a-1)*exp(a-1)))

(5)

eval(id, x=-3);  evalf(%);   #numerical check
eval(id, x=1/3); evalf(%);

1+LambertW(-1, LambertW(-4*exp(-4))*exp(LambertW(-4*exp(-4))))

 

-3.000000000

 

1+LambertW(LambertW(-1, -(2/3)*exp(-2/3))*exp(LambertW(-1, -(2/3)*exp(-2/3))))

 

.3333333331

(6)

 

Download involution-vv.mw

@jeffreyrdavis75 You should state clearly what you want to be proved, in correct Maple syntax (or at least a correct mathematical  formula).

@eager0626 
I have used a combination of Groebner[Basis], solve and fsolve(for polynomials).
I did it only because I wanted to know the exact situation, the results of fsolve and DirectSearch being confusing.
Knowing now that except for (a=0,b=0,u=anything)   there are exactly two solutions  (a0, b0, u0)  and  (-a0, b0, Pi+u0),  we may use fsolve which is very fast!

fsolve(eval(sys,sigma=0.5), {a=0.0001 .. 1, b=0.0001 .. 1,  Upsilon=-Pi..Pi});

       {Upsilon = 0.01767204623, a = 0.01542763525, b = 0.002577584538}

The solution set is infinite (even uncountable), e.g. a=0, b=0, Upsilon=arbitrary;  (actually Upsilon should be modulo 2*Pi). So, finding all of them numerically is out of the question.

If you really need all the solutions, you could convert the system into a polynomial one (e.g. using cos(Upsilon)=c, sin(Upsilon)=d, c^2+d^2=1) and call solve or (better) Groebner:-Basis.

In Windows, the directory "Program Files", its subdirectories and files are write-protected.
You can use Windows commands to remove the protection, but it would be a bad idea.
Why do you want to create the library there? The only benefit would be that the path is automatically included in libname, but if you really need that, you could use a maple.ini file (see the help), or you may put your library in a directory

cat(kernelopts(homedir),"/maple/toolbox/YourDir/lib")

@The function   assuming p::real  informs Maple that the parameter p is to be considered real. Note that by default, the parameters (and the variables) are usually considered complex by Maple.

Probably Maple should consider the parameters in minimize & maximize as real. Strangely, it does so for multivariate functions, but not for univariate ones.
 

@tomleslie 

I thought that the point was clear.

restart;

kernelopts(version);
with(Iterator):
P := CartesianProduct([1,2,3,4],[1,2,3,4], compile=false);
seq(p[], p=P);
add(p[], p=P);

`Maple 2021.1, X86 64 WINDOWS, May 19 2021, Build ID 1539851`

 

CartesianProduct([1, 2, 3, 4], [1, 2, 3, 4], 'compile' = false)

 

Vector[row](2, {(1) = 1, (2) = 1}), Vector[row](2, {(1) = 2, (2) = 1}), Vector[row](2, {(1) = 3, (2) = 1}), Vector[row](2, {(1) = 4, (2) = 1}), Vector[row](2, {(1) = 4, (2) = 2}), Vector[row](2, {(1) = 3, (2) = 2}), Vector[row](2, {(1) = 2, (2) = 2}), Vector[row](2, {(1) = 1, (2) = 2}), Vector[row](2, {(1) = 1, (2) = 3}), Vector[row](2, {(1) = 2, (2) = 3}), Vector[row](2, {(1) = 3, (2) = 3}), Vector[row](2, {(1) = 4, (2) = 3}), Vector[row](2, {(1) = 4, (2) = 4}), Vector[row](2, {(1) = 3, (2) = 4}), Vector[row](2, {(1) = 2, (2) = 4}), Vector[row](2, {(1) = 1, (2) = 4})

 

Array(%id = 36893490222749770084)

(1)

restart;

with(Iterator):
P := CartesianProduct([1,2,3,4],[1,2,3,4], compile=false);
#seq(p[], p=P);
add(p[], p=P);

_m2075292895968

 

Error, (in anonymous procedure) invalid input: CartesianProduct:-AlgH expects its 1st argument, A, to be of type Array(datatype = integer[4]), but received Array(1..14, {(1) = 2, (2) = 7, (3) = 10, (4) = 12, (5) = 2, (6) = 0, (7) = 0, (8) = 1, (9) = 2, (10) = 4, (11) = 4, (12) = 1, (13) = 1, (14) = 0}, datatype = integer[4])

 

 

@JAMET You probably do not have a directory C:/tmp. Just create it, or use an existing directory (i.e. change "C:/tmp/test.mla" to something else, for example:
cat(kernelopts(homedir),"/test.mla") ).

 

@Christian Wolinski Yes, the (n,d) group appears in the column Gnd in the wiki page. For example, n=12, d=3  ==> Alternating group.

@shce For such substitutions there is the patmatch command (in combination with evalindets). The code would be simpler; I did not try to use it because it is more fragile.

@yangtheary The coordinates for Q, S, N are computed, so, it's easy to see that they are collinear.
Alternatively, area(Q,S,N) = 0.

@digerdiga It is instructive to compute rigorously the integral using residues. The contour must surround  z=1 and z=-1, and the branch must use 0 < Arg(z) < 2*Pi.

@mmcdara  D is not the middle of the segmant BC (the angle bisector theorem must be used). eq_AD is wrong too.

@666 jvbasha As I have mentioned, C1=0 because the definite integral started from x=0, so A2(0)=0. (Psi = A2(x)).

@paulor chin is the inverse of the function chi restricted to the interval [ii[2*n-1], ii[2*n], for n = 1,2,3,4. (Note that chi is strictly monotonic on these intervals). So, your solve(H(k,i), i)  equals  chin(w(k)), for each of the 4 intervals.

Note that if you are satisfied with an implicit plot (without the separation of the branches), you may use acer's approach..

First 16 17 18 19 20 21 22 Last Page 18 of 166