2012-01-08 11 views
5

Necesito encontrar las condiciones para que la parte real de un número complejo sea negativa. Pensé que Reducir sería perfecto para esto, pero da salida redundante (incluso después de la simplificación). Por ejemplo:Mathematica: encontrar las condiciones para que la parte real de un número complejo sea positiva, resultado inesperado/redundante de Reducir

In[543]: Reduce[{Re[-1 - Sqrt[a - b] ] < 0, a > 0, b > 0}, {a, b}, Complexes] 
Out[543]: a > 0 && (0 < b < a || b >= a) 

como A y B se supone que es verdadera porque aparecen en una desigualdad, es necesario que haya ninguna otra hipótesis sobre la relación entre A y B, el resultado que espero es:

Out[543]: a > 0 && b > 0 

¿Hay alguna buena razón por la que no se obtenga? Los resultados (en mi opinión) redundantes se acumulan para expresiones más complejas y necesito reducir bastantes. ¿Hay algún truco para obtener el resultado esperado? Jugué con la elección de Reals como dominio y sin elegir ningún dominio, pero nada realmente me da lo que quiero. Por cierto, estoy analizando la estabilidad de los puntos fijos comprobando valores propios ... una tarea muy común.

Respuesta

4

No sé qué Mathematica no devolverá el resultado que esperas en un solo paso, pero aquí es cómo obtenerlo en dos pasos:

Mathematica graphics

En general, las dos funciones que se ocuparse de las desigualdades de una manera general es Reduce y LogicalExpand. (¡Pero mi conocimiento es muy limitado en esta área!) Creo que (Full)Simplify solo usará el último.


Un comentario sobre los dominios de ajuste en Reduce:

Tenga en cuenta que la documentación dice: "Si Dom es reales, o un subconjunto, como enteros o Racionales, a continuación, todas las constantes y valores de la función también se restringen a se real." Por lo tanto, si tuviera que especificar el dominio como Reals como en la respuesta de @ belisarius, Reduce devolvería 0 < b <= a que es necesario para que Sqrt[a-b] sea real también.

2

Ajustar la expresión Re[...] con ComplexExpand y obtendrá el resultado esperado a > 0 && b > 0.

+0

Pero solo si el dominio se especifica explícitamente como 'Complejos' o' Reales'. De lo contrario, devuelve 'a> 0 && 0 Szabolcs

+0

(agregué este comentario a una consulta de MathGroup sobre lo mismo.) Definitivamente la especificación de dominio es necesaria para un resultado correcto. Por ejemplo, tome a = 1/4 y b = 1/2. Nunca he entendido lo que se entiende en los documentos por "reducir un dominio". De lo que se dice en los documentos, esto no parece significar simplemente que las variables están en ese dominio, sino que las expresiones que constituyen la condición tienen valores en ese dominio; de lo contrario, se supone que el dominio es real para el expresiones. – murray

+1

Mientras tanto, se ha confirmado en MathGroup que hay un error en 'Reducir' en Mathematica 8. Pondré el enlace aquí para referencia: https://groups.google.com/d/topic/comp.soft-sys. math.mathematica/C3ooYLXxZE0/discussion – Szabolcs

Cuestiones relacionadas