Copyright © Masayuki Noro 2019. All rights reserved.
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
• 準素分解パッケージ noro_grcrt.rr | ||
Index |
1.1 CRTによるグレブナー基底計算 | ||
• CRTに関する関数 |
このマニュアルでは, asir-contrib パッケージに収録されている, CRTパッケージ ‘noro_grcrt.rr’ について解説する. このパッケージを使うには, まず ‘noro_grcrt.rr’ をロードする.
[1831] load("noro_grcrt.rr");
このパッケージの函数を呼び出すには, 全て noro_grcrt.
を先頭につける.
このマニュアルでは, 関連する組み込み関数についても解説する.
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
1.1.1 f4_chr | ||
1.1.2 noro_grcrt.init_pprocs |
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
f4_chr
CRT によりグレブナー基底候補を求める.
多項式リスト
多項式リスト
変数リスト
項順序型
下の説明参照.
nd_f4
で計算し, それらを CRT で貼り合わせることで, 有理数体上のグレブナー基底候補を求める.
ox_asir
のストリーム番号のリストで, noro_grcrt.init_pproc
により生成する.
[2465] P=noro_grcrt.init_pprocs([[0,4]]|nox=1)$ [2466] B=cyclic(8)$ [2467] V=[c0,c1,c2,c3,c4,c5,c6,c7]$ [2468] G=noro_grcrt.f4_chr(B,V,0|proc=P)$ ... [Template,0,CRT,5.812,IR,11.388,#P,56] 28.74sec(55.12sec)
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_grcrt.init_pprocs
並列計算用サーバを起動する.
ストリーム番号のリスト
リスト
ox_asir
をまとめて起動する.
ox_asir
を起動することを意味する. ここで hosti=0 の場合, \code{asirが実行されている
マシンを意味する.
[2465] P=noro_grcrt.init_pprocs([[0,2],["shinohara",2]]|nox=1); [0,1,2,3]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
1.2.1 noro_grcrt.dp_chrem2 | ||
• intdptoratdp |
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_grcrt.dp_chrem2
CRTによる貼り合わせを実行する.
チェックに失敗した個数
分散多項式の配列
正整数
分散多項式の配列
正整数
配列
dp_chrem2
を実行したあとに, 不適切な有理数への変換を検出することができる.
返される値は, stat[i]=2 の場合に不適切な有理数変換を検出した個数である.
[2465] G=ltov([<<1,2>>+3*<<0,1>>,<<3,4>>+2*<<1,0>>])$ [2466] GM=ltov([<<1,2>>+5*<<0,1>>,<<3,4>>+7*<<1,0>>])$ [2467] Stat=vector(2)$ [2468] Mod=17$ [2469] P=19$ [2470] noro_grcrt.dp_chrem2(G,Mod,GM,P,Stat); 0 [2471] G; [ (1)*<<1,2>>+(309)*<<0,1>> (1)*<<3,4>>+(121)*<<1,0>> ] [2472] Stat; [ 1 1 ]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_grcrt.intdptoratdp
整数-有理数変換を行う.
多項式
分散多項式
正整数
noro_grcrt.calcb
で計算できる.
複数の多項式の係数を同一の M, Bで変換するので, この値をあらかじめ与えるようにしてある.
[2495] P=62884891$ [2496] A=<<1,2>>+(25632978)*<<0,1>>$ [2497] B=noro_grcrt.calcb(P); 5607 [2498] noro_grcrt.intdptoratdp(A,P,B); (1)*<<1,2>>+(-5321/1234)*<<0,1>>
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
移動: | N |
---|
見出し一覧 | 項 | ||
---|---|---|---|
| |||
N | |||
noro_grcrt.dp_chrem2 | 1.2.1 noro_grcrt.dp_chrem2 | ||
noro_grcrt.f4_chr | 1.1.1 f4_chr | ||
noro_grcrt.init_pprocs | 1.1.2 noro_grcrt.init_pprocs | ||
noro_grcrt.intdptoratdp | 1.2.2 noro_grcrt.intdptoratdp | ||
|
移動: | N |
---|
[冒頭] | [目次] | [見出し] | [ ? ] |
[冒頭] | [目次] | [見出し] | [ ? ] |
[冒頭] | [目次] | [見出し] | [ ? ] |
この文書は5月 2, 2025にtexi2html 5.0を用いて生成されました。
ナビゲーションパネル中のボタンには以下の意味があります。
ボタン | 名称 | 移動先 | 1.2.3項からの移動先 |
---|---|---|---|
[ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
[ < ] | Back | Previous section in reading order | 1.2.2 |
[上] | Up | Up section | 1.2 |
[ > ] | Forward | Next section in reading order | 1.2.4 |
[ >> ] | FastForward | Next chapter | 2 |
[冒頭] | 冒頭 | Cover (top) of document | |
[目次] | 目次 | Table of contents | |
[見出し] | 見出し | 見出し | |
[ ? ] | About | About (help) |
例では、以下に示す構造を持つ文書の1.2.3項を現在位置に仮定しています。
この文書は5月 2, 2025にtexi2html 5.0を用いて生成されました。