Come si sopprime una modifica automatica del segno?

Sep 22 2020

In un commento sulla risposta dell'utente JimB di valutare un certo integrale vincolato tridimensionale , ho osservato

"Ho una regola di trasformazione del limite di integrazione del modulo

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

, che Mathematica implementa con precisione, ma mi serve anche

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

, - nota le modifiche di accesso al primo Sqrt - che Mathematica converte immediatamente nella regola precedente, quindi la seconda regola non viene applicata. Quindi, devo sopprimere la conversione immediata ".

Eventuali suggerimenti?


Correzione:

L'osservazione introduttiva (e il commento precedente) avrebbe dovuto essere letta (notare l'introduzione del segno meno nel primo del secondo Sqrt della seconda trasformazione, quindi le due trasformazioni dovrebbero produrre risultati equivalenti):

"Ho una regola di trasformazione del limite di integrazione del modulo

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

, che Mathematica implementa con precisione, ma mi serve anche

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

, - nota le modifiche di accesso al primo Sqrt - che Mathematica converte immediatamente nella regola precedente, quindi la seconda regola non viene applicata. Quindi, devo sopprimere la conversione immediata ".

Quindi, il codice di Daniel Huber ora prenderebbe 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}

cedevole

2a

2b

2a

Dovrò rimuginare / giocarci un po 'di più e vedere se riesco a ottenere i risultati desiderati. Mi scuso per l'omissione del segno meno iniziale.

Risposte

1 DanielHuber Sep 22 2020 at 23:56

Sembra funzionare in 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}

Se i problemi persistono, documenta un caso di errore.