Opened 8 years ago

Last modified 4 years ago

#10311 new defect

solve()-ing Equations in CC

Reported by: tux21b Owned by: burcin
Priority: major Milestone:
Component: symbolics Keywords:
Cc: tux21b Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

The following looks like a bug to me, but feel free to correct me if I'm mistaken.

sage: var('z')
sage: g1 = z^5 - (2 - I)*z^4 - (34 + 13*I)*z^3 + (22 - 51*I)*z^2 \
+ (53 - I)*z - 728 - 196*I == 0
sage:
sage: solve([g1], z)
[0 == z^5 + (I - 2)*z^4 - (13*I + 34)*z^3 - (51*I - 22)*z^2 -
(I - 53)*z - 196*I - 728]
sage:
sage: solve([g1, I == I], z)
[[z == (-4.00420663449 - 1.03443096055*I)], [z == (7.03872088238 +
1.11154206861*I)], [z == (1.40276621 - 2.70758376454*I)], [z == (
-3.78854832152 - 0.122376366114*I)], [z == (1.35126786363 +
1.7528490226*I)]]
sage:
sage: solve([g1, z == z], z)
[[z == (-4.00420663449 - 1.03443096055*I)], [z == (7.03872088238 +
1.11154206861*I)], [z == (1.40276621 - 2.70758376454*I)], [z == (
-3.78854832152 - 0.122376366114*I)], [z == (1.35126786363 +
1.7528490226*I)]]

I think the problem is that solve() refuses to solve equation systems with more variables than equations, even if some of the variables are already known.

Regards
Christoph

Change History (3)

comment:1 Changed 8 years ago by rbeezer

  • Component changed from linear algebra to symbolics
  • Owner changed from jason, was to burcin

Yes, that looks suspicious to me. I tried replacing all the instances of I in g1 by imag=CC((0,1)), with no better luck.

This is not really a linear algebra problem, but more of something to do with symbolics (where g1 lives) so I am going to change the component on this so it might get noticed sooner. If you haven't already, you might bring this up on sage-devel or sage-support - somebody might be able to confirm this as undesirable behavior, or offer a workaround.

comment:2 Changed 7 years ago by kcrisman

This could be related to #10750.

comment:3 Changed 4 years ago by rws

Should be addressed by #18900.

Note: See TracTickets for help on using tickets.