¿Cómo suprimo un cambio de señal automático?

Sep 22 2020

En un comentario sobre la respuesta del usuario JimB para evaluar una cierta integral restringida tridimensional , comenté

"Tengo una regla de transformación de límite de integración de la forma

Sqrt[(1 - 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> 1 - 2 x + Sqrt[1 - x - 2 x^2]

, que Mathematica implementa con precisión, pero también necesito

Sqrt[(-1 + 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> 1 - 2 x + Sqrt[1 - x - 2 x^2]

, - observe los cambios de signo en el primer Sqrt - que Mathematica convierte inmediatamente a la regla anterior, por lo que la segunda regla no se aplica. Entonces, necesito suprimir la conversión inmediata ".

¿Alguna sugerencia?


Corrección:

La observación introductoria (y el comentario anterior) debería haber leído (tenga en cuenta la introducción del signo menos en el primero de los segundos Sqrt de la segunda transformación, por lo que las dos transformaciones deberían producir resultados equivalentes):

"Tengo una regla de transformación de límite de integración de la forma

Sqrt[(1 - 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> 1 - 2 x + Sqrt[1 - x - 2 x^2]

, que Mathematica implementa con precisión, pero también necesito

Sqrt[-(-1 + 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> 1 - 2 x + Sqrt[1 - x - 2 x^2]

, - observe los cambios de signo en el primer Sqrt - que Mathematica convierte inmediatamente a la regla anterior, por lo que la segunda regla no se aplica. Entonces, necesito suprimir la conversión inmediata ".

Entonces, el código de Daniel Huber ahora tomaría la forma

r1 = Sqrt[(1 - 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> a;r2 = Sqrt[-(-1 + 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> b;expr = Sqrt[(1 - 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] + Sqrt[-(-1 + 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])];expr /. r1;expr /. r2;expr /. {r1, r2}

flexible

2a

2b

2a

Tendré que reflexionar / jugar con esto un poco más y ver si puedo obtener los resultados deseados. Mis disculpas por la omisión inicial del signo menos.

Respuestas

1 DanielHuber Sep 22 2020 at 23:56

Parece funcionar en MMA 12.1:

r1 = Sqrt[(1 - 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> a;
r2 = Sqrt[(-1 + 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] -> b;
expr = Sqrt[(1 - 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])] + 
   Sqrt[(-1 + 2 x) (2 - x + 2 Sqrt[1 - x - 2 x^2])];
expr /. r1
expr /. r2
expr /. {r1, r2}

Si aún tiene problemas, documente un caso de error.