{VERSION 6 0 "Windows XP" "6.0" } {USTYLETAB {PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Or dered List 5" -1 200 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 144 2 0 2 2 -1 1 }{PSTYLE "Ordered List 1" -1 201 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Le ft Justified Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Help" -1 10 1 {CSTYLE "" -1 -1 "Courier" 1 9 0 0 255 1 2 2 2 2 2 1 1 0 0 1 } 1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Diagnostic" -1 9 1 {CSTYLE "" -1 -1 "Courier" 1 10 64 128 64 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "H eading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle1" -1 202 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Ordered List 3" -1 203 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 72 2 0 2 2 -1 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Annotation Title" -1 204 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Dash Item" -1 16 1 {CSTYLE "" -1 -1 "Tim es" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 } {PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Ordered List 4" -1 205 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 108 2 0 2 2 -1 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Lin e Printed Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 12 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Fixed Width" -1 17 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Head ing 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle4" -1 206 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Ordere d List 2" -1 207 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 36 2 0 2 2 -1 1 }{CSTYLE "2D Math Italic Small20 1205" -1 200 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Va riable" -1 25 "Courier" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Tex t" -1 201 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Bold " -1 39 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Page Number " -1 33 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Ita lic Small" -1 202 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "He lp Nonterminal" -1 24 "Courier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "Default" -1 38 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "_cstyle4" -1 203 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "Maple Comment" -1 21 "Courier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small202207" -1 204 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Input" -1 0 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "2D Math Small" -1 7 "Times" 1 1 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Inert Output" -1 205 "Times" 1 12 144 144 144 1 2 2 2 2 1 2 0 0 0 1 }{CSTYLE "Help Fixed" -1 23 "Courier " 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small20220 5207" -1 206 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Popup" -1 31 "Times" 1 12 0 128 128 1 1 2 1 2 2 2 0 0 0 1 }{CSTYLE "Plot Titl e" -1 27 "Times" 1 10 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 1 12 255 0 0 1 2 2 2 2 1 2 0 0 0 1 }{CSTYLE "Copyright" -1 34 "Times" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Input P laceholder" -1 207 "Courier" 1 12 200 0 200 1 2 1 2 2 1 2 0 0 0 1 } {CSTYLE "2D Math Bold Small" -1 10 "Times" 1 1 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small202" -1 208 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Annotation Text" -1 209 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Notes" -1 37 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined Bold" -1 41 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "Times" 1 12 0 128 128 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "2D Math Symbol 2" -1 16 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Equation Label" -1 210 "Cour ier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small20 1204" -1 211 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small202205" -1 212 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 } {CSTYLE "Plot Text" -1 28 "Times" 1 8 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "2D Math Italic Small202206" -1 213 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small201" -1 214 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle1" -1 215 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "Help Italic" -1 42 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Heading" -1 26 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Output Labels" -1 29 "Times" 1 8 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Normal" -1 30 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Comment" -1 18 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Maple Name" -1 35 "Time s" 1 12 104 64 92 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Ti mes" 1 12 0 0 255 1 2 2 2 2 2 1 0 0 0 1 }{CSTYLE "Dictionary Hyperlink " -1 45 "Times" 1 12 147 0 15 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "Help Emp hasized" -1 22 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Italic Bold" -1 40 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "LaTeX" -1 32 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help \+ Menus" -1 36 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Prompt " -1 1 "Courier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Under lined" -1 44 "Times" 1 12 0 0 0 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "Help U nderlined Italic" -1 43 "Times" 1 12 0 0 0 1 1 2 1 2 2 2 0 0 0 1 } {CSTYLE "2D Math Bold" -1 5 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "2D Math Italic" -1 3 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }} {SECT 0 {EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 66 "# Worksheet to \+ execute the examples in Kaltofen, May, Yang, & Zhi:" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 67 "# 'Approximate Facto rization of Multivariate Polynomials Using SVD'" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }}}{EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 8 "restart;" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 25 "# Factorization routines:" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 32 "read(\"../Src/mult ifac_1.6.mpl\"):" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" } {MPLTEXT 1 215 35 "# Set path to example subdirectory:" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 19 "path:=\"examples \\/\":" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 55 "# rand_path:=\"debug_exs\\/\": # debugging the spreadsheet" } {MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 43 "rand_pa th:=path: # random examples in paper" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 37 "# Factorizatio n improvement routines:" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" } {MPLTEXT 1 215 46 "read(\"../Src/improve_factorization-3var.mpl\"):" } {MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 1 "\n" } {MPLTEXT 1 215 20 "infolevel[imfac]:=1;" }{MPLTEXT 1 215 0 "" } {MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 30 "Digits:=floor(evalhf(Digits) );" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "\"#9" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 44 "# A note about backward_error(F, G, [vars]):" } {MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 99 "# We co mpute c so that ||F-c*G||_2 is as small as possible. The output is || F - c*G||_2 / ||F||_2." }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }} }{EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 14 "# Example 15a:" } {MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 33 "read(ca t(rand_path,\"exF15aK2K\")):" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 " \n" }{MPLTEXT 1 215 46 "F15a := expand(evalf(cleanF15a + noiseF15a));: " }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 48 "norm (evalf(noiseF15a),2) / norm(expand(F15a),2);" }{MPLTEXT 1 215 0 "" } {MPLTEXT 1 215 1 "\n" }{MPLTEXT 1 215 15 "ceil(log10(%));" }{MPLTEXT 1 215 0 "" }{MPLTEXT 1 215 1 "\n" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I%F 15aG6\",6*&$\"#\")\"\"!\"\"\")I\"xGF$\"\"%F*F**&$\"#;F)F*)I\"yGF$F-F*F **&$\"/++++.!['!#6F*)I\"zGF$F-F*!\"\"*($\"#sF)F*)F,\"\"#F*)F2F>F*F**&$ \"$['F)F*F=F*F9*&$\"$)GF)F*F?F*F9$\"%'H\"F)F**($\"/++++++?!#;F*F=F*)F8 F>F*F**($\"/++++++5FKF*F?F*FLF*F**&$\"/++++++qFKF*FLF*F9" }}{PARA 11 " " 1 "" {XPPMATH 20 "$\"/EWpi#*3\\!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 " !\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "f0:=F15a:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "ord:=[x,y,z]:" }}}{EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 29 "vars:=mainvariable(F15a,ord):" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 47 " # First, we construct the Ru ppert matrix. " }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 9 " g:=0:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 19 " tf:=degree(f0):" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 1 " " }{MPLTEXT 1 215 0 "" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 11 " S1:=[]:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 32 " for j from 1 to nops(ord) do" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 38 " S1:=[op(S1),degree(f0,vars[j])];" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 11 " end do:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 103 " #construct polynomial g[i] satisfies degree (g[i],ord[i])<=degree(f,ord[i])-1 and deg(g[i]) < deg(f);" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 13 " eqns:=\{\}:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 33 " for i from 1 to nops(vars) do" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 26 " Q[i]:=subtvec(S1,i);" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 26 " P[i]:=vecc(Q[i],tf);" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 14 " g[i]:=0;" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 28 " V:=Vector(nops(P[i]));" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 53 " for jj from 1 to LinearAlgebra:-Dimension(V) do" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 23 " V[jj]:=a[i,jj];" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 13 " end do:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 28 " pp:=convert(V,list):" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 36 " for kk from 1 to nops(pp) do" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 49 " g[i]:=g[i]+pp[kk]*vec mo(P[i][kk],vars);" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 15 " e nd do:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 30 " eqns:=[op(eqn s),g[i]]:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 11 " end do:" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 20 " EQ:=\{\}:VARS:=\{\}:" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 33 " for i from 2 to nops(vars) \+ do" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 116 " PP[i]:=evalf(expan d(g[i]*diff(f0,vars[1])-f0*diff(g[i],vars[1])+f0*diff(g[1],vars[i])-g[ 1]*diff(f0,vars[i]))):" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 40 " \+ EQ:= EQ union \{coeffs(PP[i],ord)\}:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 60 " VARS:= VARS union \{op(indets(PP[i]))\} minus \{op(ord )\};" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 11 " end do:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 22 " var:=[op(VARS)]:" }}{PARA 202 " > " 0 "" {MPLTEXT 1 215 3 " " }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 38 " # construct the Ruppert matrix A" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 42 " lineqs:=['EQ[i]=0' $ 'i'=1..nops(EQ)]:" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 51 " A,b:=LinearAlgebra[Generate Matrix](lineqs,var):" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 0 "" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 67 " SS, VVt := LinearAlgebra[Si ngularValues](A, output=['S','Vt']):" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 49 "# we decide the number of the irreducible factors" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " dimR:= LinearAlgebra[RowDim ension](VVt):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " ddd:=convert(S S,list):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " nd:=1:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 45 " dimC:=LinearAlgebra[ColumnDimension](A): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " # to ensure dimension(ddd )=dimC " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 80 " ddd[LinearAlgebra[C olumnDimension](A)-5..LinearAlgebra[ColumnDimension](A)]; " }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " # compute the bigge st gap in the singular values" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " \+ rats := seq(ddd[i]/ddd[i+1], i=(dimC-degree(f0))..dimC-2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " member(max(rats), [rats], 'nd'):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " userinfo(1,appfac,print(`max(ra ts)`, max(rats)));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 " " } {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " nd := nops( [rats])+2 - nd:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "7($\"3y6q7)yEU;'!#:$\"3WoEgnY'p9'F%$\"33S8))3[h')>F%$ \"3m+[2?G`_9F%$\"3sj#)pFb\\y')!#G$\"3/1hF5IF3V!#I" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 21 "# the biggest gap is:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "145.253282007480066/0.86784955276983e-10;" }} {PARA 11 "" 1 "" {XPPMATH 20 "$\"/Jv1]rt;!\"\"" }}}{EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 0 "" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 56 "# compute the basis GG of the null space of the matrix A." }}{PARA 202 " > " 0 "" {MPLTEXT 1 215 13 " GG:=[]:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 27 " for i from 1 to nd do" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 52 " # vv[i]:=LinearAlgebra[Row](VVt, dimR-nd+i) ;" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 88 " vv[i]:=LinearAlgeb ra[Column](LinearAlgebra:-HermitianTranspose(VVt), dimR-nd+i):" }} {PARA 202 "> " 0 "" {MPLTEXT 1 215 20 " gg[i]:=g[1]:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 37 " for j from 1 to nops(var) do " }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 46 " gg[i]:=subs(var[j ]=vv[i][j], gg[i]);" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 11 " \+ od:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 46 " GG:=[op(GG),cut off(gg[i],[x,y,z],8)]:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 9 " \+ od:" }}{PARA 202 "> " 0 "" {MPLTEXT 1 215 13 "GG[1];GG[2];\n" }}{PARA 11 "" 1 "" {XPPMATH 20 ",**&$\"3i6)**zT!zig!#@\"\"\"I\"xG6\"F'!\"\"*($ \"3PZ2w?fVKn!#AF'F(F')I\"yGF)\"\"#F'F'*($\"3&y,!)*)os:L#!#=F'F(F')I\"z GF)F1F'F'*&$\"30adLVyC::F&F')F(\"\"$F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 ",**&$\"3U\"R%4IQ(*[V!#=\"\"\"I\"xG6\"F'!\"\"*($\"3!y#R5]J>K[!#>F'F (F')I\"yGF)\"\"#F'F'*($\"3oxO(*Qe.EK!#@F'F(F')I\"zGF)F1F'F**&$\"3g\" \\[\"eMC(3\"F&F')F(\"\"$F'F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "# we compute the eigenvalues." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "# Because the solution of the null space is not un ique. #There are not different but sign. Hence, gg:=GG[1]+GG[2] or " } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "# gg:=GG[1]-GG[2]:" }}} {EXCHG {PARA 202 "> " 0 "" {MPLTEXT 1 215 16 "gg:=GG[1]+GG[2]:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "fx:=diff(f0,x):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " fx1:=expand(subs(\{y=2,z=-1\},exp and(fx))):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "f1:=expand(su bs(\{y=2,z=-1\},expand(f0))):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "c:=[seq(ccc[i],i=1..nd)]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " M1:=[]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " \+ #compute the characteristic polynomial Eg " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " for i from 1 to 2 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " tt:= subs(\{y=2,z=-1\},expand(GG[i]*gg ));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " tq:=polydiv(tt ,f1,x):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " tt:=expand (tt-tq*f1):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " for j \+ from 1 to 2 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 " \+ t[j]:=subs(\{y=2,z=-1\}, expand(GG[j]*fx1));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " tq:=polydiv(t[j],f1,x);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " t[j]:=expand(t[j]-tq*f1);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " od;\n" }{MPLTEXT 1 0 11 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " \+ rp:=expand( tt-expand(c[1]*t[1]+c[2]*t[2])):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " coefs:=[coeffs(rp,x)]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " E:=\{\}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " for l from 1 to nops(coefs) do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 " # We get all the \+ coefficients including var" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " \+ if degree(coefs[l])>0 then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " E:=\{op(E), coefs[l]=0\}; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 85 " v[i]:=subs(LinearAlgebra[LeastSquares](E,\{op( c)\}),c): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " \+ M1:=[op(M1),v[i]]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " \+ od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " M:=co nvert(M1,Matrix);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " \+ rq:=LinearAlgebra[Eigenvalues](M,output=list);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "-I%mrowG6#/I+modulen ameG6\"I,TypesettingGI(_syslibGF'6%-I#miGF$6%Q\"MF'/%'italicGQ%trueF'/ %,mathvariantGQ'italicF'-I#moGF$60Q#:=F'/F3Q'normalF'/%&fenceGQ&falseF '/%*separatorGF=/%)stretchyGF=/%*symmetricGF=/%(largeopGF=/%.movableli mitsGF=/%'accentGF=/%%formGQ&infixF'/%'lspaceGQ/thickmathspaceF'/%'rsp aceGFO/%(minsizeGQ\"1F'/%(maxsizeGQ)infinityF'-I(mfencedGF$6(-F#6#-I'm tableGF$66-I$mtrGF$6'-I$mtdGF$6(-I#mnGF$6$Q80.000336771297228171146F'F 9/%)rowalignGQ!F'/%,columnalignGFfo/%+groupalignGFfo/%(rowspanGQ\"1F'/ %+columnspanGF]p-F^o6(-Fao6$Q80.000192631794187621964F'F9FdoFgoFioF[pF ^pFdoFgoFio-F[o6'-F^o6(-Fao6$Q80.000335101712409920150F'F9FdoFgoFioF[p F^p-F^o6(-Fao6$Q80.000335301978075380758F'F9FdoFgoFioF[pF^pFdoFgoFio/% &alignGQ%axisF'/FeoQ)baselineF'/FhoQ'centerF'/FjoQ'|frleft|hrF'/%/alig nmentscopeGF1/%,columnwidthGQ%autoF'/%&widthGF^r/%+rowspacingGQ&1.0exF '/%.columnspacingGQ&0.8emF'/%)rowlinesGQ%noneF'/%,columnlinesGFir/%&fr ameGFir/%-framespacingGQ,0.4em~0.5exF'/%*equalrowsGF=/%-equalcolumnsGF =/%-displaystyleGF=/%%sideGQ&rightF'/%0minlabelspacingGFfrF9/I+msemant icsGF$Q'MatrixF'/%%openGQ\"[F'/%&closeGQ\"]F'F\\t" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I#rqG6\"7$,&$\"3p@j![oq5!f!#@\"\"\"*&$\"\"!F-F*^#F*F*F*, &$\"3It>H#o?m>)!#AF*F+F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "ff1:=cutoff(multigcd(f0 ,gg-expand(rq[1]*fx),[x,y,z],8)[2],[x,y,z],10);" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I$ff1G6\",*$\"/cMf0RE;!#5!\"\"*&$\"3%=f&y;'yf1%!#:\"\"\" )I\"xGF$\"\"#F.F.*&$\"3#)faU$f-r!=F-F.)I\"yGF$F1F.F.*&$\"3?r!GK1I+:\"! #9F.)I\"zGF$F1F.F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "ff2:= cutoff(multigcd(f0,gg-expand(rq[2]*fx),[x,y,z],8)[2],[x,y,z],10);" }} {PARA 11 "" 1 "" {XPPMATH 20 ">I$ff2G6\",*$\"/7N8nQE;!#5!\"\"*&$\"3i)* Q'\\ckf1%!#:\"\"\")I\"xGF$\"\"#F.F.*&$\"3(R^WiP%42=F-F.)I\"yGF$F1F.F.* &$\"3S1$*>Gh.]6!#9F.)I\"zGF$F1F.F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "c:=backward_error(f0, convert([ff1,ff2], `*`), [x,y,z ])[1];" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I\"cG6\"$\"/L8P;b**[!#<" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "C_ff1:=sqrt(c)*ff1;" }} {PARA 11 "" 1 "" {XPPMATH 20 ">I&C_ff1G6\",*$\"/QacU++O!#7!\"\"*&$\"/0 #=b:++*!#8\"\"\")I\"xGF$\"\"#F.F.*&$\"/uM%44++%F-F.)I\"yGF$F1F.F.*&$\" /JW#f$eXDF(F.)I\"zGF$F1F.F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "C_ff2:=sqrt(c)*ff2;" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I&C_ff2G6\", *$\"/=YVd***f$!#7!\"\"*&$\"/.@[W)****)!#8\"\"\")I\"xGF$\"\"#F.F.*&$\"/ Tn04****RF-F.)I\"yGF$F1F.F.*&$\"/\\@ " 0 "" {MPLTEXT 1 0 51 "error_3_5:=norm(f0-expand(c* ff1*ff2),2)/norm(f0,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I*error_3_5G 6\"$\"/^:$4#osY!#E" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "# We \+ apply Newton-Guass iteration and find an improved factorization." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "Digits:=floor(evalhf(Digits) );" }}{PARA 11 "" 1 "" {XPPMATH 20 ">I'DigitsG6\"\"#9" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "i:='i':" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "facF_section_3_5:=improve_factorization(F15a,[ff1,ff 2],[x,y,z]):" }}{PARA 6 "" 1 "" {TEXT 216 22 "improve_factorization:" }}{PARA 11 "" 1 "" {XPPMATH 20 "/I*org_errorG6\"$\"/^:$4#osY!#E" }} {PARA 6 "" 1 "" {TEXT 216 22 "improve_factorization:" }}{PARA 11 "" 1 "" {XPPMATH 20 "/I&itersG6\"\"\"#" }}{PARA 6 "" 1 "" {TEXT 216 22 "imp rove_factorization:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$/I*new_errorG6 \"$\"/l\"3P " 0 "" {MPLTEXT 1 0 98 "facF_section_3_5:=[cutoff(facF_section_3_5 [1],[x,y,z],12),cutoff(facF_section_3_5[2],[x,y,z],12)];" }}{PARA 11 " " 1 "" {XPPMATH 20 ">I1facF_section_3_5G6\"7$,*$\"/PacU++O!#7!\"\"*&$ \"/u\"=b:++*!#8\"\"\")I\"xGF$\"\"#F/F/*&$\"/ZM%44++%F.F/)I\"yGF$F2F/F/ *&$\"/SW#f$eXDF)F/)I\"zGF$F2F/F*,*$\"/9YVd***f$F)F**&$\"/q?[W)****)F.F /F0F/F/*&$\"/9n04****RF.F/F6F/F/*&$\"/j@ " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 15 10 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }