Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

FWIW :

sage:  x, y = var("x, y")
sage: table([[u, cos(x+I*y).limit(y=oo, algorithm=u)] for u in ["maxima", "sympy", "giac", "fricas", "mathematica_free"]])
  maxima             limit(cos(x + I*y), y, +Infinity)
  sympy              +Infinity
  giac               bounded_function(6)
  fricas             failed
  mathematica_free   ComplexInfinity

Curiously, these results do not depend on assumptions on the domain :

sage: with assuming(x, y, "real"): table([[u, cos(x+I*y).limit(y=oo, algorithm=u)] for u in ["maxima", "sympy", "giac", "fricas", "mathematica_free"]])
  maxima             limit(cos(x + I*y), y, +Infinity)
  sympy              +Infinity
  giac               bounded_function(8)
  fricas             failed
  mathematica_free   ComplexInfinity

My (rusty) memories of analysis make me think yjat Matheatica's answer is the closest to reality...

BTW :

sage: foo = cos(x+I*y).exponentialize().factor() ; foo
1/2*(e^(2*I*x) + e^(2*y))*e^(-I*x - y)
sage: table([[u, foo.limit(y=oo)] for u in ["maxima", "giac", "fricas", "mathematica_free"]])
  maxima             Infinity
  giac               Infinity
  fricas             Infinity
  mathematica_free   Infinity
sage: with assuming(x, y, "real"): table([[u, foo.limit(y=oo)] for u in ["maxima", "giac", "fricas", "mathematica_free"]])
  maxima             Infinity
  giac               Infinity
  fricas             Infinity
  mathematica_free   Infinity

(Sympy fails to compute this limit...).

HTH,

FWIW :

sage:  x, y = var("x, y")
sage: table([[u, cos(x+I*y).limit(y=oo, algorithm=u)] for u in ["maxima", "sympy", "giac", "fricas", "mathematica_free"]])
  maxima             limit(cos(x + I*y), y, +Infinity)
  sympy              +Infinity
  giac               bounded_function(6)
  fricas             failed
  mathematica_free   ComplexInfinity

Curiously, these results do not depend on assumptions on the domain :

sage: with assuming(x, y, "real"): table([[u, cos(x+I*y).limit(y=oo, algorithm=u)] for u in ["maxima", "sympy", "giac", "fricas", "mathematica_free"]])
  maxima             limit(cos(x + I*y), y, +Infinity)
  sympy              +Infinity
  giac               bounded_function(8)
  fricas             failed
  mathematica_free   ComplexInfinity

My (rusty) memories of analysis make me think yjat Matheatica's answer is the closest to reality...

BTW :

sage: foo = cos(x+I*y).exponentialize().factor() ; foo
1/2*(e^(2*I*x) + e^(2*y))*e^(-I*x - y)
sage: table([[u, foo.limit(y=oo)] for u in ["maxima", "giac", "fricas", "mathematica_free"]])
  maxima             Infinity
  giac               Infinity
  fricas             Infinity
  mathematica_free   Infinity
sage: with assuming(x, y, "real"): table([[u, foo.limit(y=oo)] for u in ["maxima", "giac", "fricas", "mathematica_free"]])
  maxima             Infinity
  giac               Infinity
  fricas             Infinity
  mathematica_free   Infinity

(Sympy fails to compute this limit...).

EDIT : FWIW, in the gratis Wolfram Engine used from emacs's wolfram-mode :

In[17]:= Limit[Abs[Factor[TrigToExp[Cos[x+I*y]]]], y->Infinity]

Out[17]= Infinity

In[18]:= Limit[Arg[Factor[TrigToExp[Cos[x+I*y]]]], y->Infinity]

                 -I Re[x]
Out[18]= -I Log[E        ]

In[19]:= Assuming[Element[x, Reals] && Element[y, Reals], Limit[Abs[Factor[TrigToExp[Cos[x+I*y]]]], y->Infinity]]

Out[19]= Infinity

In[20]:= Assuming[Element[x, Reals] && Element[y, Reals], Limit[Arg[Factor[TrigToExp[Cos[x+I*y]]]], y->Infinity]]

Out[20]= -ArcTan[Tan[x]]

HTH,