Maple: Как сделать допущения, чтобы переменные были из реального диапазона, чтобы решить такое уравнение? - PullRequest
0 голосов
/ 11 сентября 2011

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

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])?

Ответы [ 2 ]

1 голос
/ 12 сентября 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          

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

1 голос
/ 11 сентября 2011

Используйте 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;

будет работать.

...