Loading [MathJax]/jax/output/HTML-CSS/jax.js

First time here? Check out the FAQ!

Ask Your Question
0

Variables in Sage

asked 10 years ago

slinshady gravatar image

I started using sage today and I encountered sime strange errors:

I declared variables a,b,c,d using var('a,b,c,d'). When I tried to expand (a2+b2)(c2+d2)

(expand((a2+b2)(c2+d2)) I got the following result:

c4+2c2d2+d4+b2,

which is obviously not the correct result. Does anyone know why I got this incorrect andwer?

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
1

answered 10 years ago

FrédéricC gravatar image

This works perfectly:

sage: var('a,b,c,d')
(a, b, c, d)
sage: t = (a**2+b**2)*(c**2+d**2)
sage: t
(a^2 + b^2)*(c^2 + d^2)
sage: expand(t)
a^2*c^2 + b^2*c^2 + a^2*d^2 + b^2*d^2

Maybe you made a mistake in the parentheses ?

Preview: (hide)
link
1

answered 10 years ago

Luca gravatar image

You must have forgotten the multiplication sign *. Quite obviously, (c2+d2) was substituted for a in the expression, thus you got (c2+d2)2+b2. If you are using a recent version of Sage, you must have gotten a warning when evaluating the expression, saying that the correct form for expression substitution is

(a^2 + b^2)(a=(c^2 + d^2))

In Sage 6.4.1

sage: var('a,b')
(a, b)
sage: (a+b)(a+b)
/home/dfl/sage/local/lib/python2.7/site-packages/IPython/core/interactiveshell.py:2883: DeprecationWarning:
Substitution using function-call syntax and unnamed arguments is deprecated and will be removed from a future
release of Sage; you can use named arguments instead, like EXPR(x=..., y=...)
See http://trac.sagemath.org/5930 for details.
  exec(code_obj, self.user_global_ns, self.user_ns)
a + 2*b
sage: (a+b)*(a+b)
(a + b)^2
Preview: (hide)
link

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: 10 years ago

Seen: 997 times

Last updated: Dec 28 '14