Copyright © Masayuki Noro 2011. All rights reserved.
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
1 準素分解パッケージ noro_pd.rr | ||
Index |
• 準素分解 |
このマニュアルでは, asir-contrib パッケージに収録されている, 準素パッケージ ‘noro_pd.rr’ について解説する. このパッケージを使うには, まず ‘noro_pd.rr’ をロードする.
[1539] load("noro_pd.rr");
このパッケージの函数を呼び出すには, 全て noro_pd.
を先頭につける.
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
1.1.1 noro_pd.syci_dec | ||
1.1.2 noro_pd.prime_dec |
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.syci_dec
イデアル I の最短準素分解を計算する.
[QL(1),QL(2),...] なるリスト, 各 QL(i) は [[Q(i1),P(i1)],[(i2),P(i2)],...] なるリスト.
多項式リスト
変数リスト
下の説明参照.
イデアル I の付属素イデアル全体 Ass(I) を次のように分ける: A(1) を極小付属素イデアル全体とし, Ass(I)から A(1),...,A(i-1) を除いたものの中で極小なもの全体を A(i) とする. SYCI アルゴリズムは, A(i) を i の小さい順に 計算しつつ, 対応する準素成分 を計算するアルゴリズムである. 準素成分の計算は省略することができる. この 場合, I の付属素イデアルのみを計算するアルゴリズムとなる. A(i) に属する付属素イデアルおよび対応する準素成分はレベル i であるという.
出力において, Q(ij) は I の Pij-準素成分であり, Q(ij) 全体が I の最短準素分解を与える. 各 QL(i) はレベル i の成分全体 を与える. 特に QL(1) は孤立成分および極小付属素イデアル全体を与える. QL(1) の各成分のみ, 3つ目の要素として極大独立集合を持つ.
noro_pd.init_pprocs
により生成されたプロセスのリストである.
[1539] load("noro_pd.rr"); [1707] B=[x00*x11-x01*x10,x01*x12-x02*x11,x02*x13-x03*x12,x03*x14-x04*x13, -x11*x20+x21*x10,-x21*x12+x22*x11,-x22*x13+x23*x12,-x23*x14+x24*x13]$ [1708] V=[x00,x01,x02,x03,x04,x10,x11,x12,x13,x14,x20,x21,x22,x23,x24]$ [1709] QD=noro_pd.syci_dec(B,V|time=1)$ [total,1.08407,ass,0.620039,pd,0.33202,iso,0.260016,int,0.024003, ext,0.464029] [elapsed,1.09038,ass,0.624087,pd,0.338769,iso,0.244057,int,0.0343642, ext,0.466293] [1710] map(length,QD); [10,5,3,1] [1711] QD[2][0]; [[x03*x01*x14*x20-x21*x04*x03*x10,(x23*x21*x02-x22*x21*x03)*x10, x23*x21*x03*x10,x01*x12*x20-x21*x02*x10,-x01*x13*x20+x21*x03*x10, -x21*x03*x14+x23*x04*x11,-x22*x03*x14+x23*x04*x12,x01^2,x03^2, -x00*x11+x01*x10,x10^2,x01*x11,-x01*x12+x02*x11,x01*x13-x03*x11, x10*x11,x11^2,-x02*x13+x03*x12,-x11*x12,x12^2,x03*x13,-x03*x14+x04*x13, x11*x13,-x12*x13,x13^2,x13*x14,x14^2,-x11*x20+x21*x10,x21*x11, x21*x12-x22*x11,x21*x13-x23*x11,x21^2,x22*x13-x23*x12,-x23*x13, -x23*x14+x24*x13,x23^2], [x01,x03,x10,x11,x12,x13,x14,x21,x23]]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.prime_dec
イデアル I の根基の素イデアル分解を計算する.
リスト (成分の詳細は下で説明する)
多項式リスト
変数リスト
下の説明参照.
[1712] PD=noro_pd.prime_dec(B,V|radical=1)$ [1713] PD[0][0]; [x10,-x11,x12,x13,x14] [1714] PD[1]; [-x03*x02*x01*x14*x20+x24*x02*x01*x00*x13,...,x23*x14-x24*x13]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
1.2.1 noro_pd.ideal_intersection | ||
1.2.2 noro_pd.ideal_intersection_m | ||
1.2.3 noro_pd.ideal_list_intersection | ||
• noro_pd.colon | ||
• noro_pd.ideal_colon | ||
• noro_pd.sat | ||
• noro_pd.ideal_sat | ||
• noro_pd.init_pprocs |
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.ideal_intersection
イデアル I1, I2 の共通部分を計算する.
多項式リスト
多項式リスト
変数リスト
項順序
[1707] A=[j*h*g*f*e*d*b,j*i*g*d*c*b,j*i*h*g*d*b,j*i*h*e*b,i*e*c*b,z]$ [1708] B=[a*d-j*c,b*c,d*e-f*g*h]$ [1709] V=[a,b,c,d,e,f,g,h,i,j,z]$ [1710] noro_pd.ideal_intersection(A,B,V,0); [(j*h*g*f*e^2*d^2-j*h^2*g^2*f^2*e*d)*b,j*h*g*f*e*d*b*a, -j*h*g*f*e*d*c*b,j*i*h*g*f*e*b*a,(-j*i*h*e*d^2+j*i*h^2*g*f*d)*b, (-j*i*h*e^2*d+j*i*h^2*g*f*e)*b,-j*i*h*e*d*b*a,-j*i*h*g*d*b*a, j*i*g*d*c*b,i*e*c*b,-z*e*d+z*h*g*f,-z*c*b,-z*d*a+z*j*c]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.ideal_intersection_m
イデアル I1, I2 の共通部分を計算する.
多項式リスト
多項式リスト
変数リスト
項順序
noro_pd.ideal_intersection
より高速な場合がある.
[1754] B=[z*j*i*e*d*c*b+(z*i*h*g+z*j*h)*f*e*d*c,...,z*j*e*c*b+4*z*i*h*g*e*c] [1755] V=[b,c,d,e,f,g,h,i,j,z] [1756] G=nd_gr(B,V,0,0)$ [1757] cputime(1)$ 0sec(1.907e-06sec) [1758] I1=noro_pd.ideal_intersection(G,G,V,0)$ 0.316sec + gc : 0.012sec(0.3301sec) [1759] I2=noro_pd.ideal_intersection_m(G,G,V,0)$ 0.064sec + gc : 0.012sec(0.07933sec)
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.ideal_list_intersection
イデアルのリスト ilist の成分の共通部分を計算する.
多項式リスト
多項式リストのリスト
変数リスト
[1709] PL=noro_pd.prime_dec(B,V|radical=1)$ [1710] Int=noro_pd.ideal_list_intersection(PL[0],V,0)$ [1711] gb_comp(Int,PL[1]); 1
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.colon
I:f を計算する.
多項式リスト
多項式リスト
多項式
変数リスト
[1640] B=[(x+y+z)^50,(x-y+z)^50]$ [1641] V=[x,y,z]$ [1642] noro_pd.colon(B,y^98,V); [-x-z,-y]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.ideal_colon
I:J を計算する.
多項式リスト
多項式リスト
多項式リスト
変数リスト
[1640] B=[(x+y+z)^50,(x-y+z)^50]$ [1641] V=[x,y,z]$ [1642] noro_pd.ideal_colon(B,[(x+y+z)^49,(x-y+z)^49],V); [-y^49*x-z*y^49,-y^50,-x^2-2*z*x+y^2-z^2]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.sat
I の f による saturation を計算する.
多項式リスト
多項式リスト
多項式
変数リスト
[1640] B=[(x+y+z)^50,(x-y+z)^50]$ [1641] V=[x,y,z]$ [1642] noro_pd.sat(B,y,V); [1]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.ideal_sat
I:J を計算する.
多項式リスト
多項式リスト
多項式リスト
変数リスト
[1640] B=[(x+y+z)^50,(x-y+z)^50]$ [1641] V=[x,y,z]$ [1642] noro_pd.ideal_sat(B,[(x+y+z)^49,(x-y+z)^49],V); [1]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
noro_pd.init_pprocs
分散計算用プロセスを起動する.
整数リスト
正整数
ox_asir
)を起動し, その番号のリストを返す.
load("noro_pd.rr")$
を
入れておくことで, ox_asir
の起動時に ‘noro_pd.rr’ が
読み込まれ, 分散計算の準備ができる.
[1544] P=noro_pd.init_pprocs(6|nox=1)$ [1545] B=[x00*x11-x01*x10,x01*x12-x02*x11,x02*x13-x03*x12,x03*x14-x04*x13, x04*x15-x05*x14,x05*x16-x06*x15,x06*x17-x07*x16,-x11*x20+x21*x10, -x21*x12+x22*x11,-x22*x13+x23*x12,-x23*x14+x24*x13,-x24*x15+x25*x14, -x25*x16+x26*x15,-x26*x17+x27*x16]$ [1546] V=[x00,x01,x02,x03,x04,x05,x06,x07,x10,x11,x12,x13,x14,x15,x16, x17,x20,x21,x22,x23,x24,x25,x26,x27]$ [1547] noro_pd.syci_dec(B,V|time=1)$ [total,205.581,ass,108.743,pd,31.582,iso,64.9081,int,11.7367,ext,96.8381] [elapsed,206.177,ass,109.052,pd,31.679,iso,65.0682,int,11.7853,ext,97.1254] [1548] noro_pd.syci_dec(B,V|time=1,para=P)$ [total,30.0339,ass,29.5498,pd,23.7695,iso,1.96412,int,3.32021,ext,0.48403] [elapsed,79.0897,ass,62.5683,pd,26.0532,iso,28.037,int,7.97536,ext,16.5214]
[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
移動: | N |
---|
移動: | N |
---|
[冒頭] | [目次] | [見出し] | [ ? ] |
[冒頭] | [目次] | [見出し] | [ ? ] |
[冒頭] | [目次] | [見出し] | [ ? ] |
この文書は5月 1, 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月 1, 2025にtexi2html 5.0を用いて生成されました。