数理解析研究所講究録
第 1568 巻 2007 年 149-155149

多変数の解析的因数分解の実装について*
岩見真希
MAKI IWAMI

大阪経済法科大学

教養部

FACULTY OF LIBERAL ARTS AND SCIENCES, OSAKA UNIVELSITY OF ECONOMICS AND LAW\dagger

1

はじめに
これまで, 多変数の解析的因数分解について取り組んできたが, アルゴリズムは提示していたものの, 実際に実験に使用してきたのは逐次計算であった. 今回, アルゴリズムとしてきちんと書き下し, Mathematicaで実装を行うことで, これまで曖昧に思われてきた部分を実証し, 今後, いくつかのアルゴリズムの比較,応用を模索する土台づくりにしたいと考えている.
解析的因数分解とは, 展開点を固定した形式的べき級数環での因数分解のことで. 2 変数に関しては,Abhyan 企釘の近似根を求めるアイディア [1] をもとに Kuo が解析的因数分解のために展開基底法 [5] を提案, 後に McCallum が実装 [6] を行った. 近年, Sasaki の拡張 IIensel 構成を用いた方法 [9] がある. 3 変数
以上 (以下, 本稿では多変数とよぶ) では, 筆者が 2 変数の各アルゴリズムをそれぞれ [2] および [3] で多変数化してきたものがある. さらに, これらの過程を経た成果である拡張 $Hen8el$ 構成と展開基底法を融合させた解析的因数分解法が [4] である. 本稿では, これら [2, 3, 4] の実装について報告する.
例として, 次のような $f$ を考える.
$4\epsilon f=$

$f$
$=$

$(x^{\theta}-y-z+(y+3z)^{2})^{2}-((y+2z)^{8}+(y+2z)^{10})$$(x^{3}-y-z+(y+3z)^{2}+\sqrt{(y+2z)^{8}+(y+2z)^{10}})(x^{S}-y-z+(y+3z)^{2}-\sqrt{(y+2z)^{8}+(y+2z)^{10}})$のニュートン多項式は, $(x^{3}-(y+z))^{2}$ で, 多項式環では互いに素に分解できない. $f$ は, 多項式環では既約であるが, 解析的因数分解では, 原点を展開点としたときの形式的べき級数環での因数分解を求めるのが目的である. 2 つの因子をそれぞれ原点で展開してみる.
$f$$x^{3}-y-z+(y+3z)^{2}+\sqrt{(y+2z)^{8}+(y+2z)^{10}}$$=x^{3}-y+y^{2}+y^{4}+y^{6}/2-z+6yz+8y^{S}z+6y^{5}z+9z^{2}+24y^{2}z^{2}+30y^{4}z^{2}+32yz^{3}+80y^{\theta}z^{S}+16z^{4}$$+120y^{2}z^{4}+96yz^{s}+\cdots$$x^{\theta}-y-z+(y+3z)^{2}-\sqrt{(y+2z)^{8}+(y+2z)^{10}}$$=x^{S}-y+y^{2}-y^{4}-y^{6}/2-z+6yz-8y^{3}z-6y^{5}z+9z^{2}-24y^{2}z^{2}-30y^{4}z^{2}-32yz^{3}-80y^{3}z^{S}-16z^{4}$$-120y^{2}z^{4}-96yz^{6}-\cdots$

この例では原点での Taylor 展開で済むが, いつもそうとは限らない. ここでは, 多変数展開基底を用いた解析的因数分解のアルゴリズムおよびその Mathematica への実装について報告する.
悼研究の一部は, 日本学術掘興会科学研究費補助金の助成を受けて行われた.

.ac.jp$\uparrow m\cdot l\dot{o}Qkeih\triangleright u$

1502多変数展開基底アルゴリズム
ニュートン線の異符号傾きと展開基底の重みを対応づけて, 多変数展開基底法におけるニュートン多項式とニュートン線の異符号傾きは, ” 拡張 Hensel 構成 $[7, 8]$ における手法であるアルゴリズム 1 を読み込んで計算するアルゴリズム 2’. あるいは改良して, ” ニュートン線の異符号傾きのみを計算するアルゴリズム 3
を読み込んで, ニュートン線を統一的に水平になるように変換 (拡張 Hensel 構成 [7] のものを多変数展開基底法に適用し, 両者を融合させた変換) してから計算するアルゴリズム 4’ により計算できる.
アルゴリズム 1(ニュートン多項式とニュートン線の員符号傾き): 主変数 , 従変数に関する全次数変数 , 多項式 に を導入した $tf$
INPUT
OUTPUT : $tf$ のニュートン多項式を第 1 要素, ニュートン線の異符号傾きを第 2 要素とするリスト

1. $narrow$ ($tf$ の2.

$sli\epsilon tarrow$3.

$\epsilon l\varphi earrow$$x$の次数),

$f$

$t$

$x$

$d0arrow$($x^{n}$の係数部の$t$$t$に関する order)(((x:の係数部の に関する $order)-dO)/(n-i),$ $(i=0,$ $\cdots n-1)$ のリスト)$t$( $sli$ 認の最小値 (ニュートン線の傾き $x(-1)$ に相当))

4. ニュートン線上の項をすべて足し合わせた式と, slope のリストを出力する.
アルゴリズム 2(多寳数農開基麿法でのニュートン多項式とニュートン線の昌符号傾壷)

INPUT

主変数 $G[s],$ $G$ 進展開した $tf$, 展開基底の要素である従変数 $G[i]$ とその重み $w[i]$ の対$\{G[:], w[i]\}(i=-1,0, \cdots s-1)$ のリスト. 初期値は $G[-1]=t,$ $G[0]=x,$ $w[-1]=1$:.

を主変数とみたときの従変数に関する重みつきニュートン多項式を第 1 要素,ニュートン線の異符号傾きを第 2 要素とするリスト

OUTPUT :$tf$ の $G[s]$1. 次で $tf$ を変数変換したものを ntf とおく.
$(i=-1,0, \cdots, s-1)$$G[i]arrow(nt^{w[:]})*G[i]$2. アルゴリズム 1 により, ntf の主変数

$G[\epsilon]$, 全次数変数 $nt$ に関するニュートン多項式と傾き slope を計算する.

3. 2 で計算した結果を,1 の変数変換の逆変換 $(ntarrow 1)$ したものを第 1 要素, 傾き slope を第 2 要素として出力する.
アルゴリズム 3(ニュートン線の員符号傾きのみ): 主変数 , 従変数に関する全次数変数 , 多項式
INPUT
OUTPUT : ニュートン線の異符号傾き$t$$x$

1. $narrow$ ( $tf$ の$x$の次数),$dOarrow$($x^{\mathfrak{n}}$の係数部の$t$$f$に$t$を導入した $tf$

に関する order)

2. sli\mbox{\boldmath $\theta$}t\leftarrow (((x:の係数部の に関する $order)-dO)/(n-i),$ $(i=0,\cdots n-1)$ のリスト)$t$

3. $slq_{l}earrow$ ( $sli$ 尻の最小値 (ニュートン線の傾き $x(-1)$ に相当)) を出力する
アルゴリズム 4(多変数展開基麿法での一ユートン多項式とニュートン線の昌符号傾き (アルゴリズム 3 利用))

INPUT

:

主変数

$G[\epsilon],$$G$

進展開した $tf$, 展開基底の要素である従変数 $G[i]$ とその重み $w[i]$ の対$\{G[i],w[i]\}(i=-1,0, \cdots s-1)$ のリスト.

OUTPUT :

初期値は $G[-1]=t,$ $G[0]=x,$ $w[-1]=1$$tf$ の $G[s]$ を主変数とみたときの従変数に関する重みつきニュートン多項式を第 1 要素,ニュートン線の異符号傾きを第 2 要素とするリスト

.

151

1. 次で $tf$ を変数変換したものを ntf とおく.
$G[i]arrow(nt^{w[:]})*G[i](i=-1,0, \cdots s-1)$

2. アルゴリズム 3 により, ntf の主変数

$G[\epsilon]$と全次数変数 $nt$ に関するニュートン線の具符号傾き (のみ) を計算し, $wsarrow w[s]$ とおく.

S. $G[s]arrow(nt^{w})*G[s]$ ,$\alphaarrow$( $ntf$ の $nt$ に関する order),$ntfarrow ntf/t^{\alpha}$

4. $ntarrow 0$ で変換した結果をリストの第 1 要素, 具符号傾き $ws$ を第 2 要素として出力する.
アルゴリズム 5($G$ 進農開の計算)

INPUT

:

OUTPUT :全次数変数 を導入した多変数多項式仏
農開基底のリスト $\{G[-1](=t), G[0](=x), \cdots, G[s]\}$ , 主変数 $G[s]$$t$$tf$ の $G$

進展開 $\sum_{j=0}^{m}c_{j}G[-1]^{\epsilon \text{ },-1|}\cdots G[s-1]^{\epsilon b,.-1]}G[s]^{j}$化

1. 初期値の設定 :$baserowarrow$ ( $G[s],$$G[1]$ の順で並べたリスト)$G[s-1],$( $*X$ に関する多項式として表現されている. $G[-1](=t),$ $G[0](=x)$ はここには入れない r)$resultarrow 0$ ,$t*$$\cdots,$

ここに結果を足しこめていく$*$)$remarrow tf$

2. $baser\alpha v$ の要素数が 1 以上であれば以下を実行する.
$remarrow(r\epsilon m+result)$ ,$resultarrow 0$ ,( $bser\alpha v$ の 1 番目の要素),
For $[k=0,$ $k<m,$ $k++$ ,$pbarrow$$marrow$( $tf$ における $pb$ の重複度),($result+pb^{(m-k)_{*}}(rem$ を pb(m-k) でわった商)),$remarrow$ ( $rem$ を $pb^{(m-k)}$ でわった剰余),$resultarrow$$baser\sigma w$

3.

から 1 番目の要素を除く]$re\epsilon dtarrow(r\epsilon\epsilon ult+rem)$( 最後に剰余の分を足す )
$*$

$*$

4. result を出力する.
アルゴリズム 6(多変数展開碁鷹で互いに素な初期因子を求める):
INPUT
OUTPUT :多変数多項式 $f$, 主変数( ニュートン多項式が互いに素な因子に分解できない場合に有効$f$ の互いに素な初期因子 (これを Lifting すればよい )
$x$

$*$

$*$

$*$

1. $tfarrow$ ( に従変数に関する全次数変数 を導入)
$f$

$t$

2. アルゴリズム 1 により, $tf$ の主変数 , 全次数変数 に関する計算を行い, 次のようにおく.
new\mbox{\boldmath $\rho$}ly\leftarrow (ニュートン多項式), tmp\leftarrow (ニュートン線の具符号傾き)
$x$

$t$

( $*tmp$ は 3 で展開基底の重みとして用いる )$*$3. 展開基底の初期設定 : $basearrow\{t,x\}$ ;重みの初期設定 : $weight\epsilonarrow\{\{t, 1\}, \{x, tmp\}\}$ ( 展開基底と対にしたリストで定義する )
$*$

$*$

4. newpoly を展開基底の要素を変数とした多項式環で因数分解する. 互いに素な因子に分解できれば, その分解結果を出力するために 6. へ. 互いに素な因子に分解できず, 重複していなければ 7 ルゴリズム 7にわたす. 重複していれば, 重複既約部分を展開基底の要素として base に追加する.

$*$)

152

5. gadiq $olyarrow$ ( ア ルゴリズム 5 により, $tf$ を展開基底 base で進展開した結果),$sarrow$ (base の要素数 $-2$ )( 初期値の と の数は含めない )アルゴリズム 4 により $gadi\varphi oly$ を $G[s]$ を主変数とみて重み weights で計算を行い, 次のようにおく.
newPoly\leftarrow (ニュートン多項式), tmp\leftarrow (ニュートン線の異符号傾き),
wei9hts に tmp を $G[s]$ の重みとして追加し, newpoly を因数分解し, 4 ヘ
$t$

$*$

6.

$G$

$x$$*$

進展開で表現されている各因子を, で表現されている base の各要素を用いて変換し, 全次数変数も $tarrow 1$ に変換して戻してから出力する.

$G$$x$

アルゴリズム 7 (pseudoinitialform への変換)

INPUT:OUTPUT :1. ($G[\epsilon]$を主変数とするニュートン多項式, ニュートン線の異符号傾き,
ただし
展開基底加 se $=\{G[-1], G[0], \cdots G[s]\}$ ,$G[-1]=t,$ $G[0]=x,w[-1]=1$ ,weights $=\{\{G[-1], w[-1]\}, \{G[0], w[0]\}, \cdots\{G[s],w[\epsilon]\}\}$ .
$tf$ のニュートン多項式と各項の weight を同じくする pseudyinitialform(の予定であるが, 現時点でのプログラミングでは, $p\epsilon eudoinitialform$ にするために用いるmmomia 込の生成まで完了しており, 今後, $G[s]^{d}$ と\Delta の同次式への変換を行う)$tf$ の $G[\epsilon]$$\epsilon l\varphi$( と $N$ は互いに素な正の整数) からの $x$ に関する次数)*w[s] $=N/d$$d$$d$と $N$ を計算する

2. $d*w[s]=h[-1]*w[-1]+h[0]*w[0]+\cdots+h[s-1]*w[s-1]$ ,$h[-1]>0,0\leq h[i]<d[i+1]$ ( $=(G[i+1]$ のなる正の整数 $h[-1],$ $\cdots h[s-1]$ を計算する$x$の次数)/(G\mbox{\boldmath $\nu$}] の$x$の次数)), $(0\leq i\leq s-1)$

3. $\Deltaarrow G[-1]^{h[-1]}*G[0]^{h[0]}*\cdots*G[s-1]^{h[\iota-1|}$ とおく
4. 入力したニュートン多項式を$G[\epsilon]^{d}$と\Delta の同次多項式で表現した $pseud\dot{\alpha}nitialform$ を出力する.

他に, Lifting と最終的に解析的因子を返すアルゴリズムを追加する必要がある.

3

Mathematica での実装$\bullet$$x$を主変数とみたときの $f$ のニュートン多項式 (第 1 要素) と, ニュートン線の傾きの異符号 (第 2 要(アルゴリズム 1, 2)素) を求める関数 newtonPolynomial.

] :newtonPolynomial [tf-,Module [{ , dlist, slope},
は の次数( $*tf$ は に従変数の全次数変数を導入したもの.
$x_{-},$$t_{-}$$n\cdot$

Exponent [tf,.
. MaP.

$n$

$t$

$f$

$x$

$Rev\cdot rse$

[MaP [( $*t$ 座標の変化量$*$$x$$*$)]:( $*x$ の次数に関して降べきの順で並べ,dlist$n$${\rm Min}$

係数部[Exponent [$,$t$$t$の order のリストを dllgt とおく$*$), Llst]] $l,$ CoefficientList [tt, xlll;)[tt [NumberQ [$], $ –First [dlistl, Infinityl 1, Rest [dlistl];
dlistdlist];
dlist. Maplndexed [($l/First [$2])slope
Min [dlistl;(
ニュートン多角形の右下端点から $x^{-}i(i\cdot 0, ,n-1)$ の各 order を与える項に対応する点までの線分のうち異符号傾き最小のものを slope とおき, そのときの線分がニュートン線 )
$l$.

$*$

dlist.

$*$

Flatten [Posit ion [dlist , Min [dllgt]]];

153

(.

もとの$*$dlistの次数になおす$x$$*$)

Prepend [ $n+1$ –dlist, $n+1$ ]:( $*x$ と $t$ に関するニュートン多項式と,異符号傾きを返す

Return [{ $PlusQQMaP[1f$ [FreeQ [$. tl,$\#$.

$*$)

.

Coefficient [$. $t^{-}Exponent$ [$. t. $M\ln]$ ] $*t^{-}Bxponent$ $[\. t, {\rm Min}]]$ $l$
DeleteCases [(CoefficientList [tf, $x]cTabl\cdot[x^{-}i,$ $\{i,$ $0,$ $n\}]$ ) $[[dlist]]$slop }]].

$0$$\cdot$(.

Module [{$ntt$ , nt},展開基底に関する 1 みつき全次数変数 $nt$ の導入 r):

newtonPolynomial $[tf_{-}, G\cdot-, w\cdot 1ghts_{-}Llst]$.

$*$ntftf /. MapThread [Rule [$1, $nt^{-}(l2)* 1]l$ , Transpose [weights]] ;]]Return[newtonpolynomial [ntf, Gs, nt] /. nt$-\rangle 1$$\bullet$

ニュートン線の異符号傾きのみ出力する関数 $newt_{on8}1ope$ (アルゴリズム 3), 展開基底の重みを利用してニュートン線を統一的に水平に変換し,を主変数とする $f$ のニュートン多項式 (第 1 要素),ニュートン線の具符号傾き (纂 2 要素) を求める関数 newtonpolynomialhorizontal (アルゴリズム 4)$x$.

( $*tf$ は$n$$f$, t-l :.

Module [{ , dlist, sloP },は の次数に従変数の全次数変数 を導入したもの,

newtonslope [$tf_{-},$$x_{-}$$n$$\bullet$$t$

Exponent [tf,$x$slope.

係数部

dlist ’ Reverse [Map $[{\rm Min}[\infty onent$ [$,( $*t$ 座標の変化量 )

.
.
.

$t$

$t$

(List]]

$l$

we .
a.

.

$f$)

, CoefficientList [tf, $x]]$ ]:Map [If [NumberQ [$]. $ –First [dlistl, lnfinityl
Maplndexed [($l/First [$2]) &, dlistl;
Min [dlist]; Return [slope];]tf /. MapThread [Rule [$1,newtonslope [nt , Gs, ntl;

$nt^{-}$($2)*$1]$:\approx$$*$&* Rest [dlistll;

MOdule [{ $ntf$ , nt, ws, a$,$$ws$},)$l.$Transposo [weights]];$f$

ntf /. {Gs $->$ Gs $*(nt^{-}\{ws\})$ };Return [ $\{Cancel$ [( $a/nt^{-}Bxponent[a$ , nt,$\bullet$$*$$*$展開基底に対する重みつき全次数変数 nt の導入ntf)の order のリストを dllst とおく

newtonPolynomialhorlzontal [tf-, Gs-, $weights_{-}List$ ]$*$$*$]:( $*X$ の次数に関して降べきの順で並べ,dlistdlist$x$$n$${\rm Min}]$) $]/$. nt $->0,$$w\epsilon\}$

]

$1$

:

を展開基底抛$se:=\{t, x, G[1], \cdots G[s]\}$ で $G$ 進展開する関数 gadicPolynomial (アルゴリズム 5)

gadicpolynomial [$tf_{-}$ ,,( $*G[1]$ ,$x$.

ba$lI [ $[2$ 】

baserow$]$base-List.

$G_{-}$:

Reverse [Drop $[bas\cdot$.

$2]$//. MapThread [Rule,.

:].

Module [{ $baserov$ , rem, result, pb, a【8] をもとの $x$ と $t$ の表現になおす$G$.

$rem$tf;$0$;$,$$x$},)]{ $Tab1e[G[i-2],$ $\{i,$( $*tf$ を展開基底で表現するための初期値を設定result$*$$*$)$1$, Length [basel}], base}];

]],

154

.

$(*)$ レープを開始するので result.

$rem$の初期値を設定$*$)

While [Length [baserowl $>0$ $rem+\cdot$ result; result( 新しい主変数の を用いた元の表現を pb とする)
$*$

$pb$.

For$m$.

Exponent [tf,;とする r)$x$] $/BxPonent$ pb,$x]_{j}$$[$,$k<m,$[baserowll (m-k)*PolynomialQuotient [rem,[Lengthresult$[k\cdot 0$rem.
.

$k++$

$-$

$+\cdot G$

PolynomialRomainder rem, pb“ (m-k),.baserow
Rest [baserow];1;
result $+rem$ ; Return [resultl;]
result.

$\bullet$$0$First [baserow];( $*pb$ の重複度を$m\sim$.

$*$

$x$

$[$$x]_{i}$$pb^{-}(m^{\wedge}k)$

]:.

$x$];

pseudoinitial form に書き換える関数 pseudoinitialform (アルゴリズム 7)と monomial $\Delta(=G[-1]^{h[-1]}\cdots G[s-1]^{h[\cdot-1]})$ の同次多項式である pseudoinitial form にする$G[s]^{d}$ことで初期因子をうまく分解できればよい. ここでは $h[-1],$ $\cdots h[s-1]$ を得るところまで実装した.
$<<$($*$Algebra ‘lnequalitySolve
パッケージを読み込む r).

:

pseudoinitialform [ $tf_{-}$ , flopo-, base-, weights-]
$s$

($*$.

Module $[\{dd, d, s.

w, h\}$ ,Length [base] $-2j$.

展開基底の要素数 8 を求める$*$)weights $[[i,$ $2]],$ $\{i,$ $1,$ $s+2\}$ ]:Tabl [$w[1-2]$( 展開基底の 1 みに添字をつけて取り出しておく)$dd$[Cancel[Last[base],$x]*w[s]]$ ]:[Exponont
Denouinator$N/d$ なる( $*(G[s]$ の に関する次数)*w [slを求める )$\cdot$

$*$

.

$*$

$x$

Table [ $d[1+1]$.

.

.
. ..
$d$

Exponent [base $[[i+3]]$$x$$*$] $/Exponent$ [$bas\cdot[[i+2]]$ ,( $*d[i+l]\sim(G[1+1]$ の $x$ の次数)/(G $[i]$ の $x$ の次数)
$R\cdot duc\bullet[In\cdot qualltySolve$ [Flattenの設定$[\{h[-1]>0$ ,$*$

xl , {1,0, $s-l\}$ ];).

Flatten [ $\{Table[0<\cdot h$ [il, $\{1,0.\iota-1\}]$ Table $[h[1]<d[i+1]$ $\{i,0,s-l\}]\}]\}$ ],Table $[h[i], \{i, -1, s-1\}]]$ ak $dd*w[s]$Sum $[h[i]rw[i]. \{1. -1, s-l\}]$ ,.

Table $[h[i]. \{i, -1.

s-1\}]$ , Integers]]

初期因子が重複した $f$ を受け取り, 多変数展開基底とそれらの Weight, 初期因子の因数分解結果を返す関数 multivariateexpansionbase (アルゴリズム 6)

multivariateexPansionbafe $[f_{-}. x_{-}]$ :G.

weights,.

.

weights.

.

Modulo [{ $newpoly$base, gadicpoly, tmp}.

.

eubvariables,$t$.

$tf$subvariables
DeleteCases [Variables $[f]$ , Xl; ( 従変数を取り出す s)[Rule$f/$( 全次数変数 の導入 )[$, t*$] &. $subvarlabl\bullet s$ ]:Map
tf{newPoly, tmp}
newtonpolynomial $[tf, x, t]$ :)( ニュートン多項式を neWPoly. その具符号傾きを tmp とおく$r$($*$$*$.

{ $\{t,$$*$$1\}$,$\{x$.

$t$$*$tmp}};展開基底とその重みを対にしたリストで 。ight を定義し. 初期設定を行う

base $\approx\{t, x\}$ ;$w$($*$$*$

展開基底の初期設定を行う$*$)$*$), result,

155.

($*$result
FaCtorList [newpolyl;
以下, newpoly が互いに素な因子の積に分解できればその分解結果を返し, 重複していて互いに素な因子の積に分解できなければその重複既約部分を新しい展開基底として迫加する s).

While [result $[[2,2]]>$
If [Length [resultl $=-2$ , APPendTo [base, result $[[2,1]]$ ], Return [Factor [newpoly]//.
MapThread [Rule, {Table $[G[1-2],$ $\{1.1$ Length [base]}], base}l /. $t-$]]:$2$.

gadlcPoly. [tf, base,$s$

Longth [base] $-2$$G$.

] ;

$1$

:

{newpoly, $tmp$ }. newtonpolynomial [gadicPoly,$G$[sl , weights];

APpendTo [weights,( $*tf$ を$G$$\{G[s]. tmP\}1$ ;進展開し. そのときのニュートン線の異符号傾きを, 追加された展開基底の新要素.

(新たな主変数) の重みとする($*$$*$)

resultFactorList [nevpoly] ;];もし $n\cdot wpoly$ が重複していれば. 展開基底 bame に追加してくりかえす r)

resultresultreSult..
.

result //. MapThread [Rule, {Table $[G[1-2],$ $\{1,1$ , Length [bas ]}], base}];;result /.
Timos ee Map [(Power$) $l$ resultl; Return [result];l$\bullet$$t-\rangle$$1$ee.

参考文献[1] S. S. Abhyankar: Irreducibility Criterion for Germs of Analytic Functions of Two $Compl\alpha$ Variables.
Advances in Math., 74, pp. $19\theta-257$ (1989).

[2] M. Iwami: Analytic Factorization of the Multivariate Polynomial. Proc. of the 6th International
Workshop on Computer Algebra in Scientiflc Computing. pp.213-225 (203).

[3] M. Iwami: Extension of Expansion Base Algorithm to Multivariate Analytic Factorizaion. Proc. ofthe 7th International Workshop on Computer Algebra in Scientific Computing. pp.269-281$(2\alpha)4)$.

[4] M. Iwami: Extension of expansion base algorithm for multivaiiate analytic factorization including
the case of singular leading coefficient. ACM SIGSAM BuMetin, Volume 39, Issue 4, COLUMN:
Timely $\infty mmunicatio\iota 1s,$ $pp.122-126$ (2005).

[5] T. C. Kuo: Generalized Newton-Puiseux $Th\infty ry$ and Hense1’8 Lemma in $C[[x,y]]$ . Can. J. Math.,
Vol.XLI, No. 6, pp. 1101-1116 (1989).
[6] S. McCallum: On Te8ting a Bivariate Polynomial for Analytic Reducibility. J. Symb. Comput. 24,$pp$ .
(1997).
$50\triangleright-535$[7] T. Sasaki and D. Inaba: Hensel Construction of $F(x, u_{1}, \ldots,u_{l}),$ $l\geq 2$ , at a Singular Point and ItsApplications. SIGSAM Bulletin, Vol. 34, pp.9-17 (2000).

[8] T. Sasaki and F. Kakp: Solving Multivariate Algebraic Equation by Hensel Construct\’ion. Japan J.
Indus. Appl. Math., 16, 257-285 (1999).
[9] T. Sasaki: Propertie8 of Extended Hensel Factors and Application to Approvdmate Factorization.
Preprint, Univ. Tsukuba (2000).