=Paper= {{Paper |id=Vol-3754/paper15 |storemode=property |title=A stable computation of multivariarte apporximate GCD based on SVD and lifting technique |pdfUrl=https://ceur-ws.org/Vol-3754/paper15.pdf |volume=Vol-3754 |authors=Masaru Sanuki |dblpUrl=https://dblp.org/rec/conf/sycss/Sanuki24 }} ==A stable computation of multivariarte apporximate GCD based on SVD and lifting technique== https://ceur-ws.org/Vol-3754/paper15.pdf
                         A Stable Computation of Multivariarte Apporximate GCD
                         Based on SVD and Lifting Technique
                         Masaru Sanuki1,*,โ€ 
                         1
                             Institute of Medicine, University of Tsukuba, Ten-noudai 1-1-1, Tsukuba-shi, Ibaraki 305-8575, Japan


                                        Abstract
                                        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 efficiently, 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.

                                        Keywords
                                        Approximate GCD, Lifting technique, Ill-conditioned cases




                         1. Preliminaries
                         Let ๐น (๐‘ฅ, ๐‘ก) and ๐บ(๐‘ฅ, ๐‘ก) be multivariate polynomials in F[๐‘ฅ, ๐‘ก1 , . . . , ๐‘กโ„“ ] = F[๐‘ฅ, ๐‘ก] (๐‘ฅ is the main variable
                         and ๐‘ก = (๐‘ก1 , . . . , ๐‘กโ„“ ) are sub-variables), and be expressed as
                                                                    หœ (๐‘ฅ, ๐‘ก)๐ถ(๐‘ฅ, ๐‘ก) + โˆ†๐น = ๐‘“๐‘š (๐‘ก)๐‘ฅ๐‘š + . . . + ๐‘“0 (๐‘ก),
                                                         ๐น (๐‘ฅ, ๐‘ก) = ๐น
                                                         ๐บ(๐‘ฅ, ๐‘ก) = ๐บหœ (๐‘ฅ, ๐‘ก)๐ถ(๐‘ฅ, ๐‘ก) + โˆ†๐บ = ๐‘”๐‘› (๐‘ก)๐‘ฅ๐‘› + . . . + ๐‘”0 (๐‘ก).

                         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(๐น, ๐บ).
                            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. Numerical-
                         based methods are stable but significantly less efficient, so we have tried to improve efficiency by
                         combining lifting methods [4]. In this study, we challenge the stable computation of the null space of
                         the subresultant within polynomial entries.
                            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 efficient [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].
                            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.

                          SCSS 2024: 10th International Symposium on Symbolic Computation in Software Science, August 28โ€“30, 2024, Tokyo, Japan
                         *
                           Corresponding author.
                          $ sanuki@md.tsukuba.ac.jp (M. Sanuki)
                                        ยฉ 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).


CEUR
                  ceur-ws.org
Workshop      ISSN 1613-0073
Proceedings




                                                                                                               99
2. Framework of algorithm
In this paper, we discuss non-singular case only, i.e., ๐น (๐‘ฅ, 0) ยท ๐บ(๐‘ฅ, 0) ฬธ= 0 and ๐‘“๐‘š (0) ยท ๐‘”๐‘› (0) ฬธ= 0. For
non-singular case, every polynomial ๐‘ƒ (๐‘ฅ, ๐‘ก) is transform to ๐‘ƒ (๐‘ฅ, ๐‘‡, ๐‘ก) = ๐‘ƒ (๐‘ฅ, ๐‘‡ ๐‘ก1 , . . . , ๐‘‡ ๐‘กโ„“ ), with ๐‘‡
is the total-degree variable. Every polynomial ๐‘ƒ (๐‘ฅ, ๐‘‡, ๐‘ก) is represented as the sum of homogeneous
polynomials w.r.t. the total-degree variable ๐‘‡ ;

                  ๐‘ƒ (๐‘ฅ, ๐‘‡, ๐‘ก) = ๐‘ƒ (0) (๐‘ฅ) + ๐‘‡ ยท ๐›ฟ๐‘ƒ (1) (๐‘ฅ, ๐‘ก) + . . . + ๐‘‡ ๐‘ค ยท ๐›ฟ๐‘ƒ (๐‘ค) (๐‘ฅ, ๐‘ก) + . . . ,
               ๐‘ƒ (๐‘ค) (๐‘ฅ, ๐‘‡, ๐‘ก) = ๐‘ƒ (0) (๐‘ฅ) + ๐‘‡ ยท ๐›ฟ๐‘ƒ (1) (๐‘ฅ, ๐‘ก) + . . . + ๐‘‡ ๐‘ค ยท ๐›ฟ๐‘ƒ (๐‘ค) (๐‘ฅ, ๐‘ก).

   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
Let ๐’ฎ๐‘– (๐น, ๐บ) = ๐’ฎ๐‘– โˆˆ F[๐‘ก, ๐‘‡ ](๐‘š+๐‘›โˆ’2๐‘–)ร—(๐‘š+๐‘›โˆ’2๐‘–) be an ๐‘–th-subresultant matrix of ๐น and ๐บ w.r.t. ๐‘ฅ, and
be represented as
                            โŽ›                                                   โŽž
                                 ๐‘“๐‘š                       ๐‘”๐‘›
                                  ..    ..                 ..     ..
                                   .       .                .        .
                            โŽœ                                                   โŽŸ
                            โŽœ                                                   โŽŸ
                            โŽœ                                                   โŽŸ
                   ๐’ฎ๐‘– = โŽœ ๐‘“๐‘šโˆ’๐‘›โˆ’๐‘˜
                            โŽœ                  ๐‘“๐‘š      ๐‘”๐‘›โˆ’๐‘šโˆ’๐‘˜            ๐‘”๐‘›     โŽŸ
                                   ..   ..      ..          ..    ..      ..
                                                                                โŽŸ
                                    .      .     .           .       .     .
                            โŽœ                                                   โŽŸ
                            โŽ                                                   โŽ 
                                             ๐‘“๐‘šโˆ’๐‘›โˆ’๐‘˜                    ๐‘”๐‘›โˆ’๐‘šโˆ’๐‘˜
                                 (0)               (1)                        (๐‘ค)
                            = ๐’ฎ๐‘–       + ๐‘‡ ยท ๐›ฟ๐’ฎ๐‘–         + . . . + ๐‘‡ ๐‘ค ยท ๐›ฟ๐’ฎ๐‘–        + ...,
         (0)          (0)                                        (๐‘ค)
where ๐’ฎ๐‘– = ๐›ฟ๐’ฎ๐‘– โˆˆ F(๐‘š+๐‘›โˆ’2๐‘–)ร—(๐‘š+๐‘›โˆ’2๐‘–) and ๐›ฟ๐’ฎ๐‘– โˆˆ F[๐‘ก](๐‘š+๐‘›โˆ’2๐‘–)ร—(๐‘š+๐‘›โˆ’2๐‘–) for ๐‘ค โ‰ฅ 1.
  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
                                                                                             (0)
Cofactors of ๐น (0) and ๐บ(0) can be obtained from the null space of ๐’ฎ๐‘˜โˆ’1 . In this paper, we compute the
                  (0)                                                   (0)
null space of ๐’ฎ๐‘˜โˆ’1 using the SVD [1]. Using the SVD of ๐’ฎ๐‘˜โˆ’1 , we obtain the following decomposition:

                                                                                                       ๐‘ฃ ๐‘‡1
                                                                       โŽ›                           โŽžโŽ›       โŽž
                                                                           ๐œŽ1
                      (0)                                                           ..             โŽŸ โŽœ .. โŽŸ
                  ๐’ฎ๐‘˜โˆ’1 = ๐‘ˆ ฮฃ๐‘‰ ๐‘‡ =
                                             (๏ธ€                     )๏ธ€ โŽœ
                                                  ๐‘ข1 ยท ยท ยท ๐‘ข๐พ          โŽ                 .         โŽ โŽ . โŽ ,
                                                                                              ๐œŽ๐พ        ๐‘ฃ ๐‘‡๐พ

where ๐พ = ๐‘š โˆ’ (๐‘˜ โˆ’ 1) + ๐‘› โˆ’ (๐‘˜ โˆ’ 1), ๐‘ˆ and ๐‘‰ are orthogonal matrices, and ๐œŽ๐‘– are singular vectors
                                                                       (0)
with ๐œŽ1 โ‰ฅ ๐œŽ2 โ‰ฅ . . . โ‰ฅ ๐œŽ๐พโˆ’1 โ‰ซ ๐œŽ๐พ โ‰ฅ 0, respectively. Then, ๐‘ฃ ๐พ โˆˆ Ker(๐’ฎ๐‘˜โˆ’1 ), and it is one of the
                 (0
solutions of ๐’ฎ๐‘˜โˆ’1 ๐‘ง = 0 is ๐‘ง = ๐‘Ÿ (0) = ๐‘ฃ ๐พ ;

                                                   (0)
                                         โŽ›                  โŽž
                                                  ๐‘”หœ๐‘›โˆ’๐‘˜
                                     โŽœ         โŽŸ
                                     โŽœ         โŽŸ
                                     โŽœ    (0)  โŽŸ
                                     โŽœ ๐‘”หœ0
                                               โŽŸ , with ||๐‘ฃ ๐พ ||2 = 1.
                                               โŽŸ
                                ๐‘ฃ๐พ = โŽœ
                                     โŽœ    (0)
                                        หœ
                                       โˆ’๐‘“
                                               โŽŸ
                                     โŽœ    ๐‘šโˆ’๐‘˜ โŽŸ
                                     โŽœ         โŽŸ
                                     โŽ         โŽ 
                                           (0)
                                         หœ
                                       โˆ’๐‘“ 0




                                                              100
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         (mod ๐‘‡ ๐‘ค+2 )
                                                       ๐‘ค+1
                               (0)
                                                       โˆ‘๏ธ (๐‘—)
                              ๐’ฎ๐‘˜โˆ’1 ๐›ฟ๐‘Ÿ (๐‘ค+1)        = โˆ’     ๐’ฎ๐‘˜โˆ’1 ๐›ฟ๐‘Ÿ (๐‘คโˆ’๐‘—) = ๐›ฟ๐‘(๐‘ค) .
                                                         ๐‘—=1

Now, ๐›ฟ๐‘Ÿ (๐‘ค+1) and ๐›ฟ๐‘(๐‘ค+1) are transformed bases from ๐‘’1 , . . . , ๐‘’๐พ to ๐‘ฃ 1 , . . . , ๐‘ฃ ๐พ and ๐‘ข1 , . . . , ๐‘ข๐พ ,
respectively, as follows:
         โŽ› (๐‘ค) โŽž                                           โŽ› (๐‘ค) โŽž
             ๐›ฟ๐‘ง1                                                 ๐›ฟ๐‘1
   (๐‘ค)   โŽœ .. โŽŸ           (๐‘ค)           (๐‘ค)        (๐‘ค)     โŽœ .. โŽŸ                   (๐‘ค)                  (๐‘ค)
๐›ฟ๐‘ง     = โŽ . โŽ  = ๐›ฟ๐‘งห†1 ๐‘ฃ 1 + . . . + ๐›ฟ๐‘งห†๐พ ๐‘ฃ ๐พ , ๐›ฟ๐‘      = โŽ . โŽ  = ๐›ฟ๐‘               ห†1 ๐‘ข1 + . . . + ๐›ฟ๐‘   ห†๐‘ ๐‘ข๐พ .
               (๐‘ค)                                                                (๐‘ค)
            ๐›ฟ๐‘ง๐พ                                                                ๐›ฟ๐‘๐พ
                     (๐‘ค+1)           (๐‘ค+1)
Then, we obtain ๐›ฟ๐‘งห†๐‘–         = ๐›ฟ๐‘
                                ห†๐‘–           /๐œŽ๐‘–   (๐‘– = 1, . . . , ๐พ โˆ’ 1). Therefore, ๐›ฟ๐‘Ÿ (๐‘ค+1) is constructed, as
follows.
                              (1)                       (1)
              ๐›ฟ๐‘Ÿ (๐‘ค+1) = ๐›ฟ๐‘                     ห†๐พโˆ’1 /๐œŽ๐พโˆ’1 ๐‘ฃ ๐พโˆ’1 + F[๐‘‡, ๐‘ก]๐‘ค+1 ยท ๐‘ฃ ๐พ ,
                          ห†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.
                        ๐‘ค                              ๐‘ค
                               (๐‘ค)                              (๐‘ค)
                       โˆ‘๏ธ                             โˆ‘๏ธ
        ๐‘Ÿ (๐‘ค) = ๐‘ก๐พ +         ๐›ฟ๐‘
                              ห†1 /๐œŽ1 ๐‘ฃ 1 + . . . +             ห†๐พโˆ’1 /๐œŽ๐พโˆ’1 ๐‘ฃ ๐พโˆ’1 + F[๐‘‡, ๐‘ก][1,๐‘ค] ยท ๐‘ฃ ๐พ ,
                                                              ๐›ฟ๐‘
                       ๐‘—=1                             ๐‘—=1

where F[๐‘‡, ๐‘ก][1,๐‘ค] = โˆช๐‘ค
                      ๐‘—=1 F[๐‘‡, ๐‘ก]๐‘— . To compute the approximate GCD of ๐น and ๐บ, we need to determine
๐‘ž (๐‘ค) = ๐›ฟ๐‘ž + . . . + ๐›ฟ๐‘ž(๐‘ค) โˆˆ F[๐‘‡, ๐‘ก][1,๐‘ค] s.t.
          (1)

                               ๐‘ค                                ๐‘ค
                                      (๐‘ค)                              (๐‘ค)
                              โˆ‘๏ธ                               โˆ‘๏ธ
          ๐‘Ÿ (๐‘ค) (๐‘ž) = ๐‘ก๐พ +          ๐›ฟ๐‘
                                     ห†1 /๐œŽ1 ๐‘ฃ 1 + . . . +             ห†๐พโˆ’1 /๐œŽ๐พโˆ’1 ๐‘ฃ ๐พโˆ’1 + ๐‘ž (๐‘ค) ยท ๐‘ฃ ๐พ ,
                                                                     ๐›ฟ๐‘
                              ๐‘—=1                              ๐‘—=1

  To determine the approximate GCD, we must determine ๐‘ž (๐‘–) . The following example shows one
approach to determining each undetermined element ๐›ฟ๐‘ž (๐‘–) for 1 โ‰ค ๐‘– โ‰ค ๐‘ค..

Example1
Polynomials ๐น (๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) and ๐บ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) having an approximate GCD ๐ถ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) = ๐‘ฅ3 + (1 + ๐‘ก2 โˆ’
2๐‘ก1 + ๐‘ก1 2 )๐‘ฅ + 3 are expressed as
              ๐น (๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) = (๐‘ฅ3 + (๐‘ก2 2 + ๐‘ก1 + ๐‘ก1 โˆ’ 2)๐‘ฅ2 โˆ’ 1) ร— ๐ถ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) + ๐‘€๐‘’๐‘๐‘  ,
              ๐บ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) = (๐‘ฅ3 + (2๐‘ก2 2 โˆ’ ๐‘ก1 + 3)๐‘ฅ2 โˆ’ 1) ร— ๐ถ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) + ๐‘€๐‘’๐‘๐‘  ,
where ๐‘€๐‘’๐‘๐‘  is the machine epsilon.
                                                                          (0)
  In this example, ๐‘˜ = 2 is already known (๐พ = 8). Then, one solution of ๐’ฎ1 ๐‘ง = 0 is ๐‘ง = ๐‘Ÿ (0) = ๐‘ฃ 8 ;
                                           โˆ’0.242535625036333
                                     โŽ›                               โŽž
                                     โŽœ     โˆ’0.727606875108999        โŽŸ
                                     โŽœ โˆ’2.24840273230668 ร— 10โˆ’15 โŽŸ
                                     โŽœ                               โŽŸ
                                     โŽœ                               โŽŸ
                        (0)
                                     โŽœ      0.242535625036333        โŽŸ
                       ๐‘Ÿ = ๐‘ฃ8 = โŽœ    โŽœ                               โŽŸ.
                                     โŽœ      0.242535625036333        โŽŸ
                                                                     โŽŸ
                                     โŽœ
                                     โŽœ     โˆ’0.485071250072665        โŽŸ
                                                                     โŽŸ
                                     โŽ โˆ’1.32375311946987 ร— 10โˆ’15 โŽ 
                                           โˆ’0.242535625036333




                                                          101
                                     (1)                   (1)
A candidate of ๐›ฟ๐‘Ÿ (1) |๐›ฟ๐‘ž(1) =0 = ๐›ฟ๐‘                     ห†7 /๐œŽ7 ๐‘ฃ 7 + ๐›ฟ๐‘ž (1) ร— ๐‘ฃ 8 is
                                   ห†1 /๐œŽ1 ๐‘ฃ 1 + . . . + ๐›ฟ๐‘
                                                                                           โŽ›        (1)     โŽž
                                                                                                  ๐›ฟ๐‘”หœ๐‘›โˆ’๐‘˜
                 0.0713340073 ยท ยท ยท ๐‘ก1 + 0.0285336029 ยท ยท ยท ๐‘ก2
         โŽ›                                                               โŽž
                                                                                                    (1)
                                                                                                ๐›ฟ๐‘”หœ๐‘›โˆ’๐‘˜โˆ’1
                                                                                        โŽœ             โŽŸ
                                                                                        โŽœ             โŽŸ
         โŽœ      โˆ’0.0285336029 ยท ยท ยท ๐‘ก1 + 0.0856008088 ยท ยท ยท ๐‘ก2       โŽŸ                  โŽœ             ..
                                                                                                      โŽŸ
         โŽœ 3.65419500 ยท ยท ยท ร— 10โˆ’15 ๐‘ก1 โˆ’ 4.96824803 ยท ยท ยท ร— 10โˆ’15 ๐‘ก2 โŽŸ                                 .
         โŽœ                                                           โŽŸ                  โŽœ             โŽŸ
                                                                                        โŽœ             โŽŸ
         โŽœ                                                           โŽŸ                  โŽœ       (1)   โŽŸ
                โˆ’0.0713340073 ยท ยท ยท ๐‘ก1 โˆ’ 0.0285336029 ยท ยท ยท ๐‘ก2                              ๐›ฟ๐‘”หœ0
๐›ฟ๐‘ง (1) = โŽœ                                                           โŽŸ + ๐›ฟ๐‘ž (1) ยท ๐‘ฃ 8 = โŽœ
         โŽœ                                                           โŽŸ                  โŽœ             โŽŸ
                                                                                                      โŽŸ.
                โˆ’0.0713340073 ยท ยท ยท ๐‘ก1 โˆ’ 0.0285336029 ยท ยท ยท ๐‘ก2                                   (1)
                                                                                        โŽœ โˆ’๐›ฟ๐‘“๐‘šโˆ’๐‘˜ โŽŸ
         โŽœ                                                           โŽŸ                  โŽœ             โŽŸ
         โŽœ                                                           โŽŸ
         โŽœ
         โŽœ      โˆ’0.0998676103 ยท ยท ยท ๐‘ก1 โˆ’ 0.185468419 ยท ยท ยท ๐‘ก2        โŽŸ
                                                                     โŽŸ
                                                                                        โŽœ     (1)
                                                                                        โŽœ โˆ’๐›ฟ๐‘“๐‘šโˆ’๐‘˜โˆ’1
                                                                                                      โŽŸ
                                                                                                      โŽŸ
         โŽ 4.77577504 ยท ยท ยท ร— 10โˆ’16 ๐‘ก1 โˆ’ 1.10469359 ยท ยท ยท ร— 10โˆ’15 ๐‘ก2 โŽ 
                                                                                               ..
                                                                                        โŽœ             โŽŸ
                                                                                                .
                                                                                        โŽœ             โŽŸ
                0.0713340073 ยท ยท ยท ๐‘ก1 + 0.0285336029 ยท ยท ยท ๐‘ก2                           โŽ             โŽ 
                                                                                                  (1)
                                                                                           โˆ’๐›ฟ๐‘“0

Generally, it is difficult to determine ๐›ฟ๐‘ž (1) properly.
   However, assuming that cofactors are also not dense or the approximate GCD is monic, sev-
                                                                                             (1)
eral coefficients will be zero. In this example, assume the 1st element is zero, ๐›ฟ๐‘ž (1) is ๐›ฟ๐‘ž1 =
(0.0713340073636269 ๐‘ก1 + 0.0285336029454512 ๐‘ก2 )/0.242535625036333 and ๐›ฟ๐‘Ÿ (1) becomes

                                           0
                     โŽ›                                            โŽž
                     โŽœ
                     โŽœ            0.242535625036331๐‘ก1             โŽŸ
                                                                  โŽŸ
                     โŽœ
                     โŽœ                     0                      โŽŸ
                                                                  โŽŸ
                     โŽœ
                     โŽœ                     0                      โŽŸ
                                                                  โŽŸ.
                     โŽœ
                     โŽœ                     0                      โŽŸ
                                                                  โŽŸ
                     โŽœ โˆ’0.242535625036331๐‘ก1 โˆ’ 0.242535625036334๐‘ก2 โŽŸ
                     โŽœ                                            โŽŸ
                     โŽ                     0                      โŽ 
                                           0

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 efficient because it can extract each undetermined
coefficient at each lifting step. So that, โ€œcheck zerosโ€ is very efficiency.
    If the coefficients 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 .


                           ๐‘“หœ ๐‘šโˆ’๐‘˜
                         โŽ›                       โŽž
                               ..
                                                    โŽ›      โŽž โŽ›      โŽž
                                      ..               ๐‘๐‘˜        ๐‘“๐‘š
                                .        .
                         โŽœ                        โŽŸ
                                                  โŽŸ โŽœ ๐‘๐‘˜โˆ’1 โŽŸ
                                                           โŽŸ โŽœ ๐‘“๐‘šโˆ’1 โŽŸ
                         โŽœ                        โŽŸโŽœ           โŽœ    โŽŸ
                         โŽœ ๐‘“หœ              หœ
                         โŽœ
                                 0         ๐‘“ ๐‘šโˆ’๐‘˜ โŽŸ      .    =
                                                  โŽŸโŽ . โŽ  โŽ . โŽŸ    .
                                                        .         . โŽ 
                                                    โŽœ      โŽŸ   โŽœ
                                      ..       ..
                         โŽœ
                                         .      .
                         โŽœ                        โŽŸ
                                                       ๐‘0        ๐‘“0
                         โŽ                        โŽ 
                                             ๐‘“หœ
                                             0

This linear equation is solve as following step.
              (0)
   1. Solve ๐’ž๐‘š+1,๐‘˜+1 (๐น หœ ) ยท ๐‘(0) = ๐น (0) . Actually, we utilize the SVD as in the former case.
                            (0)       หœ ) ยท ๐›ฟ๐‘(๐‘ค) = ๐›ฟ๐น (๐‘ค) โˆ’ โˆ‘๏ธ€ ๐ถ (๐‘–)
   2. Lifting step: solve ๐’ž๐‘š+1,๐‘˜+1 (๐น                                          หœ
                                                                   ๐‘– ๐‘š+1,๐‘˜+1 (๐น ) ร— ๐›ฟ๐‘
                                                                                       (๐‘คโˆ’๐‘–) . This step can

      also be solved using SVD.
   3. Return ๐‘๐‘˜ ๐‘ฅ๐‘˜ + ยท ยท ยท + ๐‘0 as an approximate GCD.




                                                     102
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].

Example 2 (initial factors have approximate common factor)
Compute the approximate GCD of ๐น and ๐บ, where both polynomials are monic.

       ๐น (๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) = (๐‘ฅ3 + (๐‘ก2 2 + ๐‘ก1 + ๐‘ก2 โˆ’ 2)๐‘ฅ2 โˆ’ 1)(๐‘ฅ โˆ’ 1.0003 + 2๐‘ก2 โˆ’ ๐‘ก1 2 )๐ถ + ๐‘€๐‘’๐‘๐‘  ,
       ๐บ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) = (๐‘ฅ3 + (2๐‘ก2 2 โˆ’ ๐‘ก1 + 3)๐‘ฅ2 โˆ’ 1)(๐‘ฅ โˆ’ 1.0005 + ๐‘ก1 + ๐‘ก2 + ๐‘ก1 ๐‘ก2 )๐ถ + ๐‘€๐‘’๐‘๐‘  ,
       ๐ถ(๐‘ฅ, ๐‘ก1 , ๐‘ก2 ) = ๐‘ฅ3 + (1 + ๐‘ก2 โˆ’ 2๐‘ก1 + ๐‘ก1 2 )๐‘ฅ + 3.

Initial factors ๐น (0) and ๐บ(0) have an approximate common factor (๐‘ฅ โˆ’ 1.0002) with tolerance ๐‘‚(10โˆ’5 ).
                     (0)
Sigular values of ๐’ฎ3 (๐น, ๐บ) are 19.8 > 18.3 > 14.5 > 12.8 > 8.2 > 4.4 > 1.1 > 0.6 โ‰ซ 1.5ร—10โˆ’5 โ‰ซ
1.1ร—10โˆ’16 . Because give polynomials are monic, the leading coefficient of cofactors and the approximate
GCD are also monic, respectively.
   When ๐‘ค = 1, Adjusting the 1st element of ๐›ฟ๐‘Ÿ (1) by ๐‘ง ๐พ only, we obtained the following.

                                             0.
                   โŽ›                                                        โŽž
               โŽœ
               โŽœ    โˆ’7.25814180424500 ร— 10โˆ’8 ๐‘ก1 + 0.176741414005228๐‘ก2       โŽŸ
                                                                            โŽŸ
               โŽœ        0.707053518826616๐‘ก1 + 0.530224242015704๐‘ก2           โŽŸ
               โŽœ โˆ’6.96526170074208 ร— 10โˆ’14 ๐‘ก1 + 6.29774010718620 ร— 10โˆ’14 ๐‘ก2 โŽŸ
               โŽœ                                                            โŽŸ
               โŽœ                                                            โŽŸ
           (1)
               โŽœ       โˆ’0.176741268890038๐‘ก1 โˆ’ 0.176741414005196๐‘ก2           โŽŸ
         ๐›ฟ๐‘Ÿ = โŽœโŽœ
                                      โˆ’15                           โˆ’16
                                                                            โŽŸ
               โŽœ 1.42941214420489 ร— 10 ๐‘ก1 + 6.38378239159465 ร— 10 ๐‘ก2 โŽŸ
                                                                            โŽŸ
               โŽœ
               โŽœ       โˆ’0.176741268889989๐‘ก1 โˆ’ 0.530224096948041๐‘ก2           โŽŸ
                                                                            โŽŸ
               โŽœ
               โŽœ        0.176794218725546๐‘ก 1 +  0.883759874841642๐‘ก2
                                                                            โŽŸ
                                                                            โŽŸ
                                       โˆ’14
               โŽ โˆ’1.18932641512970 ร— 10 ๐‘ก โˆ’ 7.57727214306669 ร— 10 ๐‘ก โŽ โˆ’15
                                                    1                                 2
                         โˆ’7.25814328778052 ร— 10โˆ’8 ๐‘ก1 + 0.353482755476628๐‘ก2

                      หœ (1) ๐บ(1) โˆ’ ๐น
The perturbation is ||๐น            หœ (1) ๐บ(1) || โ‰ˆ ๐‘‚(10โˆ’8 ) โ‰ˆ ๐œŽ๐พ /๐œŽ๐พโˆ’1 . On the other hand, by adjusting
๐‘ง ๐พโˆ’1 , we obtained the following, It can be confirmed that the solution is not accurate; ||๐นหœ (1) ๐บ(1) โˆ’
หœ (1) ๐บ(1) || โ‰ˆ ๐œŽ๐พ .
๐น

                                             0.
              โŽ›                                                          โŽž
              โŽœ
              โŽœ       โˆ’0.1988511825793107๐‘ก1 โˆ’ 0.14357803747786974๐‘ก2      โŽŸ
                                                                         โŽŸ
              โŽœ
              โŽœ       0.11055165805122452๐‘ก 1 โˆ’  0.43065120320683287๐‘ก2    โŽŸ
                                                                         โŽŸ
              โŽœ
              โŽœ    0.0002976768351589665๐‘ก 1  + 0.00047951294108034004๐‘ก 2 โŽŸ
                                                                         โŽŸ
              โŽœ      0.022318043342197766๐‘ก1 + 0.14391342019466513๐‘ก2      โŽŸ
                                        โˆ’5
              โŽœ                                                          โŽŸ
              โŽœ โˆ’0.7183155936049679 ร— 10 ๐‘ก1 โˆ’ 0.000011570991832604571๐‘ก2 โŽŸ
              โŽœ                                                          โŽŸ
              โŽœ
              โŽœ       0.02212670015656562๐‘ก 1 โˆ’  0.20987748805445672๐‘ก2
                                                                         โŽŸ
                                                                         โŽŸ
              โŽœ
              โŽœ       โˆ’0.22096310056080598๐‘ก1 + 0.243032215144183๐‘ก2       โŽŸ
                                                                         โŽŸ
              โŽ   0.00007010876634662433๐‘ก1 + 0.00011293475597320968๐‘ก2    โŽ 
                     โˆ’0.19880976332099576๐‘ก1 + 0.03323002423516758๐‘ก2

  When ๐‘ค = 2, by lifting step and adjusting the 1st element of ๐›ฟ๐‘Ÿ (2) by ๐‘ง ๐พ , we obtained the following




                                                  103
vector.
                                              0.
โŽ›                                                                                                 โŽž
โŽœ     0.353120013467623๐‘ก2 2 + 0.177466845429488๐‘ก1 ๐‘ก2 โˆ’ 0.000362979823316206๐‘ก1 2                   โŽŸ
โŽœ
โŽœ                                2
       โˆ’0.354747432749536๐‘ก2 + 0.355659122269873๐‘ก1 ๐‘ก2 โˆ’ 0.177830208344029๐‘ก1               2        โŽŸ
                                                                                                  โŽŸ
                       โˆ’13   2                         โˆ’12                              โˆ’12   2
โŽœ                                                                                                 โŽŸ
โŽœ 8.84819995 ยท ยท ยท ร— 10 ๐‘ก2 โˆ’ 4.59634934 ยท ยท ยท ร— 10 ๐‘ก1 ๐‘ก2 + 1.03052288 ยท ยท ยท ร— 10 ๐‘ก1 โŽŸ
                                2 โˆ’ 0.177466845422696๐‘ก ๐‘ก + 0.000362979818887450๐‘ก 2
โŽœ                                                                                                 โŽŸ
โŽœ
โŽœ   0.000362669479650586๐‘ก     2                          1  2                              1      โŽŸ
                                                                                                  โŽŸ
โŽœ โˆ’9.08967345 ยท ยท ยท ร— 10โˆ’13 ๐‘ก2 2 โˆ’ 3.63698827 ยท ยท ยท ร— 10โˆ’12 ๐‘ก1 ๐‘ก2 โˆ’ 1.36436695 ยท ยท ยท ร— 10โˆ’12 ๐‘ก1 2 โŽŸ
โŽœ                                                                                                 โŽŸ
โŽœ
โŽœ    โˆ’0.176378671991595๐‘ก2 2 โˆ’ 0.000725503949587463๐‘ก1 ๐‘ก2 + 0.177104321289445๐‘ก1 2                   โŽŸ
                                                                                                  โŽŸ
โŽœ                                2
       โˆ’0.177413730546595๐‘ก2 โˆ’ 0.352031674994445๐‘ก1 ๐‘ก2 โˆ’ 0.354208569999507๐‘ก1               2        โŽŸ
โŽœ                                                                                                 โŽŸ
โŽ โˆ’9.15635622 ยท ยท ยท ร— 10โˆ’13 ๐‘ก 2 + 2.71640175 ยท ยท ยท ร— 10โˆ’12 ๐‘ก ๐‘ก โˆ’ 1.68760838 ยท ยท ยท ร— 10โˆ’13 ๐‘ก 2 โŽ 
                                2                               1 2                             1
     โˆ’0.000362669478412958๐‘ก2 2 + 0.000725503952765407๐‘ก1 ๐‘ก2 โˆ’ 0.177104321291319๐‘ก1 2

                                                                                 (0)
Adjusting only ๐‘ฃ ๐พ is not accurate. Therefore, adjusting ๐‘ฃ ๐พ and ๐‘ฃ ๐พโˆ’1 in ker ๐’ฎ๐‘˜ we have the following,
                                                                                หœ (2) ๐บ(2) โˆ’ ๐น
and it obtains the expected solution one . In this case, perturbation becomes ||๐น            หœ (2) ๐บ(2) || โ‰ˆ
๐œŽ๐พ , it is better.
  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 efficient than existing methods.


References
 [1] R. Corless, P. Gianni, B. Trager and S. Watt, The singular value decomposition for polynomial systems,
     Proc. of ISSACโ€™95, ACM Press, 1995, 195โ€“207.
 [2] S. Gao, E. Kaltofen, J. P. May, Z. Yang and L. Zhi, Approximate factorization of multivariate
     polynomials via differential equations, Proc. of ISSACโ€™04, ACM Press, 2004, 167โ€“174.
 [3] M. Ochi, M-T. Noda and T. Sasaki, Approximate greatest common divisor of multivariate polynomials
     and its application to ill-conditioned systems of algebraic equations, J. Inform. Proces., 14 (1991),
     292โ€“300.
 [4] M. Sanuki. Computing multivariate approximate GCD based on Barnettโ€™s theorem, Proc. of Symbolic-
     Numeric Computation 2009 (SNC 2009), 2009, 149โ€“157.
 [5] M. Sanuki and T. Sasaki, Computing approximate GCDs in ill-conditioned cases, International
     Workshop of Symbolic-Numeric Computation 2007 (SNC2007), ACM Press, 2007, 170-179, 25โ€“27.
 [6] T. Sasaki and S. Yamaguchi, An analysis of cancellation error in multivariate Hensel construction
     with floating-point number arithmetic, Proc. of ISSACโ€™98, ACM Press, 1998, 1โ€“8.
 [7] Z. Zeng and B. H. Dayton, The approximate GCD of inexact polynomials part II: A multivariate
     algorithm, Proc. of ISSACโ€™04, ACM Press, 2004, 320โ€“327.
 [8] L. Zhi and M-T. Noda, Approximate GCD of Multivariate Polynomials, Proc. of ASCM2000, World
     Scientific, 2000, 9โ€“18.




                                                    104