0

Risa/Asirを用いて連立方程式の数値近似解を求める

118
0
$$$$

Risa/Asirを用いて連立方程式の数値近似解を求めたい.
今回はグレブナー基底を用いて計算する方法を紹介する.
以下,Asirのコードである.

      import("names.rr");

F=[x^2+y^2-4,x*y-1]; // この連立方程式の数値近似解を求めたい.
G=nd_gr(F,[x,y],0,2); // 2 は lexicographic order

Roots=pari(roots,G[0]); // G[0] は y の一変数方程式
Roots=map(deval,Roots); // 精度は double で.

for (I=0; I<length(Roots); I++) {
    Xf=base_replace(G[1],[[y,Roots[I]]]); // Xf が x の一次式となる場合専用
    printf("(x,y)=(%a, %a), error=%a¥n",X=-coef(Xf,0,x)/coef(Xf,1,x),Y=Roots[I],base_replace(F,[[x,X],[y,Y]]));
}
    

Risa/Asirについての仕様については, Risa/Asir を参照されたい.

投稿日:20201110
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

整数論に興味が出て勉強中 Soul,Disco,House,Danceが好き 吹奏楽と軽音やってました DJしてます Nittc -> Kobe Univ.

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中