## 65 Reputation

2 years, 195 days

## Simplify using trig identities...

Maple 2022

What should I do to simplify eq13 further using trig sum identities?

 > restart;
 > phi := (x,n,L) -> sqrt(2/L)*sin(n*Pi*x/L + 1/2*n*Pi);
 (1)
 >
 > eq1 := W[n,m](q,p) = simplify(1/Pi*Int(phi(q+y,n,L)*exp(-2*I*p*y)*phi(q-y,m,L),y=-L/2+abs(q)..L/2-abs(q)));
 (2)
 > eq2 := simplify(convert(eq1,int)) assuming(n,integer,m,integer);
 (3)

Wigner function evaluated for q > 0 and q < 0, respectively

 > eq10 := simplify(eq2) assuming(q>0); eq11 := simplify(eq2) assuming(q<0); eq12 := simplify(eq10) assuming(m,integer,n,integer); eq13 := simplify(eq11) assuming(m,integer,n,integer);
 (4)

## Procedure called in another procedure...

Maple 2022

In my code, why  does InitState(5,5) return only one element of the vector while Coherent(5) returns 5 elements of the vector?

 > restart;
 > with(LinearAlgebra):
 >
 > Coherent := proc({zeta:=1,phi:=Pi/2},n_max) local alpha,i,ICs:  #alpha := sqrt(zeta)*exp(I*phi):  ICs := Vector(n_max,i->evalc(evalf(exp(-zeta/2)/sqrt((i-1)!))*(sqrt(zeta)*exp(I*phi))^(i-1)),datatype=complex[8]); end proc: Projectile := proc({L:=1,sigma:=0.01,beta:=0.02,k0:=-5*Pi},n_max) local x0,g,c,v,ICs,j:   x0 := evalf(beta*L);   g := unapply(exp(-(x-x0)^2/2/sigma^2),x);   c := evalf(int(g(x)^2,x=-L/2..L/2,numeric=true));     v:=Vector(n_max,datatype=complex[8]);   for j from 1 to n_max do:      if (is(j,odd)) then  v[j]:= evalc[8](evalf(Int(cos(Pi*j*x/L)*g(x)*cos(k0*x),x=-L/2..L/2,method=_d01akc))+ I*evalf(Int(cos(Pi*j*x/L)*g(x)*sin(k0*x),x=-L/2..L/2,method=_d01akc)));       else v[j]:= evalc[8](evalf(Int(sin(Pi*j*x/L)*g(x)*cos(k0*x),x=-L/2..L/2,method=_d01akc))+ I*evalf(Int(sin(Pi*j*x/L)*g(x)*sin(k0*x),x=-L/2..L/2,method=_d01akc)));      end if:   end do:  ICs :=evalf[8](sqrt(2/L*c))*v; end proc: InitState := proc({zeta:=1,phi:=Pi/2,L:=1,sigma:=0.01,beta:=0.02,k0:=-5*Pi},d1,d2) local Z0: z1 := Coherent(zeta,phi,d1); #Z0:= MatrixMatrixMultiply(Coherent(zeta,phi,d1),Transpose(Projectile(L,sigma,beta,k0,d2))): end proc:
 > InitState(5,5); Coherent(5);
 (1)

## integration in if-statement...

Maple 2022

How can I get the evaluation of integration inside if-statement?

 > restart;
 > #L:=1:sigma:=0.01:beta:=0.2:k0:=-100:
 > #For Free particle Projectile := proc({L:=1,sigma:=0.01,beta:=0.2,k0:=-100},n_max) local x0,g,c:  x0:= beta*L;  g := unapply(exp(-(x-x0)^2/2/sigma^2),x);  #c := int(g(x)^2,x=-L/2..L/2,numeric=true);  ub := (L/2-x0)/sqrt(2)/sigma;  lb := (-L/2-x0)/sqrt(2)/sigma;  a := Pi*sqrt(2)*sigma/L;  b := sqrt(2)*k0*sigma;  c := Pi*x/L;  d := k0*x0;  eq1 := [cos(a*n*z)*cos(b*z)/e^(z^2),cos(a*n*z)*sin(b*z)/e^(z^2),sin(a*n*z)*cos(b*z)/e^(z^2),sin(a*n*z)*sin(b*z)/e^(z^2)];  eq1 := map(f->unapply(f,n,z),eq1);  eq2 := [cos(n*c)*cos(d),cos(n*c)*sin(d),sin(n*c)*cos(d),sin(n*c)*sin(d)];  eq2 := map(f->unapply(f,n,z),eq2);  for j from 1 to n_max do:    if (is(j,odd)) then eq11 := int(eq1[1](j,z),z=lb..ub,numeric=true);    else 0;    end if;  end do: end proc:
 >
 > Projectile(1);
 (1)
 >

## How can I make if-statement work in my c...

Maple 2022

How can I make if-statement work in my code?
assuming m,n :: integers

 > restart;
 >
 > x2 := proc(m,n)   if ((is(m,even) and is(n,odd)) or (is(m,odd)and is(n,even))) then -8*L*m*n/(m+n)^2/Pi^2/(m-n)^2;   else  0;   end if; end poc:

## How do I integrate in Maple?...

Maple 2022

How can I  get the result for the integration when m =n or m is not equal to n and How can I add assumption that m, or n can be even or odd?