Ask Your Question

Solving a symbolic inequality

asked 2015-05-08 19:39:14 +0200

Ailurus gravatar image

I'm trying to solve the inequality $18bcd - 4b^3d + b^2c^2 - 4c^3 - 27d^2 > 0$ with ${b,c,d} \in \mathbb{R}$ and $c < 0$. The goal is to obtain an expression for $d$.

My guess would be to use solve_ineq() and perhaps assume() for the additional condition, but I can't figure out how. In case of a symbolic equation I'd use

b,c,d = var('b,c,d')
Delta = (18*b*c*d - 4*b^3*d + b^2*c^2 - 4*c^3 - 27*d^2 == 0)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2015-07-15 11:31:16 +0200

rws gravatar image

What version is this? I get with 6.8beta8

sage: b,c,d = var('b,c,d')
sage: Delta = (18*b*c*d - 4*b^3*d + b^2*c^2 - 4*c^3 - 27*d^2 == 0)
sage: solve(Delta,d)
[d == -2/27*b^3 + 1/3*b*c + 2/27*(b^2 - 3*c)^(3/2), d == -2/27*b^3 + 1/3*b*c - 2/27*(b^2 - 3*c)^(3/2)]

which is fine.

edit flag offensive delete link more

answered 2015-05-10 14:56:58 +0200

slelievre gravatar image

updated 2015-05-10 14:57:45 +0200

Your question is unclear: do you want to solve the inequality, or do you want to express $d$ in terms of the other variables, knowing $f(a,b,c,d) > 0$ and $c < 0$?

In the first case, you have a polynomial expression $f(a,b,c,d)$ which you want to be positive. The usual way to solve that is to understand where the expression is zero.

Since $f$ is continuous, it has a fixed sign on each connected component of the complement of this zero locus, so all that remains to understand is on which components $f$ is positive.

In the second case, calling $\Delta$ the fixed value of $f(a,b,c,d)$, notice that the equation $f(a,b,c,d) = \Delta$ can be rewritten as $A * d^2 + B * d + C = 0$, where $A$, $B$, $C$ are expressions in $a$, $b$, $c$, $d$, $\Delta$.

edit flag offensive delete link more


In the first case your solution is fine:



solve(18bcd - 4b^3d + b^2c^2 - 4c^3 - 27d^2==0,d)

But I would like to know if there is a way to have a solution without "trying to understand" where the sign change. I think is the main point to use a math software. Furthermore it'll be pretty annoying if there is anything like that implemented already as with Mathematica is a one line command

Reduce[{b^2 c^2-4 c^3-4 b^3 d+18 b c d-27 d^2>0,c<0},d]

roberto gravatar imageroberto ( 2015-05-17 14:31:48 +0200 )edit

Your Answer

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

Add Answer

Question Tools

1 follower


Asked: 2015-05-08 19:39:14 +0200

Seen: 2,361 times

Last updated: Jul 15 '15