2015-07-15 2 views
1

Использование SymPy, я могу автоматически упростить что-то вроде этого:Упрощение квадратного корня из суммы

sqrt(a**2 + 2ab + b**2) 

к:

[(a+b), -(a+b)]? 
+0

Что вы пытаетесь так далеко? Вы хотите сделать это программно, то есть пользователь пишет '' sqrt (a ** 2 + 2ab + b ** 2) "' и выбираете '' [(a + b), - (a + b)] «через какую-то оценку? Немного неясно, что вы хотите сделать. – firelynx

+0

Я ищу некоторую функцию упрощения: 'simplify (sqrt (a ** 2 + 2ab + b ** 2))' – mrkwjc

+0

Если a, b положительны. Что-то вроде этого '' sqrt (a ** 2 + 2 * a * b + b ** 2) .combsimp(). Powsimp() '' даст '' (a + b) ''. @mrk –

ответ

1

Может быть что-то вроде:

>>> var('a b',positive=True) 
(a, b) 
>>> solve(x**2-(a**2 + 2*a*b + b**2), x) 
[-a - b, a + b]