Maple: Как решить такое уравнение, имея предположения о том, что переменные находятся в реальном диапазоне?

Итак, у меня есть такое уравнение:

Im(G[x,x]) = -38/(845*Pi)+ Re(G[x,y  ])

Мне нужно получить G[xy]. Как сообщить Maple, что мы предполагаем, что G[xx], G[xy] являются значениями из реального диапазона (таким образом, Im(G[xx]) == 0 и Re(G[xy]) == G[xy]) и найти G[xy] из Im(solution[1][1])?


person Rella    schedule 11.09.2011    source источник


Ответы (2)


Используйте assume или assuming. В твоем случае:

solve(Im(G[x,x]) = -38/(845*Pi) + Re(G[x,y]), G[x,y]) assuming G[x,y] :: real, G[x,x] :: real;

должно сработать.

person jmbr    schedule 11.09.2011

Я предпочитаю не использовать assuming для такого рода вещей, так как это создает потенциально вводящее в заблуждение впечатление, что solve надежен в отношении обработки и работы с предположениями.

Используя evalc для предварительной обработки системы. немного проще помнить, что именно обрабатывает solve.

solve( evalc(Im(G[x,x]) = -38/(845*Pi) + Re(G[x,y])), G[x,y] );

                           38  
                         ------
                         845 Pi

evalc(Im(G[x,x]) = -38/(845*Pi) + Re(G[x,y]));

                         38            
                 0 = - ------ + G[x, y]
                       845 Pi          

Это личное предпочтение, и вы вполне можете придумать причины, чтобы предпочесть другой путь, как правило. Или, возможно, иногда оба метода найдут свою нишу.

person acer    schedule 11.09.2011