<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Stable Computation of Multivariarte Apporximate GCD Based on SVD and Lifting Technique</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Masaru Sanuki</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Medicine, University of Tsukuba</institution>
          ,
          <addr-line>Ten-noudai 1-1-1, Tsukuba-shi, Ibaraki 305-8575</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <fpage>99</fpage>
      <lpage>104</lpage>
      <abstract>
        <p>For univariate polynomials, the approximate GCD can be obtained by computing the null space of the subresultant matrix of given polynomials. In this study, for multivariate polynomials, we propose a method for computing null space of the subresultant matrix within polynomials stably and eficiently, which is based on the SVD (singular value decomposition) and lifting techniques. Therefore, we show the multivariate approximate GCD can be also computed by using subresultant matrix. In addition, we describe an ill-conditioned case (initial factors have approximate common factor) and solve them.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Approximate GCD</kwd>
        <kwd>Lifting technique</kwd>
        <kwd>Ill-conditioned cases</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Preliminaries</title>
      <p>Let  (, ) and (, ) be multivariate polynomials in F[, 1, . . . , ℓ] = F[, ] ( is the main variable
and  = (1, . . . , ℓ) are sub-variables), and be expressed as
 (, )
(, )
=
=
˜ (, )(, ) + ∆  = () + . . . + 0(),
˜(, )(, ) + ∆  = () + . . . + 0().</p>
      <p>Here, ˜ , ˜, , ∆  , ∆  are polynomials in F[, ], and when ||∆  || ≪ ||  || and ||∆ || ≪ || ||,  is
called an approximate factor of  and . In particular, the approximate factor of maximum degree is
called approximate GCD, which is denoted by gcd(, ).</p>
      <p>Various algorithm exist for the approximate GCD of univariate polynomials. However, there are
few stable all-purpose methods for a large number of variables in a multivariate case.
Numericalbased methods are stable but significantly less eficient, so we have tried to improve eficiency by
combining lifting methods [4]. In this study, we challenge the stable computation of the null space of
the subresultant within polynomial entries.</p>
      <p>First, we review the method for the subresultant matrix for multivariate polynomials. For the resultant
within polynomials, we propose a QRGCD-like method over truncated power-series polynomials, it
is eficient [ 5]. For the null space of the subresultant matrix, Gao et al. and Zeng-Dayton proposed
SVD-based methods for numeric matrices at the same conference [2, 7], where the SVD is the singular
value decomposition for matrix. These matrices are sparse and the size are also huge extremely although
the degree of given polynomial is not large. Lifting techniques is known for solving of equation modulo
an ideal  and lifting them to solution modulo  2,  3, . . . in order to get the ideal adic completion.
Here  is an ideal as  = ⟨1 − 1, . . . , ℓ − ℓ⟩ with (1, . . . , ℓ) ∈ Fℓ (in this paper, (1, . . . , ℓ) is the
origin). For multivariate GCD computation, the EZ-GCD method is well-known lifting method based
on Hensel’s lemma, however, its approximate computation will be unstable when initial factors have an
approximate common factor [8].</p>
      <p>In this paper, we propose a stable multivariate approximate GCD computation, which is based on the
SVD and lifting techniques. It is able to compute the approximate GCD even though initial factors have
approximate common factors.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Framework of algorithm</title>
      <p>
        (0)() +  ·  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )(, ) + . . . +   ·  ()(, ) + . . . ,
 (0)() +  ·  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )(, ) + . . . +   ·  ()(, ).
      </p>
      <p>In non-singular case, the following two conditions exist: deg(gcd(, )) ≤ deg(gcd( (0), (0)))
and gcd(, )|gcd( (0), (0)). In such situations, lifting algorithms can be applied. The proposed
algorithm is discussed in the next section.
2.1. Computing cofactors of  and  via lifting method
be represented as
Let (, ) =  ∈ F[,  ](+− 2)× (+− 2) be an th-subresultant matrix of  and  w.r.t. , and

=
=
⎛

.
.</p>
      <p>.
⎜
⎜
⎜⎜ − − 
⎜⎜⎝ ...
(0) +  ·  (1) + . . . +   ·  () + . . . ,
where (0) =  (0) ∈ F(+− 2)× (+− 2) and  () ∈ F[](+− 2)× (+− 2) for  ≥ 1.</p>
      <p>When  = deg(gcd(, )) = deg(gcd( (0), (0))), it is well-known as the null space of − 1
corresponds to ˜ and ˜ , and rank(− 1) =  − 1 where  =  − ( − 1) +  − ( − 1).
computation of cofactors for univariate part: SVD
Cofactors of  (0) and (0) can be obtained from the null space of (0−)1. In this paper, we compute the
null space of (0−)1 using the SVD [1]. Using the SVD of (0−)1, we obtain the following decomposition:
(0)
− 1
=
 Σ   = (︀ 1 · · ·
 )︀ ⎜
⎝
⎛  1
. . .</p>
      <p>⎞ ⎛ 1 ⎞
⎠⎟ ⎝⎜ ...</p>
      <p>⎟ ,
⎠
with  1 ≥  2 ≥ . . . ≥  − 1 ≫   ≥</p>
      <p>(0  = 0 is  = (0) =  ;
solutions of − 1
where  =  − ( − 1) +  − ( − 1),  and  are orthogonal matrices, and   are singular vectors
(0) ), and it is one of the
0, respectively. Then,  ∈ Ker(− 1
⎛</p>
      <p>(0)
˜−</p>
      <p>⎞
˜(0)
−  0
 = ⎜⎜⎜⎜⎜ ˜˜(0(00)) ⎟⎟⎟⎟⎟ , with || ||2 = 1.</p>
      <p>⎜⎜ −  −  ⎟⎟
⎜⎝ ⎟⎠
Computation of cofactors for multivariate part: lifting method
Suppose we have () = (− 1) + (). Here,  () is a vector generated by homogenious polynomials
with total-degree  w.r.t.  . Then,  (+1) is generated as follows. Note that the following consists.
− 1(+1) ≡
(0)  (+1) = −
− 1
0 (mod  +2)
+1
∑︁
=1</p>
      <p>()  (− ) =  ().
− 1
Now,  (+1) and  (+1) are transformed bases from 1, . . . ,  to 1, . . . ,  and 1, . . . ,  ,
respectively, as follows:
 () = ⎜⎝
⎛  1() ⎞</p>
      <p>... ⎟ = ˆ(1)1 + . . . + ˆ() ,  () = ⎜⎝
 () ⎠
⎛  (1) ⎞
.
.</p>
      <p>.
 () ⎠
⎟ = ˆ1 ()
()1 + . . . + ˆ  .</p>
      <p>Then, we obtain ˆ (+1)/  ( = 1, . . . ,  − 1). Therefore,  (+1) is constructed, as
(+1) = ˆ
follows.</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )/ 11 + . . . + ˆ(1)− 1/ − 1− 1 + F[, ]+1 ·  ,
 (+1) = ˆ1
where F[, ]+1 is homogeneous polynomial set with total-degree  + 1 w.r.t.  , and we have the
following as a candidate solution.
      </p>
      <p>() =  + ∑︁ ˆ1</p>
      <p>
        ()/ 11 + . . . + ∑︁ ˆ(−) 1/ − 1− 1 + F[, ][1,] ·  ,
=1 =1

where F[, ][1,] = ∪=1F[, ]. To compute the approximate GCD of  and , we need to determine
() =  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) + . . . +  () ∈ F[, ][1,] s.t.
      </p>
      <p>()() =  + ∑︁ ˆ1</p>
      <p>()/ 11 + . . . + ∑︁ ˆ(−) 1/ − 1− 1 + () ·  ,
=1 =1</p>
      <p>To determine the approximate GCD, we must determine (). The following example shows one
approach to determining each undetermined element  () for 1 ≤  ≤ ..</p>
      <p>Example1
Polynomials  (, 1, 2) and (, 1, 2) having an approximate GCD (, 1, 2) = 3 + (1 + 2 −
21 + 12) + 3 are expressed as
 (, 1, 2) = (3 + (22 + 1 + 1 − 2)2 − 1) × (, 1, 2) + ,
(, 1, 2) = (3 + (222 − 1 + 3)2 − 1) × (, 1, 2) + ,
where  is the machine epsilon.</p>
      <p>In this example,  = 2 is already known ( = 8). Then, one solution of 1(0) = 0 is  = (0) = 8;
⎛ − 0.242535625036333 ⎞
⎜ − 0.727606875108999
⎜ − 2.24840273230668 × 10− 15 ⎟⎟
(0) = 8 = ⎜⎜⎜⎜ 0.242535625036333 ⎟⎟⎟⎟ .</p>
      <p>
        ⎜⎜⎜⎜ − 00.2.44825503751622550003762363635 ⎟⎟⎟
⎝ − 1.32375311946987 × 10− 15 ⎟⎠
− 0.242535625036333
⎛ ˜(1−) ⎞
⎛ 0.0713340073 · · · 1 + 0.0285336029 · · · 2 ⎞ (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) ⎟
 (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) = ⎜⎜⎜⎜⎜⎜ 3.654−− 19005..00027081· · 53·× 33346000127093− ·· 1···· 5111− −+400.9..00682858265403803086300· · 82·× 89 ·· ·· ·· 1022− 152 ⎟⎟⎟⎟⎟⎟ +  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) · 8 = ⎜⎜⎜⎜⎜⎜⎜⎜ ˜˜−...(01)− 1 ⎟⎟⎟⎟⎟⎟⎟ .
⎜⎜⎜ − − 00..00791938364706017033· ···· · 11− − 00..0128855436386401299· ···· · 22 ⎟⎟⎟ ⎜⎜⎜⎜ − − (1(−)1− )− 1 ⎟⎟⎟⎟⎟
⎜⎝ 4.775707.057014 3·· 3×4007130−· · · · 1611 −+ 01..1002486593335690 2·· · 9× · · · 120− 152 ⎠⎟ ⎜⎜⎝ ... ⎟⎠
Generally, it is dificult to determine  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) properly.
      </p>
      <p>
        However, assuming that cofactors are also not dense or the approximate GCD is monic,
several coeficients will be zero. In this example, assume the 1st element is zero,  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) is  1(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) =
(0.0713340073636269 1 + 0.0285336029454512 2)/0.242535625036333 and  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) becomes
−  0(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
It is unlikely that many factors will be close to zero simultaneously, and this can only happen if the result
is correct. Unlike the EZ-GCD method, it is more eficient because it can extract each undetermined
coeficient at each lifting step. So that, “check zeros” is very eficiency.
      </p>
      <p>If the coeficients are dense, lc(lc( ), lc()) or lc(lc(gcd(, ))) should be calculated in advance so
that the elements can be determined uniquely.
2.2. Computing approximate GCD
After obtaining cofactors, the approximate GCD is computed by solving and 
(, − 1, . . . , 0) ∈ F[]+1.
=
⎛ ˜ − 
⎜⎜ ...
⎜⎜ ˜ 0
⎜
⎜
⎝
This linear equation is solve as following step.</p>
      <p>(0)
1. Solve +1,+1(˜ ) · (0) =  (0). Actually, we utilize the SVD as in the former case.
2. Lifting step: solve (0+)1,+1(˜ ) ·  () =   () − ∑︀ ()+1,+1(˜ ) ×  (− ). This step can
also be solved using SVD.
3. Return  + · · · + 0 as an approximate GCD.
3. Solve in ill-conditioned cases
In this section, we demonstrate that our method is stable for ill-conditioned cases [8, 5]. On the other
word, we deals with cases where the initial factor is an approximate common factor. In this case, the
EZ-GCD method is unstable since large cancellation errors occur [6].</p>
      <p>Example 2 (initial factors have approximate common factor)
Compute the approximate GCD of  and , where both polynomials are monic.</p>
      <p>(, 1, 2) = (3 + (22 + 1 + 2 − 2)2 − 1)( − 1.0003 + 22 − 12) + ,
(, 1, 2) = (3 + (222 − 1 + 3)2 − 1)( − 1.0005 + 1 + 2 + 12) + ,
(, 1, 2) = 3 + (1 + 2 − 21 + 12) + 3.</p>
      <p>Initial factors  (0) and (0) have an approximate common factor ( − 1.0002) with tolerance (10− 5).
Sigular values of 3(0)(, ) are 19.8 &gt; 18.3 &gt; 14.5 &gt; 12.8 &gt; 8.2 &gt; 4.4 &gt; 1.1 &gt; 0.6 ≫ 1.5× 10− 5 ≫
1.1× 10− 16. Because give polynomials are monic, the leading coeficient of cofactors and the approximate
GCD are also monic, respectively.</p>
      <p>
        When  = 1, Adjusting the 1st element of  (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) by  only, we obtained the following.
      </p>
      <p>
        The perturbation is ||˜ (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) − ˜ (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )|| ≈ (10− 8) ≈   / − 1. On the other hand, by adjusting
˜ (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) −
− 1, we obtained the following, It can be confirmed that the solution is not accurate; ||
⎛ 0. ⎞
⎜⎜⎜⎜⎜⎜⎜ 0.00−00..000122.1129093758165887150661485133883502415525171829992376417650652761111+−− +0000..0..41013404034365795791185320140322379024410719670488863606293587417403022242 ⎟⎟⎟⎟⎟⎟⎟
⎜⎜ − 0.7183155936049679 × 10− 51 − 0.0000115709918326045712 ⎟⎟
⎝⎜⎜⎜⎜⎜ 0.000−0.00027.2202110209686773061060130545666560628540635239118−+1 +00..02000.209418317027394238248170555154494475136827302922682 ⎠⎟⎟⎟⎟⎟
      </p>
      <p>
        − 0.198809763320995761 + 0.033230024235167582
When  = 2, by lifting step and adjusting the 1st element of  (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) by  , we obtained the following
(0) we have the following,
Adjusting only  is not accurate. Therefore, adjusting  and − 1 in ker 
˜ (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) − ˜ (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )|| ≈
and it obtains the expected solution one . In this case, perturbation becomes ||
  , it is better.
      </p>
      <p>The SVD is stable even if the matrix is irregular. Thus, the SVD of (0) is also stable even if initial
factors have an approximate common factor. On the other hand, a lifting method using the Bezout
matrix is unstable since initial matrix is assumed to be regular [4]. Hence, our method is more stable
and eficient than existing methods.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Corless</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Gianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Trager</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Watt</surname>
          </string-name>
          ,
          <article-title>The singular value decomposition for polynomial systems</article-title>
          ,
          <source>Proc. of ISSAC'95</source>
          , ACM Press,
          <year>1995</year>
          ,
          <fpage>195</fpage>
          -
          <lpage>207</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kaltofen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>May</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yang</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhi</surname>
          </string-name>
          ,
          <article-title>Approximate factorization of multivariate polynomials via diferential equations</article-title>
          ,
          <source>Proc. of ISSAC'04</source>
          , ACM Press,
          <year>2004</year>
          ,
          <fpage>167</fpage>
          -
          <lpage>174</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ochi</surname>
          </string-name>
          ,
          <string-name>
            <surname>M-T.</surname>
            Noda and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Sasaki</surname>
          </string-name>
          ,
          <article-title>Approximate greatest common divisor of multivariate polynomials and its application to ill-conditioned systems of algebraic equations</article-title>
          ,
          <source>J. Inform. Proces.</source>
          ,
          <volume>14</volume>
          (
          <year>1991</year>
          ),
          <fpage>292</fpage>
          -
          <lpage>300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sanuki</surname>
          </string-name>
          .
          <article-title>Computing multivariate approximate GCD based on Barnett's theorem</article-title>
          ,
          <source>Proc. of SymbolicNumeric Computation</source>
          <year>2009</year>
          (SNC
          <year>2009</year>
          ),
          <year>2009</year>
          ,
          <fpage>149</fpage>
          -
          <lpage>157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sanuki</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Sasaki</surname>
          </string-name>
          ,
          <article-title>Computing approximate GCDs in ill-conditioned cases</article-title>
          ,
          <source>International Workshop of Symbolic-Numeric Computation</source>
          <year>2007</year>
          (
          <article-title>SNC2007)</article-title>
          , ACM Press,
          <year>2007</year>
          ,
          <fpage>170</fpage>
          -
          <lpage>179</lpage>
          ,
          <fpage>25</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Sasaki</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Yamaguchi</surname>
          </string-name>
          ,
          <article-title>An analysis of cancellation error in multivariate Hensel construction with floating-point number arithmetic</article-title>
          ,
          <source>Proc. of ISSAC'98</source>
          , ACM Press,
          <year>1998</year>
          ,
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zeng</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Dayton</surname>
          </string-name>
          ,
          <article-title>The approximate GCD of inexact polynomials part II: A multivariate algorithm</article-title>
          ,
          <source>Proc. of ISSAC'04</source>
          , ACM Press,
          <year>2004</year>
          ,
          <fpage>320</fpage>
          -
          <lpage>327</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhi</surname>
          </string-name>
          and
          <string-name>
            <surname>M-T. Noda</surname>
          </string-name>
          ,
          <source>Approximate GCD of Multivariate Polynomials, Proc. of ASCM2000</source>
          , World Scientific,
          <year>2000</year>
          ,
          <fpage>9</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>