Ask Your Question
0

Complex argument of a symbolic expression

asked 2012-11-02 06:22:32 -0500

MvG gravatar image

I was a bit surprised that simply entering a complex number and asking for its argument doesn't seem to work. Not even in the case where all numbers are known and algebraic, even integers:

(2+3*I).arg()
AttributeError: 'sage.symbolic.expression.Expression' object has no attribute 'arg'

I found out that in order to compute the argument, I'll have to manually cast my number from the symbolic ring into some complex field, e.g.

sage: CC(2+3*I).arg()
0.982793723247329

But I believe that this should work without me having to think too much about the type system. It should even work for completely symbolic expressions, as stuff like real_part, imag_part and atan2 are all symbolic functions which may be returned in their unevaluated form if evaluation is not possible.

Is there some other way to compute the complex argument, which I missed so far, ans which works for symbolic expressions as well as elements of a complex number field?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2012-11-02 08:36:07 -0500

Shashank gravatar image

Yeah you are right (2+3I).arg() does not work, but arg(2+3I) works.

But if you want a answer of the form 0.9827 you need arg(2+3*I).n()

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2012-11-02 06:22:32 -0500

Seen: 282 times

Last updated: Nov 02 '12