Ask Your Question

Revision history [back]

The problems seems to be the following: actually, psi is uncompletely aware of the fact that t is equal to zero:

sage: psi - y
0
sage: psi == y
False

The problem seems to be that some data regarding psi (in particular the string that represent psi) seem cached, and the cache is not updated during the assumption:

sage: psi._cache_key()
(The exterior algebra of rank 2 over Symbolic Ring, 't*x + y')

You can workaround in two ways:

First, you can assume before defining psi:

sage: E.<x,y> = ExteriorAlgebra(SR)
sage: _ = var('t')
sage: assume(t==0)
sage: psi = t*x+y
sage: psi
y

If it is not possible, you can redefine psi as follows:

sage:  E.<x,y> = ExteriorAlgebra(SR)
sage: _ = var('t')
sage: psi = t*x+y
sage: assume(t==0)
sage: psi
t*x + y
sage: psi += 0
sage: psi
y
sage: psi == y
True

The problems seems to be the following: actually, psi is uncompletely aware of the fact that t is equal to zero:

sage: psi - y
0
sage: psi == y
False

The problem seems to be that some data regarding psi (in particular the string that represent psi) seem cached, and the cache is not updated during the assumption:

sage: psi._cache_key()
(The exterior algebra of rank 2 over Symbolic Ring, 't*x + y')

You can workaround in two ways:

First, you can assume before defining psi:

sage: E.<x,y> = ExteriorAlgebra(SR)
sage: _ = var('t')
sage: assume(t==0)
sage: psi = t*x+y
sage: psi
y

If it is not possible, you can redefine psi as follows:

sage:  E.<x,y> = ExteriorAlgebra(SR)
sage: _ = var('t')
sage: psi = t*x+y
sage: assume(t==0)
sage: psi
t*x + y
sage: psi += 0
sage: psi
y
sage: psi == y
True

In particular, the responsible is more how the class/caching was implemented with respect to the symbolic ring, not the cloud or any kind of user interface.