I have a matrix of the form:

Tvol // TraditionalForm

(1δI1(κ)I0(κ)0I1(κ)δ∗I0(κ)δ(I1(κ)+κI2(κ))δ∗κI0(κ)000δI1(κ)δ∗κI0(κ))\left(

\begin{array}{ccc}

1 & \frac{\delta I_1(\kappa )}{I_0(\kappa )} & 0 \\

\frac{I_1(\kappa ) \delta ^*}{I_0(\kappa )} & \frac{\delta (I_1(\kappa )+\kappa I_2(\kappa )) \delta ^*}{\kappa I_0(\kappa )} & 0 \\

0 & 0 & \frac{\delta I_1(\kappa ) \delta ^*}{\kappa I_0(\kappa )} \\

\end{array}

\right)

That I want to simplify with these assumptions:g=I2(κ)I0(κ),gc=I1(κ)I0(κ)g=\frac{I_2(\kappa)}{I_0(\kappa)},g_c=\frac{I_1(\kappa)}{I_0(\kappa)}

So far I have tried the following codes, but none of them work.

Replace[Tvol,

{BesselI[2, Îº]/BesselI[0, Îº] -> g,

BesselI[1, Îº]/BesselI[0, Îº] -> Subscript[g, c]}]

Refine[Tvol,

Assumptions ->

{g = BesselI[2, Îº]/BesselI[0, Îº],

Subscript[g, c] = BesselI[1, Îº]/BesselI[0, Îº]}]

Simplify[Tvol,

Assumptions ->

{g = BesselI[2, Îº]/BesselI[0, Îº],

Subscript[g, c] = BesselI[1, Îº]/BesselI[0, Îº]}]

The definition of TvolTvol is as follows:

Tvol = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}

Tvol[[1, 1]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[1, 1]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[1, 2]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[1, 2]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[1, 3]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[1, 3]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[2, 1]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[2, 1]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[2, 2]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[2, 2]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[2, 3]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[2, 3]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[3, 1]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[3, 1]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[3, 2]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[3, 2]], {Ïˆ, -Pi/2, Pi/2}]

Tvol[[3, 3]] = Integrate[p[Ïˆ, 0, Îº]*T[Ïˆ][[3, 3]], {Ïˆ, -Pi/2, Pi/2}]

T(ψ)T(\psi) and p(ψ)p(\psi) are earlier defined in the notebook as follows:

S = Sqrt[2]/2*{{1 + Î´\[Conjugate], 0}, {0, 1 – Î´\[Conjugate]}} // Simplify

k =

(1/Sqrt[2]) *

{{S[[1, 1]] + S[[2, 2]]}, {S[[1, 1]] – S[[2, 2]]}, {2 S[[1, 2]]}} // Simplify

Subscript[T, 0] = Dot[k, ConjugateTranspose[k]] // Simplify

R[Ïˆ_] := {{1, 0, 0}, {0, Cos[2 Ïˆ], Sin[2 Ïˆ]}, {0, -Sin[2 Ïˆ], Cos[2 Ïˆ]}}

T[Ïˆ_] := Dot[R[Ïˆ], Subscript[T, 0], Transpose[R[Ïˆ]]]

p[x_, mu_, k_] := 2*PDF[VonMisesDistribution[2 mu, k], 2 x] // Simplify;

Following the comments I wrote:

Simplify[Tvol,

Assumptions ->

{g == BesselI[2, Îº]/BesselI[0, Îº],

Subscript[g, c] == BesselI[1, Îº]/BesselI[0, Îº]}]

{{1, (Î´ BesselI[1, Îº])/BesselI[0, Îº], 0},

{(BesselI[1, Îº] Conjugate[Î´])/BesselI[0, Îº],

(Î´ (BesselI[1, Îº] + Îº BesselI[2, Îº]) Conjugate[Î´])/(Îº BesselI[0, Îº]),

0},

{0, 0, (Î´ BesselI[1, Îº] Conjugate[Î´])/(Îº BesselI[0, Îº])}}

but as you see that didn’t solve the problem. I even replaced , by &&:

Simplify[Tvol,

Assumptions ->

{g == BesselI[2, Îº]/BesselI[0, Îº] &&

Subscript[g, c] == BesselI[1, Îº]/BesselI[0, Îº]}]

but that does not change the result.

=================

It’ll be easier to help if you provide your definition of Tvol.

– N.J.Evans

Sep 17 ’15 at 2:26

1

The problem is, your assumptions are not boolean statements. Use a == sign (double equals). The single = sign has another meaning in MMA. Thus I vote to close as “arising from a syntax error”

– LLlAMnYP

Sep 17 ’15 at 6:43

@LLlAMnYP that doesn’t solve the problem.

– sepideh

Sep 17 ’15 at 7:33

I agree, it’s not only because of the syntax error. Alexei has provided a solution, but from your definition of Tvol it’s not entirely obvious to me, why Alexei’s result is wrong.

– LLlAMnYP

Sep 17 ’15 at 8:09

1

I see. In your link it seems quite obvious, that Mathematica’s result is “simpler”. Of course, given your substitutions, it may be even better to use the result provided by the authors of the article, but there’s no straightforward way to make MMA realize, that there’s a nice relationship between g and gc that will let it simplify to what you want. I’m pretty sure, there’s a way to use the TransformationFunctions option to teach it, but I can’t help much further. I suggest you check out the many other threads on simplification here.

– LLlAMnYP

Sep 17 ’15 at 9:48

=================

1 Answer

1

=================

Do you mean this:

Tvol /.

{BesselI[1, Îº] -> gc*BesselI[0, Îº], BesselI[2, Îº] -> g*BesselI[0, Îº]} //

Simplify // TraditionalForm

??

Later edit: to deal with the complex conjugated deltas you may do as follows:

Tvol /.

{BesselI[1, Îº] -> gc*BesselI[0, Îº], BesselI[2, Îº] -> g*BesselI[0, Îº]} /.

Î´*a__*Î´\[Conjugate] -> a*Abs[Î´]^2 // Simplify // TraditionalForm

Have fun!

It should be [1gcδ0gcδ∗(1+g)2|δ|2000(1−g)2|δ|2]\begin{bmatrix}1&g_c\delta&0\\g_c\delta^*&\frac{(1+g)}{2}|\delta|^2&0\\0&0&\frac{(1-g)}{2}|\delta|^2\end{bmatrix} after simplification

– sepideh

Sep 17 ’15 at 8:02

the element (3,3)(3,3) is (1−g)2|δ|2\frac{(1-g)}{2}|\delta|^2. I don’t why I can’t edit it in the matrix

– sepideh

Sep 17 ’15 at 8:07

1

@sepideh I cannot really understand all your definitions, but it seems that you did not instruct Mma that Î´âˆ— is a conjugated value of Î´. Using simply a conjugate symbol is not enough. You should use Conjugate[Î´] instead and then apply ComplexExpand in the end. In the case at hand you may go around easier by making a substitution Î´->Abs[Î´]^2/Î´âˆ— after all the operations I did, but before the application of TraditionalForm . Have fun!

– Alexei Boulbitch

Sep 17 ’15 at 8:21

1

@sepideh Mma does use such identities. There has once been a discussion about it on this site, have a look. Generally, you might use FullSimplify instead of Simplifyfor that. However, the result depends upon the Mma “opinion”, of what form of the expression is more simple. It does not always coincide with my own opinion. For this reason I would instead take the identities into account by making substitutions of the sort I did above, but based on my own ideas of how the result should look like.

– Alexei Boulbitch

Sep 17 ’15 at 9:17

1

@sepideh No, I will need to search through this site, but this you could do as well. I looked, however, into my records and see that the work with such identities typically requires a trick, such as the use of certain TransformationFunctions or of a special ComplexityFunction . Though very elegant, a direct substitution of a sort I did above might be faster to find.

– Alexei Boulbitch

Sep 17 ’15 at 10:09