noro_pd

noro_pd User’s Manual

Edition 1.0

Feb 2011

by Masayuki Noro

Copyright © Masayuki Noro 2011. All rights reserved.


[ << ] [ < ] [上] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1 準素分解パッケージ noro_pd.rr

このマニュアルでは, asir-contrib パッケージに収録されている, 準素パッケージ ‘noro_pd.rr’ について解説する. このパッケージを使うには, まず ‘noro_pd.rr’ をロードする.

[1539] load("noro_pd.rr");

このパッケージの函数を呼び出すには, 全て noro_pd. を先頭につける.


[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.1 準素分解


[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.1.1 noro_pd.syci_dec

noro_pd.syci_dec(I,vars[|options])

イデアル I の最短準素分解を計算する.

return

[QL(1),QL(2),...] なるリスト, 各 QL(i)[[Q(i1),P(i1)],[(i2),P(i2)],...] なるリスト.

I

多項式リスト

vars

変数リスト

options

下の説明参照.

[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]]

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.1.2 noro_pd.prime_dec

noro_pd.syci_dec(I,vars[|options])

イデアル I の根基の素イデアル分解を計算する.

return

リスト (成分の詳細は下で説明する)

I

多項式リスト

vars

変数リスト

options

下の説明参照.

[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.2.1 noro_pd.ideal_intersection

noro_pd.ideal_intersection(I1,I2,vars,ord[|mod=p])

イデアル I1, I2 の共通部分を計算する.

return

多項式リスト

I

多項式リスト

vars

変数リスト

ord

項順序

[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]

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.2 noro_pd.ideal_intersection_m

noro_pd.ideal_intersection_m(I1,I2,vars,ord[|mod=p])

イデアル I1, I2 の共通部分を計算する.

return

多項式リスト

I

多項式リスト

vars

変数リスト

ord

項順序

[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)

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.3 noro_pd.ideal_list_intersection

noro_pd.ideal_intersection(ilist,vars,ord[|mod=p])

イデアルのリスト ilist の成分の共通部分を計算する.

return

多項式リスト

ilist

多項式リストのリスト

vars

変数リスト

[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

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.4 noro_pd.colon

noro_pd.colon(I,f,vars[|mod=p])

I:f を計算する.

return

多項式リスト

I

多項式リスト

f

多項式

vars

変数リスト

[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]

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.5 noro_pd.ideal_colon

noro_pd.colon(I,J,vars[|mod=p])

I:J を計算する.

return

多項式リスト

I

多項式リスト

J

多項式リスト

vars

変数リスト

[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]

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.6 noro_pd.sat

noro_pd.sat(I,f,vars[|mod=p])

If による saturation を計算する.

return

多項式リスト

I

多項式リスト

f

多項式

vars

変数リスト

[1640] B=[(x+y+z)^50,(x-y+z)^50]$
[1641] V=[x,y,z]$
[1642] noro_pd.sat(B,y,V);
[1]

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.7 noro_pd.ideal_sat

noro_pd.ideal_sat(I,J,vars[|mod=p])

I:J を計算する.

return

多項式リスト

I

多項式リスト

J

多項式リスト

vars

変数リスト

[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]

[ << ] [ < ] [] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

1.2.8 noro_pd.init_pprocs

noro_pd.init_pprocs(m[|nox=1])

分散計算用プロセスを起動する.

return

整数リスト

m

正整数

[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]

[ << ] [ < ] [上] [ > ] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

Index

移動:   N  
見出し一覧 

N
noro_pd.colon 1.2.4 noro_pd.colon
noro_pd.colon 1.2.5 noro_pd.ideal_colon
noro_pd.ideal_intersection 1.2.1 noro_pd.ideal_intersection
noro_pd.ideal_intersection_m 1.2.2 noro_pd.ideal_intersection_m
noro_pd.ideal_list_intersection 1.2.3 noro_pd.ideal_list_intersection
noro_pd.ideal_sat 1.2.7 noro_pd.ideal_sat
noro_pd.init_pprocs 1.2.8 noro_pd.init_pprocs
noro_pd.prime_dec 1.1.2 noro_pd.prime_dec
noro_pd.sat 1.2.6 noro_pd.sat
noro_pd.syci_dec 1.1.1 noro_pd.syci_dec

移動:   N  

[冒頭] [目次] [見出し] [ ? ]

目次


[冒頭] [目次] [見出し] [ ? ]

簡略化した目次


[冒頭] [目次] [見出し] [ ? ]

この文書について

この文書は4月 19, 2024texi2html 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項を現在位置に仮定しています。


この文書は4月 19, 2024texi2html 5.0を用いて生成されました。