Hi, I got this from the "report a problem" public bugtracker. I don't
know if this is already known but it's a nice example that there is
something odd in the symbolics code. I can confirm it in 4.3.5.

"""The script below calculates the eigenvalues for a matrix, M. I want
to use 'delta' as a symbolic variable, such that it renders as the
greek letter \delta when typeset in the notebook. However, when I do
this it would seem that sage thinks it's a Dirac delta function and
throws an error. Other choices of variable names, such as theta, do
not do this."""

Examples:

The following script throws a TypeError:
f,b,m,ku,du,kt,l,d = var('f beta_s mu k_u d_u k_t lambda delta')
### Replacing 'delta' with, say, theta, does not give the problem
w = (1-f) * b
x = f * b
y = m + ku + du
z = m + kt
M = matrix([[w/y,d*w/z],[x/y,d*x/z]])
I = matrix(2,2,1)
s = M - l*I
p = det(s)
p.solve(l) ### M.eigenvalues() will do the same

gives:
TypeError: unsupported operand parent(s) for '*': 'Symbolic Ring' and
'<class 'sage.functions.generalized.FunctionDiracDelta'>'

Here a minimal example:

sage: x,d = var('x delta')
sage: solve([x+d==0],x)

gives:
TypeError: bad operand type for unary -: 'FunctionDiracDelta'

h

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

To unsubscribe, reply using "remove me" as the subject.

Reply via email to