Logaritmi in espansione nel dominio negativo

Aug 24 2020

Sto cercando di espandere alcune funzioni$f(z,\bar{z})$contenente logaritmi per$z = x + i k x$insieme a$x<0$, ma i risultati non sono sempre coerenti. Come semplice esempio, considera il seguente codice:

Log[16*z*zb] /. {z -> x + 4 I*x, zb -> x - 4 I*x};
Assuming[x < 0, Series[%, {x, 0, 0}]] // Normal
Log[16*z*zb] /. {z -> x + 5 I*x, zb -> x - 5 I*x};
Assuming[x < 0, Series[%, {x, 0, 0}]] // Normal
Log[16*z*zb] /. {z -> x + 6 I*x, zb -> x - 6 I*x};
Assuming[x < 0, Series[%, {x, 0, 0}]] // Normal
Log[16*z*zb] /. {z -> x + 7 I*x, zb -> x - 7 I*x};
Assuming[x < 0, Series[%, {x, 0, 0}]] // Normal
Log[16*z*zb] /. {z -> x + 8 I*x, zb -> x - 8 I*x};
Assuming[x < 0, Series[%, {x, 0, 0}]] // Normal
Log[16*z*zb] /. {z -> x + 9 I*x, zb -> x - 9 I*x};
Assuming[x < 0, Series[%, {x, 0, 0}]] // Normal

L'output è il seguente:

4 Log[2] + Log[17] + 2 Log[-x]
5 Log[2] + Log[13] + 2 Log[-x]
4 Log[2] + Log[37] + 2 Log[-x]
Log[800 x^2]
Log[1040 x^2]
5 Log[2] + Log[41] + 2 Log[-x]

Perché l'espansione ha un aspetto diverso per$k=7,8$? Ho bisogno che quelle espansioni abbiano la stessa forma delle altre. Osservo lo stesso comportamento per$k=12,13$ma non riesco a capire perché. Qualche idea?

Risposte

4 BobHanlon Aug 23 2020 at 23:05

Non è chiaro cosa stai cercando di realizzare. Il risultato per arbitrario nè

Clear["Global`*"]

f[n_] = Assuming[x < 0,
  (Series[
      Log[16*z*zb] /. {z -> x + n I*x, zb -> x - n I*x},
      {x, 0, 0}] // Normal) // FullSimplify]

(* Log[16 (1 + n^2) x^2] *)

Se vuoi che sia espanso

(f /@ Range[4, 13] // PowerExpand) /. x -> -x

(* {4 Log[2] + Log[17] + 2 Log[-x], 5 Log[2] + Log[13] + 2 Log[-x], 
 4 Log[2] + Log[37] + 2 Log[-x], 5 Log[2] + 2 Log[5] + 2 Log[-x], 
 4 Log[2] + Log[5] + Log[13] + 2 Log[-x], 5 Log[2] + Log[41] + 2 Log[-x], 
 4 Log[2] + Log[101] + 2 Log[-x], 5 Log[2] + Log[61] + 2 Log[-x], 
 4 Log[2] + Log[5] + Log[29] + 2 Log[-x], 
 5 Log[2] + Log[5] + Log[17] + 2 Log[-x]} *)

Verifica,

Assuming[x < 0, % == (f /@ Range[4, 13]) // FullSimplify]

(* True *)
3 Jxx Aug 23 2020 at 22:07

Ho appena trovato la soluzione. I logaritmi possono essere espansi usando PowerExpandwith Assumptions->x<0. Quindi l'espansione può essere eseguita come al solito e il risultato è quello desiderato.