summaryrefslogtreecommitdiff
path: root/modules/polynomials
diff options
context:
space:
mode:
Diffstat (limited to 'modules/polynomials')
-rwxr-xr-xmodules/polynomials/.libs/libscipolynomials-algo.abin0 -> 487796 bytes
l---------modules/polynomials/.libs/libscipolynomials-algo.la1
-rwxr-xr-xmodules/polynomials/.libs/libscipolynomials.abin0 -> 1114064 bytes
l---------modules/polynomials/.libs/libscipolynomials.la1
-rwxr-xr-xmodules/polynomials/Makefile1829
-rwxr-xr-xmodules/polynomials/Makefile.am147
-rwxr-xr-xmodules/polynomials/Makefile.in1829
-rwxr-xr-xmodules/polynomials/demos/intro/poly.intro.dem.sce100
-rwxr-xr-xmodules/polynomials/demos/polynomials.dem.gateway.sce19
-rwxr-xr-xmodules/polynomials/etc/polynomials.quit10
-rwxr-xr-xmodules/polynomials/etc/polynomials.start19
-rwxr-xr-xmodules/polynomials/help/en_US/addchapter.sce11
-rwxr-xr-xmodules/polynomials/help/en_US/bezout.xml121
-rwxr-xr-xmodules/polynomials/help/en_US/chepol.xml50
-rwxr-xr-xmodules/polynomials/help/en_US/cmndred.xml58
-rwxr-xr-xmodules/polynomials/help/en_US/coeff.xml90
-rwxr-xr-xmodules/polynomials/help/en_US/coffg.xml78
-rwxr-xr-xmodules/polynomials/help/en_US/colcompr.xml78
-rwxr-xr-xmodules/polynomials/help/en_US/degree.xml71
-rwxr-xr-xmodules/polynomials/help/en_US/denom.xml73
-rwxr-xr-xmodules/polynomials/help/en_US/derivat.xml72
-rwxr-xr-xmodules/polynomials/help/en_US/determ.xml81
-rwxr-xr-xmodules/polynomials/help/en_US/detr.xml74
-rwxr-xr-xmodules/polynomials/help/en_US/diophant.xml72
-rwxr-xr-xmodules/polynomials/help/en_US/factors.xml126
-rwxr-xr-xmodules/polynomials/help/en_US/hermit.xml80
-rwxr-xr-xmodules/polynomials/help/en_US/horner.xml94
-rwxr-xr-xmodules/polynomials/help/en_US/hrmt.xml74
-rwxr-xr-xmodules/polynomials/help/en_US/htrianr.xml91
-rwxr-xr-xmodules/polynomials/help/en_US/inv_coeff.xml72
-rwxr-xr-xmodules/polynomials/help/en_US/invr.xml69
-rwxr-xr-xmodules/polynomials/help/en_US/lcmdiag.xml90
-rwxr-xr-xmodules/polynomials/help/en_US/ldiv.xml77
-rwxr-xr-xmodules/polynomials/help/en_US/numer.xml68
-rwxr-xr-xmodules/polynomials/help/en_US/pdiv.xml79
-rwxr-xr-xmodules/polynomials/help/en_US/pol2str.xml88
-rwxr-xr-xmodules/polynomials/help/en_US/polfact.xml88
-rwxr-xr-xmodules/polynomials/help/en_US/poly.xml136
-rwxr-xr-xmodules/polynomials/help/en_US/rational.xml48
-rwxr-xr-xmodules/polynomials/help/en_US/residu.xml84
-rwxr-xr-xmodules/polynomials/help/en_US/roots.xml178
-rwxr-xr-xmodules/polynomials/help/en_US/rowcompr.xml78
-rwxr-xr-xmodules/polynomials/help/en_US/sfact.xml94
-rwxr-xr-xmodules/polynomials/help/en_US/simp.xml110
-rwxr-xr-xmodules/polynomials/help/en_US/simp_mode.xml71
-rwxr-xr-xmodules/polynomials/help/en_US/sylm.xml78
-rwxr-xr-xmodules/polynomials/help/en_US/systmat.xml73
-rwxr-xr-xmodules/polynomials/help/en_US/varn.xml92
-rwxr-xr-xmodules/polynomials/help/fr_FR/addchapter.sce11
-rwxr-xr-xmodules/polynomials/help/fr_FR/bezout.xml95
-rwxr-xr-xmodules/polynomials/help/fr_FR/cmndred.xml47
-rwxr-xr-xmodules/polynomials/help/fr_FR/coeff.xml83
-rwxr-xr-xmodules/polynomials/help/fr_FR/coffg.xml67
-rwxr-xr-xmodules/polynomials/help/fr_FR/colcompr.xml69
-rwxr-xr-xmodules/polynomials/help/fr_FR/degree.xml62
-rwxr-xr-xmodules/polynomials/help/fr_FR/denom.xml67
-rwxr-xr-xmodules/polynomials/help/fr_FR/derivat.xml57
-rwxr-xr-xmodules/polynomials/help/fr_FR/determ.xml74
-rwxr-xr-xmodules/polynomials/help/fr_FR/detr.xml64
-rwxr-xr-xmodules/polynomials/help/fr_FR/diophant.xml60
-rwxr-xr-xmodules/polynomials/help/fr_FR/factors.xml115
-rwxr-xr-xmodules/polynomials/help/fr_FR/hermit.xml72
-rwxr-xr-xmodules/polynomials/help/fr_FR/horner.xml84
-rwxr-xr-xmodules/polynomials/help/fr_FR/hrmt.xml64
-rwxr-xr-xmodules/polynomials/help/fr_FR/htrianr.xml83
-rwxr-xr-xmodules/polynomials/help/fr_FR/inv_coeff.xml72
-rwxr-xr-xmodules/polynomials/help/fr_FR/invr.xml60
-rwxr-xr-xmodules/polynomials/help/fr_FR/lcmdiag.xml82
-rwxr-xr-xmodules/polynomials/help/fr_FR/ldiv.xml68
-rwxr-xr-xmodules/polynomials/help/fr_FR/numer.xml58
-rwxr-xr-xmodules/polynomials/help/fr_FR/pdiv.xml71
-rwxr-xr-xmodules/polynomials/help/fr_FR/pol2str.xml90
-rwxr-xr-xmodules/polynomials/help/fr_FR/polfact.xml85
-rwxr-xr-xmodules/polynomials/help/fr_FR/poly.xml125
-rwxr-xr-xmodules/polynomials/help/fr_FR/rational.xml46
-rwxr-xr-xmodules/polynomials/help/fr_FR/residu.xml73
-rwxr-xr-xmodules/polynomials/help/fr_FR/roots.xml170
-rwxr-xr-xmodules/polynomials/help/fr_FR/rowcompr.xml69
-rwxr-xr-xmodules/polynomials/help/fr_FR/sfact.xml82
-rwxr-xr-xmodules/polynomials/help/fr_FR/simp.xml96
-rwxr-xr-xmodules/polynomials/help/fr_FR/simp_mode.xml58
-rwxr-xr-xmodules/polynomials/help/fr_FR/sylm.xml68
-rwxr-xr-xmodules/polynomials/help/fr_FR/varn.xml96
-rwxr-xr-xmodules/polynomials/help/ja_JP/addchapter.sce11
-rwxr-xr-xmodules/polynomials/help/ja_JP/bezout.xml93
-rwxr-xr-xmodules/polynomials/help/ja_JP/chepol.xml50
-rwxr-xr-xmodules/polynomials/help/ja_JP/cmndred.xml60
-rwxr-xr-xmodules/polynomials/help/ja_JP/coeff.xml76
-rwxr-xr-xmodules/polynomials/help/ja_JP/coffg.xml78
-rwxr-xr-xmodules/polynomials/help/ja_JP/colcompr.xml78
-rwxr-xr-xmodules/polynomials/help/ja_JP/degree.xml59
-rwxr-xr-xmodules/polynomials/help/ja_JP/denom.xml62
-rwxr-xr-xmodules/polynomials/help/ja_JP/derivat.xml66
-rwxr-xr-xmodules/polynomials/help/ja_JP/determ.xml83
-rwxr-xr-xmodules/polynomials/help/ja_JP/detr.xml53
-rwxr-xr-xmodules/polynomials/help/ja_JP/diophant.xml69
-rwxr-xr-xmodules/polynomials/help/ja_JP/factors.xml133
-rwxr-xr-xmodules/polynomials/help/ja_JP/hermit.xml79
-rwxr-xr-xmodules/polynomials/help/ja_JP/horner.xml92
-rwxr-xr-xmodules/polynomials/help/ja_JP/hrmt.xml76
-rwxr-xr-xmodules/polynomials/help/ja_JP/htrianr.xml89
-rwxr-xr-xmodules/polynomials/help/ja_JP/inv_coeff.xml73
-rwxr-xr-xmodules/polynomials/help/ja_JP/invr.xml69
-rwxr-xr-xmodules/polynomials/help/ja_JP/lcmdiag.xml92
-rwxr-xr-xmodules/polynomials/help/ja_JP/ldiv.xml79
-rwxr-xr-xmodules/polynomials/help/ja_JP/numer.xml57
-rwxr-xr-xmodules/polynomials/help/ja_JP/pdiv.xml82
-rwxr-xr-xmodules/polynomials/help/ja_JP/pol2str.xml87
-rwxr-xr-xmodules/polynomials/help/ja_JP/polfact.xml77
-rwxr-xr-xmodules/polynomials/help/ja_JP/poly.xml138
-rwxr-xr-xmodules/polynomials/help/ja_JP/rational.xml51
-rwxr-xr-xmodules/polynomials/help/ja_JP/residu.xml85
-rwxr-xr-xmodules/polynomials/help/ja_JP/roots.xml95
-rwxr-xr-xmodules/polynomials/help/ja_JP/rowcompr.xml78
-rwxr-xr-xmodules/polynomials/help/ja_JP/sfact.xml92
-rwxr-xr-xmodules/polynomials/help/ja_JP/simp.xml109
-rwxr-xr-xmodules/polynomials/help/ja_JP/simp_mode.xml71
-rwxr-xr-xmodules/polynomials/help/ja_JP/sylm.xml69
-rwxr-xr-xmodules/polynomials/help/ja_JP/systmat.xml74
-rwxr-xr-xmodules/polynomials/help/ja_JP/varn.xml92
-rwxr-xr-xmodules/polynomials/help/pt_BR/addchapter.sce11
-rwxr-xr-xmodules/polynomials/help/pt_BR/bezout.xml95
-rwxr-xr-xmodules/polynomials/help/pt_BR/cmndred.xml60
-rwxr-xr-xmodules/polynomials/help/pt_BR/coeff.xml77
-rwxr-xr-xmodules/polynomials/help/pt_BR/coffg.xml80
-rwxr-xr-xmodules/polynomials/help/pt_BR/colcompr.xml80
-rwxr-xr-xmodules/polynomials/help/pt_BR/degree.xml59
-rwxr-xr-xmodules/polynomials/help/pt_BR/denom.xml61
-rwxr-xr-xmodules/polynomials/help/pt_BR/derivat.xml66
-rwxr-xr-xmodules/polynomials/help/pt_BR/determ.xml84
-rwxr-xr-xmodules/polynomials/help/pt_BR/detr.xml54
-rwxr-xr-xmodules/polynomials/help/pt_BR/diophant.xml69
-rwxr-xr-xmodules/polynomials/help/pt_BR/factors.xml138
-rwxr-xr-xmodules/polynomials/help/pt_BR/hermit.xml76
-rwxr-xr-xmodules/polynomials/help/pt_BR/horner.xml98
-rwxr-xr-xmodules/polynomials/help/pt_BR/hrmt.xml78
-rwxr-xr-xmodules/polynomials/help/pt_BR/htrianr.xml92
-rwxr-xr-xmodules/polynomials/help/pt_BR/inv_coeff.xml75
-rwxr-xr-xmodules/polynomials/help/pt_BR/invr.xml70
-rwxr-xr-xmodules/polynomials/help/pt_BR/lcmdiag.xml93
-rwxr-xr-xmodules/polynomials/help/pt_BR/ldiv.xml79
-rwxr-xr-xmodules/polynomials/help/pt_BR/numer.xml59
-rwxr-xr-xmodules/polynomials/help/pt_BR/pdiv.xml81
-rwxr-xr-xmodules/polynomials/help/pt_BR/pol2str.xml84
-rwxr-xr-xmodules/polynomials/help/pt_BR/polfact.xml78
-rwxr-xr-xmodules/polynomials/help/pt_BR/poly.xml119
-rwxr-xr-xmodules/polynomials/help/pt_BR/rational.xml52
-rwxr-xr-xmodules/polynomials/help/pt_BR/residu.xml87
-rwxr-xr-xmodules/polynomials/help/pt_BR/roots.xml93
-rwxr-xr-xmodules/polynomials/help/pt_BR/rowcompr.xml78
-rwxr-xr-xmodules/polynomials/help/pt_BR/sfact.xml95
-rwxr-xr-xmodules/polynomials/help/pt_BR/simp.xml110
-rwxr-xr-xmodules/polynomials/help/pt_BR/simp_mode.xml73
-rwxr-xr-xmodules/polynomials/help/pt_BR/sylm.xml76
-rwxr-xr-xmodules/polynomials/help/pt_BR/systmat.xml76
-rwxr-xr-xmodules/polynomials/help/pt_BR/varn.xml93
-rwxr-xr-xmodules/polynomials/help/ru_RU/addchapter.sce11
-rwxr-xr-xmodules/polynomials/help/ru_RU/inv_coeff.xml73
-rwxr-xr-xmodules/polynomials/help/ru_RU/poly.xml131
-rwxr-xr-xmodules/polynomials/help/ru_RU/rational.xml48
-rwxr-xr-xmodules/polynomials/help/ru_RU/varn.xml93
-rwxr-xr-xmodules/polynomials/includes/dynlib_polynomials.h28
-rwxr-xr-xmodules/polynomials/includes/gw_polynomials.h40
-rwxr-xr-xmodules/polynomials/libscipolynomials-algo.la41
-rwxr-xr-xmodules/polynomials/libscipolynomials.la41
-rwxr-xr-xmodules/polynomials/license.txt22
-rwxr-xr-xmodules/polynomials/locales/ca_ES.po128
-rwxr-xr-xmodules/polynomials/locales/cs_CZ.po118
-rwxr-xr-xmodules/polynomials/locales/de_DE.po121
-rwxr-xr-xmodules/polynomials/locales/es_ES.po128
-rwxr-xr-xmodules/polynomials/locales/fr_FR.po131
-rwxr-xr-xmodules/polynomials/locales/it_IT.po138
-rwxr-xr-xmodules/polynomials/locales/ja_JP.po114
-rwxr-xr-xmodules/polynomials/locales/pl_PL.po125
-rwxr-xr-xmodules/polynomials/locales/polynomials.pot165
-rwxr-xr-xmodules/polynomials/locales/pt_BR.po129
-rwxr-xr-xmodules/polynomials/locales/ru_RU.po123
-rwxr-xr-xmodules/polynomials/locales/uk_UA.po133
-rwxr-xr-xmodules/polynomials/locales/zh_CN.po109
-rwxr-xr-xmodules/polynomials/locales/zh_TW.po109
-rwxr-xr-xmodules/polynomials/macros/buildmacros.bat11
-rwxr-xr-xmodules/polynomials/macros/buildmacros.sce17
-rwxr-xr-xmodules/polynomials/macros/chepol.binbin0 -> 2060 bytes
-rwxr-xr-xmodules/polynomials/macros/chepol.sci30
-rwxr-xr-xmodules/polynomials/macros/cleanmacros.bat13
-rwxr-xr-xmodules/polynomials/macros/cmndred.binbin0 -> 2248 bytes
-rwxr-xr-xmodules/polynomials/macros/cmndred.sci25
-rwxr-xr-xmodules/polynomials/macros/coffg.binbin0 -> 7624 bytes
-rwxr-xr-xmodules/polynomials/macros/coffg.sci49
-rwxr-xr-xmodules/polynomials/macros/colcompr.binbin0 -> 1196 bytes
-rwxr-xr-xmodules/polynomials/macros/colcompr.sci22
-rwxr-xr-xmodules/polynomials/macros/denom.binbin0 -> 2252 bytes
-rwxr-xr-xmodules/polynomials/macros/denom.sci29
-rwxr-xr-xmodules/polynomials/macros/derivat.binbin0 -> 6048 bytes
-rwxr-xr-xmodules/polynomials/macros/derivat.sci63
-rwxr-xr-xmodules/polynomials/macros/determ.binbin0 -> 10968 bytes
-rwxr-xr-xmodules/polynomials/macros/determ.sci106
-rwxr-xr-xmodules/polynomials/macros/detr.binbin0 -> 4932 bytes
-rwxr-xr-xmodules/polynomials/macros/detr.sci37
-rwxr-xr-xmodules/polynomials/macros/diophant.binbin0 -> 2956 bytes
-rwxr-xr-xmodules/polynomials/macros/diophant.sci30
-rwxr-xr-xmodules/polynomials/macros/factors.binbin0 -> 8488 bytes
-rwxr-xr-xmodules/polynomials/macros/factors.sci55
-rwxr-xr-xmodules/polynomials/macros/gcd.binbin0 -> 7580 bytes
-rwxr-xr-xmodules/polynomials/macros/gcd.sci58
-rwxr-xr-xmodules/polynomials/macros/hermit.binbin0 -> 5500 bytes
-rwxr-xr-xmodules/polynomials/macros/hermit.sci39
-rwxr-xr-xmodules/polynomials/macros/horner.binbin0 -> 13752 bytes
-rwxr-xr-xmodules/polynomials/macros/horner.sci120
-rwxr-xr-xmodules/polynomials/macros/hrmt.binbin0 -> 2556 bytes
-rwxr-xr-xmodules/polynomials/macros/hrmt.sci26
-rwxr-xr-xmodules/polynomials/macros/htrianr.binbin0 -> 7224 bytes
-rwxr-xr-xmodules/polynomials/macros/htrianr.sci55
-rwxr-xr-xmodules/polynomials/macros/inv_coeff.binbin0 -> 3132 bytes
-rwxr-xr-xmodules/polynomials/macros/inv_coeff.sci29
-rwxr-xr-xmodules/polynomials/macros/invr.binbin0 -> 14452 bytes
-rwxr-xr-xmodules/polynomials/macros/invr.sci94
-rwxr-xr-xmodules/polynomials/macros/lcm.binbin0 -> 5072 bytes
-rwxr-xr-xmodules/polynomials/macros/lcm.sci45
-rwxr-xr-xmodules/polynomials/macros/lcmdiag.binbin0 -> 5812 bytes
-rwxr-xr-xmodules/polynomials/macros/lcmdiag.sci49
-rwxr-xr-xmodules/polynomials/macros/libbin0 -> 952 bytes
-rwxr-xr-xmodules/polynomials/macros/names28
-rwxr-xr-xmodules/polynomials/macros/numer.binbin0 -> 1892 bytes
-rwxr-xr-xmodules/polynomials/macros/numer.sci26
-rwxr-xr-xmodules/polynomials/macros/pdiv.binbin0 -> 4512 bytes
-rwxr-xr-xmodules/polynomials/macros/pdiv.sci42
-rwxr-xr-xmodules/polynomials/macros/pfactors.binbin0 -> 13300 bytes
-rwxr-xr-xmodules/polynomials/macros/pfactors.sci84
-rwxr-xr-xmodules/polynomials/macros/pol2des.binbin0 -> 2288 bytes
-rwxr-xr-xmodules/polynomials/macros/pol2des.sci21
-rwxr-xr-xmodules/polynomials/macros/pol2str.binbin0 -> 8080 bytes
-rwxr-xr-xmodules/polynomials/macros/pol2str.sci56
-rwxr-xr-xmodules/polynomials/macros/polfact.binbin0 -> 5408 bytes
-rwxr-xr-xmodules/polynomials/macros/polfact.sci46
-rwxr-xr-xmodules/polynomials/macros/rowcompr.binbin0 -> 1940 bytes
-rwxr-xr-xmodules/polynomials/macros/rowcompr.sci25
-rwxr-xr-xmodules/polynomials/macros/sylm.binbin0 -> 3736 bytes
-rwxr-xr-xmodules/polynomials/macros/sylm.sci29
-rwxr-xr-xmodules/polynomials/macros/systmat.binbin0 -> 3028 bytes
-rwxr-xr-xmodules/polynomials/macros/systmat.sci34
-rwxr-xr-xmodules/polynomials/polynomials.iss45
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/.dirstamp0
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo274
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo62
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo60
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo60
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo60
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo62
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo62
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo62
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo60
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo60
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo61
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.dirstamp0
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.obin0 -> 7832 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.obin0 -> 4088 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.obin0 -> 4096 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.obin0 -> 4096 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.obin0 -> 4096 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.obin0 -> 4104 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.obin0 -> 4120 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.obin0 -> 4120 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.obin0 -> 4080 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/c/gw_polynomials.c59
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_bezout.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_cleanp.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_coeff.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_degree.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_diag.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_div.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_poly.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_prod.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_roots.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_sfact.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_simp.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_simp_mode.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_sum.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_tril.c27
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_triu.c27
-rwxr-xr-xmodules/polynomials/sci_gateway/c/sci_varn.c26
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.dirstamp0
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/polops.obin0 -> 179728 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.obin0 -> 22112 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.obin0 -> 26088 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.obin0 -> 16832 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.obin0 -> 22640 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_div.obin0 -> 29976 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.obin0 -> 17544 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.obin0 -> 27424 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.obin0 -> 18424 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.obin0 -> 24256 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.obin0 -> 27504 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.obin0 -> 26616 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.obin0 -> 23232 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.obin0 -> 12424 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.obin0 -> 13232 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.obin0 -> 19152 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.obin0 -> 21952 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.obin0 -> 18488 bytes
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/polops.f2213
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/polops.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_bezout.f156
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_bezout.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_coeff.f207
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_coeff.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_degree.f93
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_degree.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_diag.f132
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_diag.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_div.f299
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_div.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_pclean.f124
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_pclean.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_poly.f244
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_poly.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_prod.f96
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_prod.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_psimp.f213
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_psimp.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_roots.f243
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_roots.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_rsimp.f211
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_sfact.f166
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_sfact.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_simp.f34
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_simp.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_simpmd.f57
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_sum.f94
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_sum.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f117
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_varn.f116
-rwxr-xr-xmodules/polynomials/sci_gateway/fortran/sci_f_varn.lo12
-rwxr-xr-xmodules/polynomials/sci_gateway/polynomials_gateway.xml56
-rwxr-xr-xmodules/polynomials/src/c/DllmainPolynomial.c46
-rwxr-xr-xmodules/polynomials/src/c/core_Import.def9
-rwxr-xr-xmodules/polynomials/src/c/polynomials.rc96
-rwxr-xr-xmodules/polynomials/src/c/polynomials.vcxproj243
-rwxr-xr-xmodules/polynomials/src/c/polynomials.vcxproj.filters108
-rwxr-xr-xmodules/polynomials/src/c/polynomials_f_Import.def23
-rwxr-xr-xmodules/polynomials/src/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/polynomials/src/fortran/.dirstamp0
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/bezstp.obin0 -> 23000 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/blktit.obin0 -> 8832 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/calcsc.obin0 -> 6496 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/chkvar.obin0 -> 3272 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/ddmpev.obin0 -> 4728 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dimin.obin0 -> 5552 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmp2pm.obin0 -> 6128 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpad.obin0 -> 8072 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpadj.obin0 -> 4272 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpcle.obin0 -> 7584 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpcnc.obin0 -> 8160 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpext.obin0 -> 9504 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpins.obin0 -> 6552 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmpmu.obin0 -> 8800 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dmptra.obin0 -> 5576 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dpmul.obin0 -> 13032 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dpmul1.obin0 -> 6824 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dpodiv.obin0 -> 4104 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dprxc.obin0 -> 6584 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dpsimp.obin0 -> 22232 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/dwmpmu.obin0 -> 9912 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/fxshfr.obin0 -> 14000 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/horner.obin0 -> 4160 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/idegre.obin0 -> 5488 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/impcnc.obin0 -> 8096 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/impext.obin0 -> 9448 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/impins.obin0 -> 6432 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/imptra.obin0 -> 5520 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/mpdegr.obin0 -> 3904 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/mpdiag.obin0 -> 5528 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/mpinsp.obin0 -> 15056 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/mptri.obin0 -> 7456 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/newest.obin0 -> 6976 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/nextk.obin0 -> 6144 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/quad.obin0 -> 4624 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/quadit.obin0 -> 10728 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/quadsd.obin0 -> 4256 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/realit.obin0 -> 8920 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/recbez.obin0 -> 12832 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/residu.obin0 -> 7976 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/rpoly.obin0 -> 16528 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/sfact1.obin0 -> 12512 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/sfact2.obin0 -> 11688 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wdmpad.obin0 -> 6912 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wdmpmu.obin0 -> 9840 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmpad.obin0 -> 7304 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmpadj.obin0 -> 4736 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmpcle.obin0 -> 5408 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmpcnc.obin0 -> 11040 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmpins.obin0 -> 7280 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmpmu.obin0 -> 9440 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wmptra.obin0 -> 6112 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wpmul.obin0 -> 16200 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wpmul1.obin0 -> 11480 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wpodiv.obin0 -> 5840 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/wprxc.obin0 -> 8408 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/.libs/writebufsfact.obin0 -> 6032 bytes
-rwxr-xr-xmodules/polynomials/src/fortran/Core_f_Import.def12
-rwxr-xr-xmodules/polynomials/src/fortran/Elementary_functions_Import.def7
-rwxr-xr-xmodules/polynomials/src/fortran/Elementary_functions_f_Import.def17
-rwxr-xr-xmodules/polynomials/src/fortran/bezstp.f196
-rwxr-xr-xmodules/polynomials/src/fortran/bezstp.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/blktit.f40
-rwxr-xr-xmodules/polynomials/src/fortran/blktit.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/cacsd_f_Import.def7
-rwxr-xr-xmodules/polynomials/src/fortran/calcsc.f55
-rwxr-xr-xmodules/polynomials/src/fortran/calcsc.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/chkvar.f29
-rwxr-xr-xmodules/polynomials/src/fortran/chkvar.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/core_Import.def21
-rwxr-xr-xmodules/polynomials/src/fortran/ddmpev.f47
-rwxr-xr-xmodules/polynomials/src/fortran/ddmpev.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dimin.f144
-rwxr-xr-xmodules/polynomials/src/fortran/dimin.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmp2pm.f56
-rwxr-xr-xmodules/polynomials/src/fortran/dmp2pm.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpad.f103
-rwxr-xr-xmodules/polynomials/src/fortran/dmpad.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpadj.f53
-rwxr-xr-xmodules/polynomials/src/fortran/dmpadj.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpcle.f103
-rwxr-xr-xmodules/polynomials/src/fortran/dmpcle.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpcnc.f95
-rwxr-xr-xmodules/polynomials/src/fortran/dmpcnc.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpext.f147
-rwxr-xr-xmodules/polynomials/src/fortran/dmpext.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpins.f81
-rwxr-xr-xmodules/polynomials/src/fortran/dmpins.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmpmu.f132
-rwxr-xr-xmodules/polynomials/src/fortran/dmpmu.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dmptra.f54
-rwxr-xr-xmodules/polynomials/src/fortran/dmptra.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dpmul.f149
-rwxr-xr-xmodules/polynomials/src/fortran/dpmul.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dpmul1.f78
-rwxr-xr-xmodules/polynomials/src/fortran/dpmul1.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dpodiv.f44
-rwxr-xr-xmodules/polynomials/src/fortran/dpodiv.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dprxc.f56
-rwxr-xr-xmodules/polynomials/src/fortran/dprxc.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dpsimp.f192
-rwxr-xr-xmodules/polynomials/src/fortran/dpsimp.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/dwmpmu.f146
-rwxr-xr-xmodules/polynomials/src/fortran/dwmpmu.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/fxshfr.f122
-rwxr-xr-xmodules/polynomials/src/fortran/fxshfr.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/horner.f49
-rwxr-xr-xmodules/polynomials/src/fortran/horner.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/idegre.f33
-rwxr-xr-xmodules/polynomials/src/fortran/idegre.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/impcnc.f95
-rwxr-xr-xmodules/polynomials/src/fortran/impcnc.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/impext.f147
-rwxr-xr-xmodules/polynomials/src/fortran/impext.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/impins.f86
-rwxr-xr-xmodules/polynomials/src/fortran/impins.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/imptra.f52
-rwxr-xr-xmodules/polynomials/src/fortran/imptra.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/linear_algebra_Import.def5
-rwxr-xr-xmodules/polynomials/src/fortran/linpack_f_Import.def7
-rwxr-xr-xmodules/polynomials/src/fortran/mpdegr.f36
-rwxr-xr-xmodules/polynomials/src/fortran/mpdegr.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/mpdiag.f54
-rwxr-xr-xmodules/polynomials/src/fortran/mpdiag.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/mpinsp.f293
-rwxr-xr-xmodules/polynomials/src/fortran/mpinsp.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/mptri.f65
-rwxr-xr-xmodules/polynomials/src/fortran/mptri.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/newest.f48
-rwxr-xr-xmodules/polynomials/src/fortran/newest.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/nextk.f51
-rwxr-xr-xmodules/polynomials/src/fortran/nextk.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/output_stream_Import.def8
-rwxr-xr-xmodules/polynomials/src/fortran/polynomials_Import.def5
-rwxr-xr-xmodules/polynomials/src/fortran/polynomials_f.rc96
-rwxr-xr-xmodules/polynomials/src/fortran/polynomials_f.vfproj203
-rwxr-xr-xmodules/polynomials/src/fortran/polynomials_f2c.vcxproj456
-rwxr-xr-xmodules/polynomials/src/fortran/polynomials_f2c.vcxproj.filters511
-rwxr-xr-xmodules/polynomials/src/fortran/quad.f52
-rwxr-xr-xmodules/polynomials/src/fortran/quad.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/quadit.f92
-rwxr-xr-xmodules/polynomials/src/fortran/quadit.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/quadsd.f26
-rwxr-xr-xmodules/polynomials/src/fortran/quadsd.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/realit.f100
-rwxr-xr-xmodules/polynomials/src/fortran/realit.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/recbez.f240
-rwxr-xr-xmodules/polynomials/src/fortran/recbez.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/residu.f137
-rwxr-xr-xmodules/polynomials/src/fortran/residu.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/rpoly.f276
-rwxr-xr-xmodules/polynomials/src/fortran/rpoly.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/sfact1.f132
-rwxr-xr-xmodules/polynomials/src/fortran/sfact1.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/sfact2.f197
-rwxr-xr-xmodules/polynomials/src/fortran/sfact2.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wdmpad.f95
-rwxr-xr-xmodules/polynomials/src/fortran/wdmpad.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wdmpmu.f148
-rwxr-xr-xmodules/polynomials/src/fortran/wdmpmu.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmpad.f93
-rwxr-xr-xmodules/polynomials/src/fortran/wmpad.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmpadj.f57
-rwxr-xr-xmodules/polynomials/src/fortran/wmpadj.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmpcle.f67
-rwxr-xr-xmodules/polynomials/src/fortran/wmpcle.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmpcnc.f108
-rwxr-xr-xmodules/polynomials/src/fortran/wmpcnc.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmpins.f84
-rwxr-xr-xmodules/polynomials/src/fortran/wmpins.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmpmu.f140
-rwxr-xr-xmodules/polynomials/src/fortran/wmpmu.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wmptra.f56
-rwxr-xr-xmodules/polynomials/src/fortran/wmptra.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wpmul.f126
-rwxr-xr-xmodules/polynomials/src/fortran/wpmul.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wpmul1.f93
-rwxr-xr-xmodules/polynomials/src/fortran/wpmul1.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wpodiv.f56
-rwxr-xr-xmodules/polynomials/src/fortran/wpodiv.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/wprxc.f67
-rwxr-xr-xmodules/polynomials/src/fortran/wprxc.lo12
-rwxr-xr-xmodules/polynomials/src/fortran/writebufsfact.f26
-rwxr-xr-xmodules/polynomials/src/fortran/writebufsfact.lo12
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_10611.dia.ref26
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_10611.tst35
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_11064.dia.ref18
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_11064.tst22
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_11110.dia.ref26
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_11110.tst31
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_12679.dia.ref55
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_12679.tst61
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_13192.dia.ref25
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_13192.tst26
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_13511.dia.ref21
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_13511.tst23
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_201.dia.ref17
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_201.tst21
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_205.dia.ref35
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_205.tst39
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2177.dia.ref17
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2177.tst22
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2264.dia.ref22
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2264.tst28
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2391.dia.ref19
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2391.tst20
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2492.dia.ref18
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2492.tst22
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2834.dia.ref19
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_2834.tst22
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_3006.dia.ref28
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_3006.tst32
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_3810.dia.ref69
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_3810.tst76
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_415.dia.ref177
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_415.tst185
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_5686.dia.ref25
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_5686.tst26
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_7101.dia.ref272
-rwxr-xr-xmodules/polynomials/tests/nonreg_tests/bug_7101.tst271
-rwxr-xr-xmodules/polynomials/tests/unit_tests/derivat.dia.ref20
-rwxr-xr-xmodules/polynomials/tests/unit_tests/derivat.tst25
-rwxr-xr-xmodules/polynomials/tests/unit_tests/detr.dia.ref52
-rwxr-xr-xmodules/polynomials/tests/unit_tests/detr.tst65
-rwxr-xr-xmodules/polynomials/tests/unit_tests/horner.dia.ref72
-rwxr-xr-xmodules/polynomials/tests/unit_tests/horner.tst105
-rwxr-xr-xmodules/polynomials/tests/unit_tests/lcm.dia.ref19
-rwxr-xr-xmodules/polynomials/tests/unit_tests/lcm.tst26
-rwxr-xr-xmodules/polynomials/tests/unit_tests/lcmdiag.dia.ref31
-rwxr-xr-xmodules/polynomials/tests/unit_tests/lcmdiag.tst37
-rwxr-xr-xmodules/polynomials/tests/unit_tests/pol2str.dia.ref20
-rwxr-xr-xmodules/polynomials/tests/unit_tests/pol2str.tst28
-rwxr-xr-xmodules/polynomials/tests/unit_tests/polelm.dia.ref522
-rwxr-xr-xmodules/polynomials/tests/unit_tests/polelm.tst573
-rwxr-xr-xmodules/polynomials/tests/unit_tests/polops.dia.ref782
-rwxr-xr-xmodules/polynomials/tests/unit_tests/polops.tst819
-rwxr-xr-xmodules/polynomials/tests/unit_tests/roots.dia.ref300
-rwxr-xr-xmodules/polynomials/tests/unit_tests/roots.tst316
-rwxr-xr-xmodules/polynomials/tests/unit_tests/tril.dia.ref10
-rwxr-xr-xmodules/polynomials/tests/unit_tests/tril.tst12
617 files changed, 39993 insertions, 0 deletions
diff --git a/modules/polynomials/.libs/libscipolynomials-algo.a b/modules/polynomials/.libs/libscipolynomials-algo.a
new file mode 100755
index 000000000..79512c464
--- /dev/null
+++ b/modules/polynomials/.libs/libscipolynomials-algo.a
Binary files differ
diff --git a/modules/polynomials/.libs/libscipolynomials-algo.la b/modules/polynomials/.libs/libscipolynomials-algo.la
new file mode 120000
index 000000000..b87c20a88
--- /dev/null
+++ b/modules/polynomials/.libs/libscipolynomials-algo.la
@@ -0,0 +1 @@
+../libscipolynomials-algo.la \ No newline at end of file
diff --git a/modules/polynomials/.libs/libscipolynomials.a b/modules/polynomials/.libs/libscipolynomials.a
new file mode 100755
index 000000000..398fa22a4
--- /dev/null
+++ b/modules/polynomials/.libs/libscipolynomials.a
Binary files differ
diff --git a/modules/polynomials/.libs/libscipolynomials.la b/modules/polynomials/.libs/libscipolynomials.la
new file mode 120000
index 000000000..335424736
--- /dev/null
+++ b/modules/polynomials/.libs/libscipolynomials.la
@@ -0,0 +1 @@
+../libscipolynomials.la \ No newline at end of file
diff --git a/modules/polynomials/Makefile b/modules/polynomials/Makefile
new file mode 100755
index 000000000..a49593162
--- /dev/null
+++ b/modules/polynomials/Makefile
@@ -0,0 +1,1829 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# modules/polynomials/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+#
+# This file is distributed under the same license as the Scilab package.
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
+# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+#
+# This file must be used under the terms of the CeCILL.
+# This source file is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at
+# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+#
+
+##########
+### Makefile included stuff
+### Target, variable, suffixes which are supposed to be useful in every makefile.am
+##########
+
+
+
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/scilab
+pkgincludedir = $(includedir)/scilab
+pkglibdir = $(libdir)/scilab
+pkglibexecdir = $(libexecdir)/scilab
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \
+ $(top_srcdir)/config/depcomp
+am__append_1 = java
+subdir = modules/polynomials
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+ $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \
+ $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
+ $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
+ $(top_srcdir)/m4/intel_compiler.m4 \
+ $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
+ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \
+ $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \
+ $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \
+ $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \
+ $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" \
+ "$(DESTDIR)$(libscipolynomials_la_etcdir)" \
+ "$(DESTDIR)$(libscipolynomials_la_rootdir)" \
+ "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libscipolynomials_algo_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_1 = src/fortran/residu.lo src/fortran/imptra.lo \
+ src/fortran/dmpadj.lo src/fortran/impins.lo \
+ src/fortran/dpmul1.lo src/fortran/wprxc.lo \
+ src/fortran/dmpcnc.lo src/fortran/wmpmu.lo \
+ src/fortran/mpinsp.lo src/fortran/impext.lo \
+ src/fortran/recbez.lo src/fortran/sfact1.lo \
+ src/fortran/dpodiv.lo src/fortran/dmptra.lo \
+ src/fortran/dmpins.lo src/fortran/dpsimp.lo \
+ src/fortran/dmp2pm.lo src/fortran/dmpext.lo \
+ src/fortran/wpmul.lo src/fortran/bezstp.lo \
+ src/fortran/wmpad.lo src/fortran/dprxc.lo \
+ src/fortran/quadsd.lo src/fortran/wmpadj.lo \
+ src/fortran/dmpmu.lo src/fortran/wpmul1.lo \
+ src/fortran/wmpcnc.lo src/fortran/mptri.lo \
+ src/fortran/horner.lo src/fortran/idegre.lo \
+ src/fortran/fxshfr.lo src/fortran/mpdiag.lo \
+ src/fortran/dmpcle.lo src/fortran/rpoly.lo \
+ src/fortran/wpodiv.lo src/fortran/wdmpmu.lo \
+ src/fortran/wmptra.lo src/fortran/wmpins.lo \
+ src/fortran/mpdegr.lo src/fortran/ddmpev.lo \
+ src/fortran/realit.lo src/fortran/dpmul.lo \
+ src/fortran/sfact2.lo src/fortran/dmpad.lo \
+ src/fortran/nextk.lo src/fortran/blktit.lo \
+ src/fortran/dimin.lo src/fortran/newest.lo \
+ src/fortran/dwmpmu.lo src/fortran/impcnc.lo \
+ src/fortran/wdmpad.lo src/fortran/wmpcle.lo \
+ src/fortran/quadit.lo src/fortran/quad.lo \
+ src/fortran/calcsc.lo src/fortran/writebufsfact.lo \
+ src/fortran/chkvar.lo
+am_libscipolynomials_algo_la_OBJECTS = $(am__objects_1)
+libscipolynomials_algo_la_OBJECTS = \
+ $(am_libscipolynomials_algo_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am_libscipolynomials_algo_la_rpath =
+#am_libscipolynomials_algo_la_rpath =
+libscipolynomials_la_DEPENDENCIES = libscipolynomials-algo.la
+am__objects_2 = sci_gateway/fortran/sci_f_simp.lo \
+ sci_gateway/fortran/sci_f_poly.lo \
+ sci_gateway/fortran/sci_f_varn.lo \
+ sci_gateway/fortran/sci_f_sum.lo \
+ sci_gateway/fortran/sci_f_div.lo \
+ sci_gateway/fortran/sci_f_diag.lo \
+ sci_gateway/fortran/sci_f_prod.lo \
+ sci_gateway/fortran/polops.lo \
+ sci_gateway/fortran/sci_f_bezout.lo \
+ sci_gateway/fortran/sci_f_triu_tril.lo \
+ sci_gateway/fortran/sci_f_roots.lo \
+ sci_gateway/fortran/sci_f_psimp.lo \
+ sci_gateway/fortran/sci_f_rsimp.lo \
+ sci_gateway/fortran/sci_f_coeff.lo \
+ sci_gateway/fortran/sci_f_degree.lo \
+ sci_gateway/fortran/sci_f_pclean.lo \
+ sci_gateway/fortran/sci_f_sfact.lo \
+ sci_gateway/fortran/sci_f_simpmd.lo
+am__objects_3 = sci_gateway/c/libscipolynomials_la-gw_polynomials.lo \
+ sci_gateway/c/libscipolynomials_la-sci_sfact.lo \
+ sci_gateway/c/libscipolynomials_la-sci_cleanp.lo \
+ sci_gateway/c/libscipolynomials_la-sci_sum.lo \
+ sci_gateway/c/libscipolynomials_la-sci_prod.lo \
+ sci_gateway/c/libscipolynomials_la-sci_diag.lo \
+ sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo \
+ sci_gateway/c/libscipolynomials_la-sci_roots.lo \
+ sci_gateway/c/libscipolynomials_la-sci_varn.lo \
+ sci_gateway/c/libscipolynomials_la-sci_simp.lo \
+ sci_gateway/c/libscipolynomials_la-sci_bezout.lo \
+ sci_gateway/c/libscipolynomials_la-sci_tril.lo \
+ sci_gateway/c/libscipolynomials_la-sci_div.lo \
+ sci_gateway/c/libscipolynomials_la-sci_coeff.lo \
+ sci_gateway/c/libscipolynomials_la-sci_poly.lo \
+ sci_gateway/c/libscipolynomials_la-sci_triu.lo \
+ sci_gateway/c/libscipolynomials_la-sci_degree.lo
+am_libscipolynomials_la_OBJECTS = $(am__objects_2) $(am__objects_3)
+libscipolynomials_la_OBJECTS = $(am_libscipolynomials_la_OBJECTS)
+am_libscipolynomials_la_rpath =
+#am_libscipolynomials_la_rpath = -rpath \
+# $(pkglibdir)
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I. -I$(top_builddir)/modules/core/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
+LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
+AM_V_F77 = $(am__v_F77_$(V))
+am__v_F77_ = $(am__v_F77_$(AM_DEFAULT_VERBOSITY))
+am__v_F77_0 = @echo " F77 " $@;
+am__v_F77_1 =
+F77LD = $(F77)
+F77LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_F77LD = $(am__v_F77LD_$(V))
+am__v_F77LD_ = $(am__v_F77LD_$(AM_DEFAULT_VERBOSITY))
+am__v_F77LD_0 = @echo " F77LD " $@;
+am__v_F77LD_1 =
+SOURCES = $(libscipolynomials_algo_la_SOURCES) \
+ $(libscipolynomials_la_SOURCES)
+DIST_SOURCES = $(libscipolynomials_algo_la_SOURCES) \
+ $(libscipolynomials_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(libscipolynomials_la_etc_DATA) \
+ $(libscipolynomials_la_root_DATA) \
+ $(libscipolynomials_la_sci_gateway_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing aclocal-1.14
+ALL_LINGUAS = en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ
+ALL_LINGUAS_DOC = en_US fr_FR pt_BR ja_JP ru_RU
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = /usr/bin/ant
+ANTLR = /usr/share/java/antlr.jar
+AR = ar
+ARPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -larpack
+ASM3 = /usr/share/java/asm3-3.3.2.jar
+AUTOCONF = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoconf
+AUTOHEADER = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoheader
+AUTOMAKE = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing automake-1.14
+AVALON_FRAMEWORK = /home/shashank/scilab-master_5.5.2/thirdparty/avalon-framework.jar
+AWK = mawk
+BATIK = /home/shashank/scilab-master_5.5.2/thirdparty/batik-all-1.7.jar
+BLAS_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lblas
+CC = gcc
+CCACHE =
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CHECKSTYLE =
+COBERTURA = /usr/share/java/cobertura.jar
+COMMONS_BEANUTILS =
+COMMONS_IO = /home/shashank/scilab-master_5.5.2/thirdparty/commons-io.jar
+COMMONS_LOGGING = /home/shashank/scilab-master_5.5.2/thirdparty/commons-logging.jar
+CPP = gcc -E
+CPPFLAGS =
+CURL_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+CURL_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/curl-config
+CURL_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lcurl -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lssl -lcrypto -lrt -lz
+CURL_VERSION = libcurl 7.19.7
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEMOTOOLS_ENABLE = yes
+DEPDIR = .deps
+DLLTOOL = false
+DOCBOOK_ROOT = /home/shashank/scilab-master_5.5.2/thirdparty/docbook/
+DOXYGEN_BIN =
+DSYMUTIL =
+DUMPBIN =
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+ECJ = /home/shashank/scilab-master_5.5.2/thirdparty/ecj.jar
+EGREP = /bin/grep -E
+EXEEXT =
+F77 = gfortran
+FFLAGS = -g -O2
+FFTW3_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3
+FFTW_ENABLE = yes
+FGREP = /bin/grep -F
+FLEXDOCK = /home/shashank/scilab-master_5.5.2/thirdparty/flexdock-1.2.4.jar
+FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lquadmath
+FOP = /home/shashank/scilab-master_5.5.2/thirdparty/fop.jar
+FREEHEP_GRAPHICS2D = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphics2d.jar
+FREEHEP_GRAPHICSIO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio.jar
+FREEHEP_GRAPHICSIO_EMF = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio-emf.jar
+FREEHEP_IO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-io.jar
+FREEHEP_UTIL = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-util.jar
+GENHTML =
+GETTEXT_MACRO_VERSION = 0.19
+GIWS_BIN =
+GLUEGEN2_RT = /home/shashank/scilab-master_5.5.2/thirdparty/gluegen2-rt.jar
+GMSGFMT = /usr/bin/msgfmt
+GMSGFMT_015 = /usr/bin/msgfmt
+GRAPHICS_ENABLE = yes
+GREP = /bin/grep
+GUI_ENABLE = yes
+HDF5_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+HDF5_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lhdf5 -lhdf5_hl
+HELP_ENABLE = yes
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+INTLLIBS =
+INTL_MACOSX_LIBS =
+JAR = /usr/lib/jvm/java-8-openjdk-amd64/bin/jar
+JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java
+JAVAC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
+JAVAC_DEBUG = off
+JAVADOC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc
+JAVAH = /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
+JAVASCI_ENABLE = yes
+JAVA_ENABLE = yes
+JAVA_G = /usr/lib/jvm/java-8-openjdk-amd64/bin/java
+JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64
+JAVA_JNI_INCLUDE = -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux
+JAVA_JNI_LIBS = -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 -ljava -lverify -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm
+JDB = /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb
+JEUCLID_CORE = /home/shashank/scilab-master_5.5.2/thirdparty/jeuclid-core.jar
+JGRAPHX = /home/shashank/scilab-master_5.5.2/thirdparty/jgraphx.jar
+JHALL = /home/shashank/scilab-master_5.5.2/thirdparty/jhall.jar
+JLATEXMATH = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-1.0.3.jar
+JLATEXMATH_FOP = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-fop-1.0.3.jar
+JOGL2 = /home/shashank/scilab-master_5.5.2/thirdparty/jogl2.jar
+JROSETTA_API = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-API.jar
+JROSETTA_ENGINE = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-engine.jar
+JUNIT4 = /usr/share/java/junit4.jar
+LAPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -llapack
+LCOV =
+LD = /usr/bin/ld -m elf_x86_64
+LDFLAGS = -Wl,--no-as-needed
+LIBICONV = -liconv
+LIBINTL =
+LIBM = -lm
+LIBOBJS =
+LIBS = -lpthread -ldl -lcurses -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO =
+LN_S = ln -s
+LOGGING_LEVEL = SEVERE
+LOOKS = /home/shashank/scilab-master_5.5.2/thirdparty/looks-2.1.1.jar
+LTLIBICONV = -liconv
+LTLIBINTL =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing makeinfo
+MANIFEST_TOOL = :
+MATIO_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+MATIO_ENABLE = yes
+MATIO_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lm -lz -lmatio -lhdf5
+MKDIR_P = /bin/mkdir -p
+MPI_ENABLE = no
+MSGCAT = /usr/bin/msgcat
+MSGFMT = /usr/bin/msgfmt
+MSGFMT_015 = /usr/bin/msgfmt
+MSGMERGE = /usr/bin/msgmerge
+NM = nm
+NMEDIT =
+OBJDUMP = objdump
+OBJEXT = o
+OCAMLC = ocamlc
+OCAMLDEP = ocamldep
+OCAMLLEX = ocamllex
+OCAMLOPT = ocamlopt
+OCAMLYACC = ocamlyacc
+OPENMPI_CC =
+OPENMPI_CFLAGS =
+OPENMPI_CXX =
+OPENMPI_CXXFLAGS =
+OPENMPI_LIBS =
+OPENMP_CFLAGS = -fopenmp
+OPENMP_CXXFLAGS = -fopenmp
+OPENMP_ENABLE = yes
+OPENMP_LIBS = -lgomp -lstdc++
+OTOOL =
+OTOOL64 =
+PACKAGE = scilab
+PACKAGE_BUGREPORT = http://bugzilla.scilab.org/
+PACKAGE_NAME = Scilab
+PACKAGE_STRING = Scilab 5
+PACKAGE_TARNAME = scilab
+PACKAGE_URL =
+PACKAGE_VERSION = 5
+PATH_SEPARATOR = :
+PCRE_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+PCRE_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/pcre-config
+PCRE_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lpcreposix -lpcre
+PCRE_VERSION = 8.35
+PKG_CONFIG = /usr/bin/pkg-config
+POSUB = po
+POW_LIB =
+PYTHON =
+RANLIB = ranlib
+RELOCATABLE = no
+RT_LIB = -lrt
+SAXON = /home/shashank/scilab-master_5.5.2/thirdparty/saxon9he.jar
+SCILAB_BINARY_VERSION = 5.5.2
+SCILAB_LIBRARY_VERSION = 5:5:2
+SCILAB_VERSION_MAINTENANCE = 2
+SCILAB_VERSION_MAJOR = 5
+SCILAB_VERSION_MINOR = 5
+SCIRENDERER = ${modules.dir}/scirenderer/${build.jar.dir}/scirenderer.jar
+SCIRENDERER_CP = $SCILAB/modules/scirenderer/jar/scirenderer.jar
+SCI_CFLAGS = -D_LARGEFILE64_SOURCE -DNDEBUG -m64 -fno-stack-protector
+SCI_CXXFLAGS = -DNDEBUG -fno-stack-protector
+SCI_FFLAGS = -DNDEBUG -m64 -fPIC
+SCI_LDFLAGS =
+SED = /bin/sed
+SET_MAKE =
+SET_RELOCATABLE =
+SHELL = /bin/bash
+SKINLF = /home/shashank/scilab-master_5.5.2/thirdparty/skinlf.jar
+SPLINT = no
+STRIP = strip
+SWIG_BIN =
+SWIG_JAVA =
+SWIG_RUNTIME_LIBS_DIR =
+SWIG_SCILAB =
+TCLTK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -ltk8.5 -L/home/shashank/scilab-master_5.5.2/usr/lib -ltcl8.5 -ldl
+TCL_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include
+TK_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include
+UMFPACK_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+UMFPACK_ENABLE = yes
+UMFPACK_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lumfpack -lamd
+USE_NLS = yes
+VERSION = 5
+WITH_OCAML =
+WITH_TKSCI = yes
+XCOS_ENABLE = yes
+XGETTEXT = /usr/bin/xgettext
+XGETTEXT_015 = /usr/bin/xgettext
+XGETTEXT_EXTRA_OPTIONS =
+XMKMF =
+XMLGRAPHICS_COMMONS = /home/shashank/scilab-master_5.5.2/thirdparty/xmlgraphics-commons-1.4.jar
+XML_APIS_EXT = /home/shashank/scilab-master_5.5.2/thirdparty/xml-apis-ext.jar
+XML_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/xml2-config
+XML_FLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include/libxml2
+XML_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lxml2 -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lz -lm -ldl
+XML_VERSION = 2.9.1
+X_CFLAGS =
+X_EXTRA_LIBS =
+X_LIBS =
+X_PRE_LIBS =
+abs_builddir = /home/shashank/scilab-master_5.5.2/modules/polynomials
+abs_srcdir = /home/shashank/scilab-master_5.5.2/modules/polynomials
+abs_top_builddir = /home/shashank/scilab-master_5.5.2
+abs_top_srcdir = /home/shashank/scilab-master_5.5.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN =
+ac_ct_F77 = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+cxx_present = yes
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-unknown-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/shashank/scilab-master_5.5.2/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+POLYNOMIALS_FORTRAN_SOURCES = src/fortran/residu.f \
+src/fortran/imptra.f \
+src/fortran/dmpadj.f \
+src/fortran/impins.f \
+src/fortran/dpmul1.f \
+src/fortran/wprxc.f \
+src/fortran/dmpcnc.f \
+src/fortran/wmpmu.f \
+src/fortran/mpinsp.f \
+src/fortran/impext.f \
+src/fortran/recbez.f \
+src/fortran/sfact1.f \
+src/fortran/dpodiv.f \
+src/fortran/dmptra.f \
+src/fortran/dmpins.f \
+src/fortran/dpsimp.f \
+src/fortran/dmp2pm.f \
+src/fortran/dmpext.f \
+src/fortran/wpmul.f \
+src/fortran/bezstp.f \
+src/fortran/wmpad.f \
+src/fortran/dprxc.f \
+src/fortran/quadsd.f \
+src/fortran/wmpadj.f \
+src/fortran/dmpmu.f \
+src/fortran/wpmul1.f \
+src/fortran/wmpcnc.f \
+src/fortran/mptri.f \
+src/fortran/horner.f \
+src/fortran/idegre.f \
+src/fortran/fxshfr.f \
+src/fortran/mpdiag.f \
+src/fortran/dmpcle.f \
+src/fortran/rpoly.f \
+src/fortran/wpodiv.f \
+src/fortran/wdmpmu.f \
+src/fortran/wmptra.f \
+src/fortran/wmpins.f \
+src/fortran/mpdegr.f \
+src/fortran/ddmpev.f \
+src/fortran/realit.f \
+src/fortran/dpmul.f \
+src/fortran/sfact2.f \
+src/fortran/dmpad.f \
+src/fortran/nextk.f \
+src/fortran/blktit.f \
+src/fortran/dimin.f \
+src/fortran/newest.f \
+src/fortran/dwmpmu.f \
+src/fortran/impcnc.f \
+src/fortran/wdmpad.f \
+src/fortran/wmpcle.f \
+src/fortran/quadit.f \
+src/fortran/quad.f \
+src/fortran/calcsc.f \
+src/fortran/writebufsfact.f \
+src/fortran/chkvar.f
+
+GATEWAY_C_SOURCES = sci_gateway/c/gw_polynomials.c \
+sci_gateway/c/sci_sfact.c \
+sci_gateway/c/sci_cleanp.c \
+sci_gateway/c/sci_sum.c \
+sci_gateway/c/sci_prod.c \
+sci_gateway/c/sci_diag.c \
+sci_gateway/c/sci_simp_mode.c \
+sci_gateway/c/sci_roots.c \
+sci_gateway/c/sci_varn.c \
+sci_gateway/c/sci_simp.c \
+sci_gateway/c/sci_bezout.c \
+sci_gateway/c/sci_tril.c \
+sci_gateway/c/sci_div.c \
+sci_gateway/c/sci_coeff.c \
+sci_gateway/c/sci_poly.c \
+sci_gateway/c/sci_triu.c \
+sci_gateway/c/sci_degree.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_simp.f \
+sci_gateway/fortran/sci_f_poly.f \
+sci_gateway/fortran/sci_f_varn.f \
+sci_gateway/fortran/sci_f_sum.f \
+sci_gateway/fortran/sci_f_div.f \
+sci_gateway/fortran/sci_f_diag.f \
+sci_gateway/fortran/sci_f_prod.f \
+sci_gateway/fortran/polops.f \
+sci_gateway/fortran/sci_f_bezout.f \
+sci_gateway/fortran/sci_f_triu_tril.f \
+sci_gateway/fortran/sci_f_roots.f \
+sci_gateway/fortran/sci_f_psimp.f \
+sci_gateway/fortran/sci_f_rsimp.f \
+sci_gateway/fortran/sci_f_coeff.f \
+sci_gateway/fortran/sci_f_degree.f \
+sci_gateway/fortran/sci_f_pclean.f \
+sci_gateway/fortran/sci_f_sfact.f \
+sci_gateway/fortran/sci_f_simpmd.f
+
+libscipolynomials_la_CPPFLAGS = -I$(srcdir)/includes/ \
+ -I$(top_srcdir)/modules/api_scilab/includes/ \
+ -I$(top_srcdir)/modules/output_stream/includes/ \
+ -I$(top_srcdir)/modules/localization/includes/ \
+ $(AM_CPPFLAGS)
+
+#pkglib_LTLIBRARIES = libscipolynomials.la
+noinst_LTLIBRARIES = libscipolynomials-algo.la libscipolynomials.la
+#noinst_LTLIBRARIES = libscipolynomials-algo.la
+libscipolynomials_algo_la_SOURCES = $(POLYNOMIALS_FORTRAN_SOURCES)
+libscipolynomials_la_SOURCES = $(GATEWAY_FORTRAN_SOURCES) $(GATEWAY_C_SOURCES)
+libscipolynomials_algo_la_CPPFLAGS = $(libscipolynomials_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC = ) $(GATEWAY_C_SOURCES)
+INCLUDE_FLAGS = $(libscipolynomials_la_CPPFLAGS)
+libscipolynomials_la_LIBADD = libscipolynomials-algo.la
+
+#### Target ######
+modulename = polynomials
+
+#### polynomials : Conf files ####
+libscipolynomials_la_rootdir = $(mydatadir)
+libscipolynomials_la_root_DATA = license.txt
+
+#### polynomials : init scripts ####
+libscipolynomials_la_etcdir = $(mydatadir)/etc
+libscipolynomials_la_etc_DATA = etc/polynomials.quit etc/polynomials.start
+
+#### polynomials : gateway declaration ####
+libscipolynomials_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscipolynomials_la_sci_gateway_DATA = sci_gateway/polynomials_gateway.xml
+
+# Where all the Scilab stuff is installed (macros, help, ...)
+mydatadir = $(pkgdatadir)/modules/$(modulename)
+
+# Set AM_* SCI detected settings
+AM_CPPFLAGS = $(SCI_CPPFLAGS)
+AM_CFLAGS = $(SCI_CFLAGS)
+AM_CXXFLAGS = $(SCI_CXXFLAGS)
+# append includes to AM_FFLAGS to manage fortran includes
+AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/
+
+# Tag shared libraries with the Scilab version
+AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION)
+
+# splint options
+SPLINT_OPTIONS = -weak -booltype BOOL
+
+########################### JAVA ######################################
+#### We are delegating java compilation to ant... Thanks to that
+#### the procedure will be the same with Microsoft Windows (C)
+#### and Linux/Unix
+#######################################################################
+TARGETS_ALL = $(am__append_1)
+
+################ MACROS ######################
+# Rule to build a macro
+# NOT USED AT THE MOMENT
+SUFFIXES = .sci
+
+########### INSTALL DOCUMENTATION ###################
+
+# Install documentation files into the right target
+# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
+# automake needs the html files to be present which is not the case when
+# we are building Scilab
+
+# Where it should be installed
+pkgdocdir = $(mydatadir)
+
+# What is the mask of the help source
+DOCMASKXML = *.xml
+
+# What is the mask of the MathML sources
+DOCMASKMML = *.mml
+
+########### INSTALL DATA ###################
+# Install macros, help & demos
+# Where it should be installed
+pkgmacrosdir = $(mydatadir)
+# Which directory we process
+MACRODIRS = macros/
+# Mask of the Scilab sources macros
+MACROMASK = *.sci
+# Mask of the Scilab executable sources macros
+MACROBUILDMASK = *.sce
+# Mask of the Scilab compiled macros
+MACROBINMASK = *.bin
+# List of the standard directory for tests
+TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java
+# Where the demos should be installed
+pkgdemosdir = $(mydatadir)
+# List of the standard directory for demos
+DEMOS_DIR = demos
+# List of the standard directory for examples
+EXAMPLES_DIR = examples
+# Where to export JAVA archives (.jar)
+JARDIR = jar/
+# JAR files mask
+JARMASK = *.jar
+# Chapter file
+HELP_CHAPTERDIR = help/
+HELP_CHAPTERFILE = addchapter.sce
+HELP_CHAPTERLANG = en_US fr_FR pt_BR
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .sci .bin .c .f .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/polynomials/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign modules/polynomials/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Makefile.incl.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+src/fortran/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran
+ @: > src/fortran/$(am__dirstamp)
+src/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran/$(DEPDIR)
+ @: > src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/residu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/imptra.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpadj.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/impins.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpmul1.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wprxc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpcnc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mpinsp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/impext.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/recbez.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/sfact1.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpodiv.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmptra.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpins.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpsimp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmp2pm.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpext.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wpmul.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/bezstp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dprxc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/quadsd.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpadj.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wpmul1.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpcnc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mptri.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/horner.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/idegre.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/fxshfr.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mpdiag.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpcle.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/rpoly.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wpodiv.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wdmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmptra.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpins.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mpdegr.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/ddmpev.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/realit.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpmul.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/sfact2.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/nextk.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/blktit.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dimin.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/newest.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dwmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/impcnc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wdmpad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpcle.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/quadit.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/quad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/calcsc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/writebufsfact.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/chkvar.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscipolynomials-algo.la: $(libscipolynomials_algo_la_OBJECTS) $(libscipolynomials_algo_la_DEPENDENCIES) $(EXTRA_libscipolynomials_algo_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscipolynomials_algo_la_rpath) $(libscipolynomials_algo_la_OBJECTS) $(libscipolynomials_algo_la_LIBADD) $(LIBS)
+sci_gateway/fortran/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran
+ @: > sci_gateway/fortran/$(am__dirstamp)
+sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran/$(DEPDIR)
+ @: > sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_simp.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_poly.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_varn.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_sum.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_div.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_diag.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_prod.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/polops.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_bezout.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_triu_tril.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_roots.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_psimp.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_rsimp.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_coeff.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_degree.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_pclean.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_sfact.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_simpmd.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c
+ @: > sci_gateway/c/$(am__dirstamp)
+sci_gateway/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c/$(DEPDIR)
+ @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-gw_polynomials.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_sfact.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_cleanp.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_sum.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_prod.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_diag.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_roots.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_varn.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_simp.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_bezout.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_tril.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_div.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_coeff.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_poly.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_triu.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_degree.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+
+libscipolynomials.la: $(libscipolynomials_la_OBJECTS) $(libscipolynomials_la_DEPENDENCIES) $(EXTRA_libscipolynomials_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscipolynomials_la_rpath) $(libscipolynomials_la_OBJECTS) $(libscipolynomials_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f sci_gateway/c/*.$(OBJEXT)
+ -rm -f sci_gateway/c/*.lo
+ -rm -f sci_gateway/fortran/*.$(OBJEXT)
+ -rm -f sci_gateway/fortran/*.lo
+ -rm -f src/fortran/*.$(OBJEXT)
+ -rm -f src/fortran/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Plo
+include sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Plo
+
+.c.o:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Po
+# $(AM_V_CC)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Po
+# $(AM_V_CC)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Plo
+# $(AM_V_CC)source='$<' object='$@' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $<
+
+sci_gateway/c/libscipolynomials_la-gw_polynomials.lo: sci_gateway/c/gw_polynomials.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-gw_polynomials.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Tpo -c -o sci_gateway/c/libscipolynomials_la-gw_polynomials.lo `test -f 'sci_gateway/c/gw_polynomials.c' || echo '$(srcdir)/'`sci_gateway/c/gw_polynomials.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Plo
+# $(AM_V_CC)source='sci_gateway/c/gw_polynomials.c' object='sci_gateway/c/libscipolynomials_la-gw_polynomials.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-gw_polynomials.lo `test -f 'sci_gateway/c/gw_polynomials.c' || echo '$(srcdir)/'`sci_gateway/c/gw_polynomials.c
+
+sci_gateway/c/libscipolynomials_la-sci_sfact.lo: sci_gateway/c/sci_sfact.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_sfact.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_sfact.lo `test -f 'sci_gateway/c/sci_sfact.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sfact.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_sfact.c' object='sci_gateway/c/libscipolynomials_la-sci_sfact.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_sfact.lo `test -f 'sci_gateway/c/sci_sfact.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sfact.c
+
+sci_gateway/c/libscipolynomials_la-sci_cleanp.lo: sci_gateway/c/sci_cleanp.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_cleanp.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_cleanp.lo `test -f 'sci_gateway/c/sci_cleanp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_cleanp.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_cleanp.c' object='sci_gateway/c/libscipolynomials_la-sci_cleanp.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_cleanp.lo `test -f 'sci_gateway/c/sci_cleanp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_cleanp.c
+
+sci_gateway/c/libscipolynomials_la-sci_sum.lo: sci_gateway/c/sci_sum.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_sum.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_sum.lo `test -f 'sci_gateway/c/sci_sum.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sum.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_sum.c' object='sci_gateway/c/libscipolynomials_la-sci_sum.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_sum.lo `test -f 'sci_gateway/c/sci_sum.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sum.c
+
+sci_gateway/c/libscipolynomials_la-sci_prod.lo: sci_gateway/c/sci_prod.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_prod.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_prod.lo `test -f 'sci_gateway/c/sci_prod.c' || echo '$(srcdir)/'`sci_gateway/c/sci_prod.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_prod.c' object='sci_gateway/c/libscipolynomials_la-sci_prod.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_prod.lo `test -f 'sci_gateway/c/sci_prod.c' || echo '$(srcdir)/'`sci_gateway/c/sci_prod.c
+
+sci_gateway/c/libscipolynomials_la-sci_diag.lo: sci_gateway/c/sci_diag.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_diag.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_diag.lo `test -f 'sci_gateway/c/sci_diag.c' || echo '$(srcdir)/'`sci_gateway/c/sci_diag.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_diag.c' object='sci_gateway/c/libscipolynomials_la-sci_diag.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_diag.lo `test -f 'sci_gateway/c/sci_diag.c' || echo '$(srcdir)/'`sci_gateway/c/sci_diag.c
+
+sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo: sci_gateway/c/sci_simp_mode.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo `test -f 'sci_gateway/c/sci_simp_mode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp_mode.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_simp_mode.c' object='sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo `test -f 'sci_gateway/c/sci_simp_mode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp_mode.c
+
+sci_gateway/c/libscipolynomials_la-sci_roots.lo: sci_gateway/c/sci_roots.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_roots.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_roots.lo `test -f 'sci_gateway/c/sci_roots.c' || echo '$(srcdir)/'`sci_gateway/c/sci_roots.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_roots.c' object='sci_gateway/c/libscipolynomials_la-sci_roots.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_roots.lo `test -f 'sci_gateway/c/sci_roots.c' || echo '$(srcdir)/'`sci_gateway/c/sci_roots.c
+
+sci_gateway/c/libscipolynomials_la-sci_varn.lo: sci_gateway/c/sci_varn.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_varn.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_varn.lo `test -f 'sci_gateway/c/sci_varn.c' || echo '$(srcdir)/'`sci_gateway/c/sci_varn.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_varn.c' object='sci_gateway/c/libscipolynomials_la-sci_varn.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_varn.lo `test -f 'sci_gateway/c/sci_varn.c' || echo '$(srcdir)/'`sci_gateway/c/sci_varn.c
+
+sci_gateway/c/libscipolynomials_la-sci_simp.lo: sci_gateway/c/sci_simp.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_simp.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_simp.lo `test -f 'sci_gateway/c/sci_simp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_simp.c' object='sci_gateway/c/libscipolynomials_la-sci_simp.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_simp.lo `test -f 'sci_gateway/c/sci_simp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp.c
+
+sci_gateway/c/libscipolynomials_la-sci_bezout.lo: sci_gateway/c/sci_bezout.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_bezout.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_bezout.lo `test -f 'sci_gateway/c/sci_bezout.c' || echo '$(srcdir)/'`sci_gateway/c/sci_bezout.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_bezout.c' object='sci_gateway/c/libscipolynomials_la-sci_bezout.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_bezout.lo `test -f 'sci_gateway/c/sci_bezout.c' || echo '$(srcdir)/'`sci_gateway/c/sci_bezout.c
+
+sci_gateway/c/libscipolynomials_la-sci_tril.lo: sci_gateway/c/sci_tril.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_tril.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_tril.lo `test -f 'sci_gateway/c/sci_tril.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tril.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_tril.c' object='sci_gateway/c/libscipolynomials_la-sci_tril.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_tril.lo `test -f 'sci_gateway/c/sci_tril.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tril.c
+
+sci_gateway/c/libscipolynomials_la-sci_div.lo: sci_gateway/c/sci_div.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_div.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_div.lo `test -f 'sci_gateway/c/sci_div.c' || echo '$(srcdir)/'`sci_gateway/c/sci_div.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_div.c' object='sci_gateway/c/libscipolynomials_la-sci_div.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_div.lo `test -f 'sci_gateway/c/sci_div.c' || echo '$(srcdir)/'`sci_gateway/c/sci_div.c
+
+sci_gateway/c/libscipolynomials_la-sci_coeff.lo: sci_gateway/c/sci_coeff.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_coeff.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_coeff.lo `test -f 'sci_gateway/c/sci_coeff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_coeff.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_coeff.c' object='sci_gateway/c/libscipolynomials_la-sci_coeff.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_coeff.lo `test -f 'sci_gateway/c/sci_coeff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_coeff.c
+
+sci_gateway/c/libscipolynomials_la-sci_poly.lo: sci_gateway/c/sci_poly.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_poly.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_poly.lo `test -f 'sci_gateway/c/sci_poly.c' || echo '$(srcdir)/'`sci_gateway/c/sci_poly.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_poly.c' object='sci_gateway/c/libscipolynomials_la-sci_poly.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_poly.lo `test -f 'sci_gateway/c/sci_poly.c' || echo '$(srcdir)/'`sci_gateway/c/sci_poly.c
+
+sci_gateway/c/libscipolynomials_la-sci_triu.lo: sci_gateway/c/sci_triu.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_triu.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_triu.lo `test -f 'sci_gateway/c/sci_triu.c' || echo '$(srcdir)/'`sci_gateway/c/sci_triu.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_triu.c' object='sci_gateway/c/libscipolynomials_la-sci_triu.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_triu.lo `test -f 'sci_gateway/c/sci_triu.c' || echo '$(srcdir)/'`sci_gateway/c/sci_triu.c
+
+sci_gateway/c/libscipolynomials_la-sci_degree.lo: sci_gateway/c/sci_degree.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_degree.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_degree.lo `test -f 'sci_gateway/c/sci_degree.c' || echo '$(srcdir)/'`sci_gateway/c/sci_degree.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_degree.c' object='sci_gateway/c/libscipolynomials_la-sci_degree.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_degree.lo `test -f 'sci_gateway/c/sci_degree.c' || echo '$(srcdir)/'`sci_gateway/c/sci_degree.c
+
+.f.o:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
+
+.f.obj:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.f.lo:
+ $(AM_V_F77)$(LTF77COMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+ -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
+ -rm -rf src/fortran/.libs src/fortran/_libs
+install-libscipolynomials_la_etcDATA: $(libscipolynomials_la_etc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscipolynomials_la_etc_DATA)'; test -n "$(libscipolynomials_la_etcdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscipolynomials_la_etcdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscipolynomials_la_etcdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscipolynomials_la_etcdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscipolynomials_la_etcdir)" || exit $$?; \
+ done
+
+uninstall-libscipolynomials_la_etcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscipolynomials_la_etc_DATA)'; test -n "$(libscipolynomials_la_etcdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscipolynomials_la_etcdir)'; $(am__uninstall_files_from_dir)
+install-libscipolynomials_la_rootDATA: $(libscipolynomials_la_root_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscipolynomials_la_root_DATA)'; test -n "$(libscipolynomials_la_rootdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscipolynomials_la_rootdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscipolynomials_la_rootdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscipolynomials_la_rootdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscipolynomials_la_rootdir)" || exit $$?; \
+ done
+
+uninstall-libscipolynomials_la_rootDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscipolynomials_la_root_DATA)'; test -n "$(libscipolynomials_la_rootdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscipolynomials_la_rootdir)'; $(am__uninstall_files_from_dir)
+install-libscipolynomials_la_sci_gatewayDATA: $(libscipolynomials_la_sci_gateway_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscipolynomials_la_sci_gateway_DATA)'; test -n "$(libscipolynomials_la_sci_gatewaydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)" || exit $$?; \
+ done
+
+uninstall-libscipolynomials_la_sci_gatewayDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscipolynomials_la_sci_gateway_DATA)'; test -n "$(libscipolynomials_la_sci_gatewaydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscipolynomials_la_etcdir)" "$(DESTDIR)$(libscipolynomials_la_rootdir)" "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/c/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(am__dirstamp)
+ -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/fortran/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf sci_gateway/c/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local \
+ install-libscipolynomials_la_etcDATA \
+ install-libscipolynomials_la_rootDATA \
+ install-libscipolynomials_la_sci_gatewayDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am: install-html-local
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf sci_gateway/c/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libscipolynomials_la_etcDATA \
+ uninstall-libscipolynomials_la_rootDATA \
+ uninstall-libscipolynomials_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \
+ check-local clean clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-html-local install-info \
+ install-info-am install-libscipolynomials_la_etcDATA \
+ install-libscipolynomials_la_rootDATA \
+ install-libscipolynomials_la_sci_gatewayDATA install-man \
+ install-pdf install-pdf-am install-pkglibLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-libscipolynomials_la_etcDATA \
+ uninstall-libscipolynomials_la_rootDATA \
+ uninstall-libscipolynomials_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+
+# This target enables tests for Scilab
+check-local: $(top_builddir)/scilab-bin test
+ if test -d $(mydatadir)/tests; then \
+ @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \
+ fi
+check-code:
+ if test -f build.xml; then \
+ $(ANT) checkstyle; \
+ fi
+ if test -x "$(SPLINT)"; then \
+ $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \
+ fi
+java:
+# Some configurations needs to export JAVA_HOME in the current env
+ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT); \
+ fi
+
+clean-java:
+# Some configurations needs to export JAVA_HOME in the current env
+ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) clean; \
+ fi;
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+#swig: $(SWIG_WRAPPERS)
+# @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
+# SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
+# if test -n "$(SWIG_WRAPPERS)"; then \
+# for file in $(SWIG_WRAPPERS) ; do \
+# echo "Swig process of $$file (Java) ..."; \
+# $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \
+# done; \
+# fi
+
+#swig-scilab: $(SWIG_SCILAB_WRAPPERS)
+# @SWIG_OUTDIR=src/swig/; \
+# if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \
+# for file in $(SWIG_SCILAB_WRAPPERS) ; do \
+# echo "Swig process of $$file (Scilab) ..."; \
+# $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \
+# done; \
+# fi
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+#giws: $(GIWS_WRAPPERS)
+# @GIWS_OUTPUTDIR=src/jni/; \
+# MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
+# if test -n "$(GIWS_WRAPPERS)"; then \
+# for file in $(GIWS_WRAPPERS) ; do \
+# echo "GIWS process of $$file ..."; \
+# if test -z "$(GIWS_OPTIONS)"; then \
+# $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+# else \
+# echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \
+# $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+# fi \
+# done; \
+# fi
+
+#giws-exception:
+# @GIWS_OUTPUTDIR=src/jni/;\
+# echo "GIWS: Generation of exception class ..."; \
+# $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR
+
+macros:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been built"; \
+ else \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
+ fi)
+
+# Removes the macros
+clean-macros:
+# Removes macros (*.bin generated from .sci)
+ @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
+ rm -f $(builddir)/$$dir/$(MACROBINMASK); \
+ done
+
+test:
+# More tests could be added here
+ @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) test; \
+ fi
+
+all-local: $(TARGETS_ALL)
+
+.sci.bin:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been build"; \
+ else \
+ echo "Creating $@"; \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
+ fi )
+
+install-html-local:
+
+install-data-local-local:
+# Mainly for javasci
+ @if test -d $(srcdir)/javadoc; then \
+ cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \
+ fi
+# If the user wants the help sources to be installed
+ @echo "-------- Install of XML sources of help files --------"; \
+ for lang in $(ALL_LINGUAS); do \
+ if test -d $(srcdir)/help/$$lang; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
+ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
+ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
+ done ; \
+ fi; \
+ fi; \
+ done; \
+ @echo "-------- Install of MathML sources --------"; \
+ if test -d $(srcdir)/help/mml/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \
+ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \
+ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \
+ done ; \
+ fi; \
+ fi
+install-data-local:
+# Install the tests
+ @echo "-------- Install tests (if any) --------"; \
+ for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the help chapter
+ @echo "-------- Install the help chapter (if any) --------"; \
+ for lang in $(HELP_CHAPTERLANG); do \
+ HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
+ if test -f $$HELPFILE; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ fi; \
+ done
+# Install the demos & examples
+ @echo "-------- Install demos & examples (if any) --------"; \
+ for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the macros
+ @echo "-------- Install macros (if any) --------"; \
+ for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ if test -d $(srcdir)/$$dir/; then \
+ FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
+ if test -n "$(MACROSSPECIALEXT)"; then \
+ specialExtDir=""; \
+ for specialExt in $(MACROSSPECIALEXT); do \
+ specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
+ done; \
+ FILELIST="$$FILELIST $$specialExtDir"; \
+ fi; \
+ for file in `ls -1 $$FILELIST 2>/dev/null`; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
+ done; \
+ fi; \
+ done
+# Install java files (.jar)
+ @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
+ echo "-------- Install jar files --------"; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
+ for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
+ done ; \
+ fi
+
+########### CLEAN ###################
+# Clean help (generated automatically by Scilab)
+# It used to clean the macro (clean-macros) but this was causing
+# make clean && make to fail Scilab startup
+clean-local: clean-java
+#clean-local:
+
+distclean-local:
+ rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_*
+
+.PHONY: macros java swig giws
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/modules/polynomials/Makefile.am b/modules/polynomials/Makefile.am
new file mode 100755
index 000000000..40c55144a
--- /dev/null
+++ b/modules/polynomials/Makefile.am
@@ -0,0 +1,147 @@
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+#
+# This file is distributed under the same license as the Scilab package.
+
+POLYNOMIALS_FORTRAN_SOURCES = src/fortran/residu.f \
+src/fortran/imptra.f \
+src/fortran/dmpadj.f \
+src/fortran/impins.f \
+src/fortran/dpmul1.f \
+src/fortran/wprxc.f \
+src/fortran/dmpcnc.f \
+src/fortran/wmpmu.f \
+src/fortran/mpinsp.f \
+src/fortran/impext.f \
+src/fortran/recbez.f \
+src/fortran/sfact1.f \
+src/fortran/dpodiv.f \
+src/fortran/dmptra.f \
+src/fortran/dmpins.f \
+src/fortran/dpsimp.f \
+src/fortran/dmp2pm.f \
+src/fortran/dmpext.f \
+src/fortran/wpmul.f \
+src/fortran/bezstp.f \
+src/fortran/wmpad.f \
+src/fortran/dprxc.f \
+src/fortran/quadsd.f \
+src/fortran/wmpadj.f \
+src/fortran/dmpmu.f \
+src/fortran/wpmul1.f \
+src/fortran/wmpcnc.f \
+src/fortran/mptri.f \
+src/fortran/horner.f \
+src/fortran/idegre.f \
+src/fortran/fxshfr.f \
+src/fortran/mpdiag.f \
+src/fortran/dmpcle.f \
+src/fortran/rpoly.f \
+src/fortran/wpodiv.f \
+src/fortran/wdmpmu.f \
+src/fortran/wmptra.f \
+src/fortran/wmpins.f \
+src/fortran/mpdegr.f \
+src/fortran/ddmpev.f \
+src/fortran/realit.f \
+src/fortran/dpmul.f \
+src/fortran/sfact2.f \
+src/fortran/dmpad.f \
+src/fortran/nextk.f \
+src/fortran/blktit.f \
+src/fortran/dimin.f \
+src/fortran/newest.f \
+src/fortran/dwmpmu.f \
+src/fortran/impcnc.f \
+src/fortran/wdmpad.f \
+src/fortran/wmpcle.f \
+src/fortran/quadit.f \
+src/fortran/quad.f \
+src/fortran/calcsc.f \
+src/fortran/writebufsfact.f \
+src/fortran/chkvar.f
+
+
+GATEWAY_C_SOURCES = sci_gateway/c/gw_polynomials.c \
+sci_gateway/c/sci_sfact.c \
+sci_gateway/c/sci_cleanp.c \
+sci_gateway/c/sci_sum.c \
+sci_gateway/c/sci_prod.c \
+sci_gateway/c/sci_diag.c \
+sci_gateway/c/sci_simp_mode.c \
+sci_gateway/c/sci_roots.c \
+sci_gateway/c/sci_varn.c \
+sci_gateway/c/sci_simp.c \
+sci_gateway/c/sci_bezout.c \
+sci_gateway/c/sci_tril.c \
+sci_gateway/c/sci_div.c \
+sci_gateway/c/sci_coeff.c \
+sci_gateway/c/sci_poly.c \
+sci_gateway/c/sci_triu.c \
+sci_gateway/c/sci_degree.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_simp.f \
+sci_gateway/fortran/sci_f_poly.f \
+sci_gateway/fortran/sci_f_varn.f \
+sci_gateway/fortran/sci_f_sum.f \
+sci_gateway/fortran/sci_f_div.f \
+sci_gateway/fortran/sci_f_diag.f \
+sci_gateway/fortran/sci_f_prod.f \
+sci_gateway/fortran/polops.f \
+sci_gateway/fortran/sci_f_bezout.f \
+sci_gateway/fortran/sci_f_triu_tril.f \
+sci_gateway/fortran/sci_f_roots.f \
+sci_gateway/fortran/sci_f_psimp.f \
+sci_gateway/fortran/sci_f_rsimp.f \
+sci_gateway/fortran/sci_f_coeff.f \
+sci_gateway/fortran/sci_f_degree.f \
+sci_gateway/fortran/sci_f_pclean.f \
+sci_gateway/fortran/sci_f_sfact.f \
+sci_gateway/fortran/sci_f_simpmd.f
+
+
+libscipolynomials_la_CPPFLAGS = -I$(srcdir)/includes/ \
+ -I$(top_srcdir)/modules/api_scilab/includes/ \
+ -I$(top_srcdir)/modules/output_stream/includes/ \
+ -I$(top_srcdir)/modules/localization/includes/ \
+ $(AM_CPPFLAGS)
+
+if MAINTAINER_MODE
+pkglib_LTLIBRARIES = libscipolynomials.la
+noinst_LTLIBRARIES = libscipolynomials-algo.la
+else
+noinst_LTLIBRARIES = libscipolynomials-algo.la libscipolynomials.la
+endif
+
+
+
+libscipolynomials_algo_la_SOURCES = $(POLYNOMIALS_FORTRAN_SOURCES)
+libscipolynomials_la_SOURCES = $(GATEWAY_FORTRAN_SOURCES) $(GATEWAY_C_SOURCES)
+libscipolynomials_algo_la_CPPFLAGS = $(libscipolynomials_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC= ) $(GATEWAY_C_SOURCES)
+INCLUDE_FLAGS = $(libscipolynomials_la_CPPFLAGS)
+
+libscipolynomials_la_LIBADD = libscipolynomials-algo.la
+
+#### Target ######
+modulename=polynomials
+
+
+#### polynomials : Conf files ####
+libscipolynomials_la_rootdir = $(mydatadir)
+libscipolynomials_la_root_DATA = license.txt
+
+
+#### polynomials : init scripts ####
+libscipolynomials_la_etcdir = $(mydatadir)/etc
+libscipolynomials_la_etc_DATA = etc/polynomials.quit etc/polynomials.start
+
+
+#### polynomials : gateway declaration ####
+libscipolynomials_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscipolynomials_la_sci_gateway_DATA = sci_gateway/polynomials_gateway.xml
+
+
+include $(top_srcdir)/Makefile.incl.am
diff --git a/modules/polynomials/Makefile.in b/modules/polynomials/Makefile.in
new file mode 100755
index 000000000..ff94ff24a
--- /dev/null
+++ b/modules/polynomials/Makefile.in
@@ -0,0 +1,1829 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+#
+# This file is distributed under the same license as the Scilab package.
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
+# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+#
+# This file must be used under the terms of the CeCILL.
+# This source file is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at
+# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+#
+
+##########
+### Makefile included stuff
+### Target, variable, suffixes which are supposed to be useful in every makefile.am
+##########
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \
+ $(top_srcdir)/config/depcomp
+@NEED_JAVA_TRUE@am__append_1 = java
+subdir = modules/polynomials
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+ $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \
+ $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
+ $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
+ $(top_srcdir)/m4/intel_compiler.m4 \
+ $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
+ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \
+ $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \
+ $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \
+ $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \
+ $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" \
+ "$(DESTDIR)$(libscipolynomials_la_etcdir)" \
+ "$(DESTDIR)$(libscipolynomials_la_rootdir)" \
+ "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libscipolynomials_algo_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_1 = src/fortran/residu.lo src/fortran/imptra.lo \
+ src/fortran/dmpadj.lo src/fortran/impins.lo \
+ src/fortran/dpmul1.lo src/fortran/wprxc.lo \
+ src/fortran/dmpcnc.lo src/fortran/wmpmu.lo \
+ src/fortran/mpinsp.lo src/fortran/impext.lo \
+ src/fortran/recbez.lo src/fortran/sfact1.lo \
+ src/fortran/dpodiv.lo src/fortran/dmptra.lo \
+ src/fortran/dmpins.lo src/fortran/dpsimp.lo \
+ src/fortran/dmp2pm.lo src/fortran/dmpext.lo \
+ src/fortran/wpmul.lo src/fortran/bezstp.lo \
+ src/fortran/wmpad.lo src/fortran/dprxc.lo \
+ src/fortran/quadsd.lo src/fortran/wmpadj.lo \
+ src/fortran/dmpmu.lo src/fortran/wpmul1.lo \
+ src/fortran/wmpcnc.lo src/fortran/mptri.lo \
+ src/fortran/horner.lo src/fortran/idegre.lo \
+ src/fortran/fxshfr.lo src/fortran/mpdiag.lo \
+ src/fortran/dmpcle.lo src/fortran/rpoly.lo \
+ src/fortran/wpodiv.lo src/fortran/wdmpmu.lo \
+ src/fortran/wmptra.lo src/fortran/wmpins.lo \
+ src/fortran/mpdegr.lo src/fortran/ddmpev.lo \
+ src/fortran/realit.lo src/fortran/dpmul.lo \
+ src/fortran/sfact2.lo src/fortran/dmpad.lo \
+ src/fortran/nextk.lo src/fortran/blktit.lo \
+ src/fortran/dimin.lo src/fortran/newest.lo \
+ src/fortran/dwmpmu.lo src/fortran/impcnc.lo \
+ src/fortran/wdmpad.lo src/fortran/wmpcle.lo \
+ src/fortran/quadit.lo src/fortran/quad.lo \
+ src/fortran/calcsc.lo src/fortran/writebufsfact.lo \
+ src/fortran/chkvar.lo
+am_libscipolynomials_algo_la_OBJECTS = $(am__objects_1)
+libscipolynomials_algo_la_OBJECTS = \
+ $(am_libscipolynomials_algo_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+@MAINTAINER_MODE_FALSE@am_libscipolynomials_algo_la_rpath =
+@MAINTAINER_MODE_TRUE@am_libscipolynomials_algo_la_rpath =
+libscipolynomials_la_DEPENDENCIES = libscipolynomials-algo.la
+am__objects_2 = sci_gateway/fortran/sci_f_simp.lo \
+ sci_gateway/fortran/sci_f_poly.lo \
+ sci_gateway/fortran/sci_f_varn.lo \
+ sci_gateway/fortran/sci_f_sum.lo \
+ sci_gateway/fortran/sci_f_div.lo \
+ sci_gateway/fortran/sci_f_diag.lo \
+ sci_gateway/fortran/sci_f_prod.lo \
+ sci_gateway/fortran/polops.lo \
+ sci_gateway/fortran/sci_f_bezout.lo \
+ sci_gateway/fortran/sci_f_triu_tril.lo \
+ sci_gateway/fortran/sci_f_roots.lo \
+ sci_gateway/fortran/sci_f_psimp.lo \
+ sci_gateway/fortran/sci_f_rsimp.lo \
+ sci_gateway/fortran/sci_f_coeff.lo \
+ sci_gateway/fortran/sci_f_degree.lo \
+ sci_gateway/fortran/sci_f_pclean.lo \
+ sci_gateway/fortran/sci_f_sfact.lo \
+ sci_gateway/fortran/sci_f_simpmd.lo
+am__objects_3 = sci_gateway/c/libscipolynomials_la-gw_polynomials.lo \
+ sci_gateway/c/libscipolynomials_la-sci_sfact.lo \
+ sci_gateway/c/libscipolynomials_la-sci_cleanp.lo \
+ sci_gateway/c/libscipolynomials_la-sci_sum.lo \
+ sci_gateway/c/libscipolynomials_la-sci_prod.lo \
+ sci_gateway/c/libscipolynomials_la-sci_diag.lo \
+ sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo \
+ sci_gateway/c/libscipolynomials_la-sci_roots.lo \
+ sci_gateway/c/libscipolynomials_la-sci_varn.lo \
+ sci_gateway/c/libscipolynomials_la-sci_simp.lo \
+ sci_gateway/c/libscipolynomials_la-sci_bezout.lo \
+ sci_gateway/c/libscipolynomials_la-sci_tril.lo \
+ sci_gateway/c/libscipolynomials_la-sci_div.lo \
+ sci_gateway/c/libscipolynomials_la-sci_coeff.lo \
+ sci_gateway/c/libscipolynomials_la-sci_poly.lo \
+ sci_gateway/c/libscipolynomials_la-sci_triu.lo \
+ sci_gateway/c/libscipolynomials_la-sci_degree.lo
+am_libscipolynomials_la_OBJECTS = $(am__objects_2) $(am__objects_3)
+libscipolynomials_la_OBJECTS = $(am_libscipolynomials_la_OBJECTS)
+@MAINTAINER_MODE_FALSE@am_libscipolynomials_la_rpath =
+@MAINTAINER_MODE_TRUE@am_libscipolynomials_la_rpath = -rpath \
+@MAINTAINER_MODE_TRUE@ $(pkglibdir)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/modules/core/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
+LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
+AM_V_F77 = $(am__v_F77_@AM_V@)
+am__v_F77_ = $(am__v_F77_@AM_DEFAULT_V@)
+am__v_F77_0 = @echo " F77 " $@;
+am__v_F77_1 =
+F77LD = $(F77)
+F77LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_F77LD = $(am__v_F77LD_@AM_V@)
+am__v_F77LD_ = $(am__v_F77LD_@AM_DEFAULT_V@)
+am__v_F77LD_0 = @echo " F77LD " $@;
+am__v_F77LD_1 =
+SOURCES = $(libscipolynomials_algo_la_SOURCES) \
+ $(libscipolynomials_la_SOURCES)
+DIST_SOURCES = $(libscipolynomials_algo_la_SOURCES) \
+ $(libscipolynomials_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(libscipolynomials_la_etc_DATA) \
+ $(libscipolynomials_la_root_DATA) \
+ $(libscipolynomials_la_sci_gateway_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+ALL_LINGUAS_DOC = @ALL_LINGUAS_DOC@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+ANTLR = @ANTLR@
+AR = @AR@
+ARPACK_LIBS = @ARPACK_LIBS@
+ASM3 = @ASM3@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AVALON_FRAMEWORK = @AVALON_FRAMEWORK@
+AWK = @AWK@
+BATIK = @BATIK@
+BLAS_LIBS = @BLAS_LIBS@
+CC = @CC@
+CCACHE = @CCACHE@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECKSTYLE = @CHECKSTYLE@
+COBERTURA = @COBERTURA@
+COMMONS_BEANUTILS = @COMMONS_BEANUTILS@
+COMMONS_IO = @COMMONS_IO@
+COMMONS_LOGGING = @COMMONS_LOGGING@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_CONFIG = @CURL_CONFIG@
+CURL_LIBS = @CURL_LIBS@
+CURL_VERSION = @CURL_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMOTOOLS_ENABLE = @DEMOTOOLS_ENABLE@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCBOOK_ROOT = @DOCBOOK_ROOT@
+DOXYGEN_BIN = @DOXYGEN_BIN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FFTW3_LIB = @FFTW3_LIB@
+FFTW_ENABLE = @FFTW_ENABLE@
+FGREP = @FGREP@
+FLEXDOCK = @FLEXDOCK@
+FLIBS = @FLIBS@
+FOP = @FOP@
+FREEHEP_GRAPHICS2D = @FREEHEP_GRAPHICS2D@
+FREEHEP_GRAPHICSIO = @FREEHEP_GRAPHICSIO@
+FREEHEP_GRAPHICSIO_EMF = @FREEHEP_GRAPHICSIO_EMF@
+FREEHEP_IO = @FREEHEP_IO@
+FREEHEP_UTIL = @FREEHEP_UTIL@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GIWS_BIN = @GIWS_BIN@
+GLUEGEN2_RT = @GLUEGEN2_RT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GRAPHICS_ENABLE = @GRAPHICS_ENABLE@
+GREP = @GREP@
+GUI_ENABLE = @GUI_ENABLE@
+HDF5_CFLAGS = @HDF5_CFLAGS@
+HDF5_LIBS = @HDF5_LIBS@
+HELP_ENABLE = @HELP_ENABLE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAC_DEBUG = @JAVAC_DEBUG@
+JAVADOC = @JAVADOC@
+JAVAH = @JAVAH@
+JAVASCI_ENABLE = @JAVASCI_ENABLE@
+JAVA_ENABLE = @JAVA_ENABLE@
+JAVA_G = @JAVA_G@
+JAVA_HOME = @JAVA_HOME@
+JAVA_JNI_INCLUDE = @JAVA_JNI_INCLUDE@
+JAVA_JNI_LIBS = @JAVA_JNI_LIBS@
+JDB = @JDB@
+JEUCLID_CORE = @JEUCLID_CORE@
+JGRAPHX = @JGRAPHX@
+JHALL = @JHALL@
+JLATEXMATH = @JLATEXMATH@
+JLATEXMATH_FOP = @JLATEXMATH_FOP@
+JOGL2 = @JOGL2@
+JROSETTA_API = @JROSETTA_API@
+JROSETTA_ENGINE = @JROSETTA_ENGINE@
+JUNIT4 = @JUNIT4@
+LAPACK_LIBS = @LAPACK_LIBS@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOGGING_LEVEL = @LOGGING_LEVEL@
+LOOKS = @LOOKS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MATIO_CFLAGS = @MATIO_CFLAGS@
+MATIO_ENABLE = @MATIO_ENABLE@
+MATIO_LIBS = @MATIO_LIBS@
+MKDIR_P = @MKDIR_P@
+MPI_ENABLE = @MPI_ENABLE@
+MSGCAT = @MSGCAT@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLC = @OCAMLC@
+OCAMLDEP = @OCAMLDEP@
+OCAMLLEX = @OCAMLLEX@
+OCAMLOPT = @OCAMLOPT@
+OCAMLYACC = @OCAMLYACC@
+OPENMPI_CC = @OPENMPI_CC@
+OPENMPI_CFLAGS = @OPENMPI_CFLAGS@
+OPENMPI_CXX = @OPENMPI_CXX@
+OPENMPI_CXXFLAGS = @OPENMPI_CXXFLAGS@
+OPENMPI_LIBS = @OPENMPI_LIBS@
+OPENMP_CFLAGS = @OPENMP_CFLAGS@
+OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@
+OPENMP_ENABLE = @OPENMP_ENABLE@
+OPENMP_LIBS = @OPENMP_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PCRE_CFLAGS = @PCRE_CFLAGS@
+PCRE_CONFIG = @PCRE_CONFIG@
+PCRE_LIBS = @PCRE_LIBS@
+PCRE_VERSION = @PCRE_VERSION@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+POW_LIB = @POW_LIB@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+RELOCATABLE = @RELOCATABLE@
+RT_LIB = @RT_LIB@
+SAXON = @SAXON@
+SCILAB_BINARY_VERSION = @SCILAB_BINARY_VERSION@
+SCILAB_LIBRARY_VERSION = @SCILAB_LIBRARY_VERSION@
+SCILAB_VERSION_MAINTENANCE = @SCILAB_VERSION_MAINTENANCE@
+SCILAB_VERSION_MAJOR = @SCILAB_VERSION_MAJOR@
+SCILAB_VERSION_MINOR = @SCILAB_VERSION_MINOR@
+SCIRENDERER = @SCIRENDERER@
+SCIRENDERER_CP = @SCIRENDERER_CP@
+SCI_CFLAGS = @SCI_CFLAGS@
+SCI_CXXFLAGS = @SCI_CXXFLAGS@
+SCI_FFLAGS = @SCI_FFLAGS@
+SCI_LDFLAGS = @SCI_LDFLAGS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SET_RELOCATABLE = @SET_RELOCATABLE@
+SHELL = @SHELL@
+SKINLF = @SKINLF@
+SPLINT = @SPLINT@
+STRIP = @STRIP@
+SWIG_BIN = @SWIG_BIN@
+SWIG_JAVA = @SWIG_JAVA@
+SWIG_RUNTIME_LIBS_DIR = @SWIG_RUNTIME_LIBS_DIR@
+SWIG_SCILAB = @SWIG_SCILAB@
+TCLTK_LIBS = @TCLTK_LIBS@
+TCL_INC_PATH = @TCL_INC_PATH@
+TK_INC_PATH = @TK_INC_PATH@
+UMFPACK_CFLAGS = @UMFPACK_CFLAGS@
+UMFPACK_ENABLE = @UMFPACK_ENABLE@
+UMFPACK_LIB = @UMFPACK_LIB@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WITH_OCAML = @WITH_OCAML@
+WITH_TKSCI = @WITH_TKSCI@
+XCOS_ENABLE = @XCOS_ENABLE@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XMKMF = @XMKMF@
+XMLGRAPHICS_COMMONS = @XMLGRAPHICS_COMMONS@
+XML_APIS_EXT = @XML_APIS_EXT@
+XML_CONFIG = @XML_CONFIG@
+XML_FLAGS = @XML_FLAGS@
+XML_LIBS = @XML_LIBS@
+XML_VERSION = @XML_VERSION@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+cxx_present = @cxx_present@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+POLYNOMIALS_FORTRAN_SOURCES = src/fortran/residu.f \
+src/fortran/imptra.f \
+src/fortran/dmpadj.f \
+src/fortran/impins.f \
+src/fortran/dpmul1.f \
+src/fortran/wprxc.f \
+src/fortran/dmpcnc.f \
+src/fortran/wmpmu.f \
+src/fortran/mpinsp.f \
+src/fortran/impext.f \
+src/fortran/recbez.f \
+src/fortran/sfact1.f \
+src/fortran/dpodiv.f \
+src/fortran/dmptra.f \
+src/fortran/dmpins.f \
+src/fortran/dpsimp.f \
+src/fortran/dmp2pm.f \
+src/fortran/dmpext.f \
+src/fortran/wpmul.f \
+src/fortran/bezstp.f \
+src/fortran/wmpad.f \
+src/fortran/dprxc.f \
+src/fortran/quadsd.f \
+src/fortran/wmpadj.f \
+src/fortran/dmpmu.f \
+src/fortran/wpmul1.f \
+src/fortran/wmpcnc.f \
+src/fortran/mptri.f \
+src/fortran/horner.f \
+src/fortran/idegre.f \
+src/fortran/fxshfr.f \
+src/fortran/mpdiag.f \
+src/fortran/dmpcle.f \
+src/fortran/rpoly.f \
+src/fortran/wpodiv.f \
+src/fortran/wdmpmu.f \
+src/fortran/wmptra.f \
+src/fortran/wmpins.f \
+src/fortran/mpdegr.f \
+src/fortran/ddmpev.f \
+src/fortran/realit.f \
+src/fortran/dpmul.f \
+src/fortran/sfact2.f \
+src/fortran/dmpad.f \
+src/fortran/nextk.f \
+src/fortran/blktit.f \
+src/fortran/dimin.f \
+src/fortran/newest.f \
+src/fortran/dwmpmu.f \
+src/fortran/impcnc.f \
+src/fortran/wdmpad.f \
+src/fortran/wmpcle.f \
+src/fortran/quadit.f \
+src/fortran/quad.f \
+src/fortran/calcsc.f \
+src/fortran/writebufsfact.f \
+src/fortran/chkvar.f
+
+GATEWAY_C_SOURCES = sci_gateway/c/gw_polynomials.c \
+sci_gateway/c/sci_sfact.c \
+sci_gateway/c/sci_cleanp.c \
+sci_gateway/c/sci_sum.c \
+sci_gateway/c/sci_prod.c \
+sci_gateway/c/sci_diag.c \
+sci_gateway/c/sci_simp_mode.c \
+sci_gateway/c/sci_roots.c \
+sci_gateway/c/sci_varn.c \
+sci_gateway/c/sci_simp.c \
+sci_gateway/c/sci_bezout.c \
+sci_gateway/c/sci_tril.c \
+sci_gateway/c/sci_div.c \
+sci_gateway/c/sci_coeff.c \
+sci_gateway/c/sci_poly.c \
+sci_gateway/c/sci_triu.c \
+sci_gateway/c/sci_degree.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_simp.f \
+sci_gateway/fortran/sci_f_poly.f \
+sci_gateway/fortran/sci_f_varn.f \
+sci_gateway/fortran/sci_f_sum.f \
+sci_gateway/fortran/sci_f_div.f \
+sci_gateway/fortran/sci_f_diag.f \
+sci_gateway/fortran/sci_f_prod.f \
+sci_gateway/fortran/polops.f \
+sci_gateway/fortran/sci_f_bezout.f \
+sci_gateway/fortran/sci_f_triu_tril.f \
+sci_gateway/fortran/sci_f_roots.f \
+sci_gateway/fortran/sci_f_psimp.f \
+sci_gateway/fortran/sci_f_rsimp.f \
+sci_gateway/fortran/sci_f_coeff.f \
+sci_gateway/fortran/sci_f_degree.f \
+sci_gateway/fortran/sci_f_pclean.f \
+sci_gateway/fortran/sci_f_sfact.f \
+sci_gateway/fortran/sci_f_simpmd.f
+
+libscipolynomials_la_CPPFLAGS = -I$(srcdir)/includes/ \
+ -I$(top_srcdir)/modules/api_scilab/includes/ \
+ -I$(top_srcdir)/modules/output_stream/includes/ \
+ -I$(top_srcdir)/modules/localization/includes/ \
+ $(AM_CPPFLAGS)
+
+@MAINTAINER_MODE_TRUE@pkglib_LTLIBRARIES = libscipolynomials.la
+@MAINTAINER_MODE_FALSE@noinst_LTLIBRARIES = libscipolynomials-algo.la libscipolynomials.la
+@MAINTAINER_MODE_TRUE@noinst_LTLIBRARIES = libscipolynomials-algo.la
+libscipolynomials_algo_la_SOURCES = $(POLYNOMIALS_FORTRAN_SOURCES)
+libscipolynomials_la_SOURCES = $(GATEWAY_FORTRAN_SOURCES) $(GATEWAY_C_SOURCES)
+libscipolynomials_algo_la_CPPFLAGS = $(libscipolynomials_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC = ) $(GATEWAY_C_SOURCES)
+INCLUDE_FLAGS = $(libscipolynomials_la_CPPFLAGS)
+libscipolynomials_la_LIBADD = libscipolynomials-algo.la
+
+#### Target ######
+modulename = polynomials
+
+#### polynomials : Conf files ####
+libscipolynomials_la_rootdir = $(mydatadir)
+libscipolynomials_la_root_DATA = license.txt
+
+#### polynomials : init scripts ####
+libscipolynomials_la_etcdir = $(mydatadir)/etc
+libscipolynomials_la_etc_DATA = etc/polynomials.quit etc/polynomials.start
+
+#### polynomials : gateway declaration ####
+libscipolynomials_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscipolynomials_la_sci_gateway_DATA = sci_gateway/polynomials_gateway.xml
+
+# Where all the Scilab stuff is installed (macros, help, ...)
+mydatadir = $(pkgdatadir)/modules/$(modulename)
+
+# Set AM_* SCI detected settings
+AM_CPPFLAGS = $(SCI_CPPFLAGS)
+AM_CFLAGS = $(SCI_CFLAGS)
+AM_CXXFLAGS = $(SCI_CXXFLAGS)
+# append includes to AM_FFLAGS to manage fortran includes
+AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/
+
+# Tag shared libraries with the Scilab version
+AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION)
+
+# splint options
+SPLINT_OPTIONS = -weak -booltype BOOL
+
+########################### JAVA ######################################
+#### We are delegating java compilation to ant... Thanks to that
+#### the procedure will be the same with Microsoft Windows (C)
+#### and Linux/Unix
+#######################################################################
+TARGETS_ALL = $(am__append_1)
+
+################ MACROS ######################
+# Rule to build a macro
+# NOT USED AT THE MOMENT
+SUFFIXES = .sci
+
+########### INSTALL DOCUMENTATION ###################
+
+# Install documentation files into the right target
+# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
+# automake needs the html files to be present which is not the case when
+# we are building Scilab
+
+# Where it should be installed
+pkgdocdir = $(mydatadir)
+
+# What is the mask of the help source
+DOCMASKXML = *.xml
+
+# What is the mask of the MathML sources
+DOCMASKMML = *.mml
+
+########### INSTALL DATA ###################
+# Install macros, help & demos
+# Where it should be installed
+pkgmacrosdir = $(mydatadir)
+# Which directory we process
+MACRODIRS = macros/
+# Mask of the Scilab sources macros
+MACROMASK = *.sci
+# Mask of the Scilab executable sources macros
+MACROBUILDMASK = *.sce
+# Mask of the Scilab compiled macros
+MACROBINMASK = *.bin
+# List of the standard directory for tests
+TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java
+# Where the demos should be installed
+pkgdemosdir = $(mydatadir)
+# List of the standard directory for demos
+DEMOS_DIR = demos
+# List of the standard directory for examples
+EXAMPLES_DIR = examples
+# Where to export JAVA archives (.jar)
+JARDIR = jar/
+# JAR files mask
+JARMASK = *.jar
+# Chapter file
+HELP_CHAPTERDIR = help/
+HELP_CHAPTERFILE = addchapter.sce
+HELP_CHAPTERLANG = en_US fr_FR pt_BR
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .sci .bin .c .f .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/polynomials/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign modules/polynomials/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Makefile.incl.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+src/fortran/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran
+ @: > src/fortran/$(am__dirstamp)
+src/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran/$(DEPDIR)
+ @: > src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/residu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/imptra.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpadj.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/impins.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpmul1.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wprxc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpcnc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mpinsp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/impext.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/recbez.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/sfact1.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpodiv.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmptra.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpins.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpsimp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmp2pm.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpext.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wpmul.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/bezstp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dprxc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/quadsd.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpadj.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wpmul1.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpcnc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mptri.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/horner.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/idegre.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/fxshfr.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mpdiag.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpcle.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/rpoly.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wpodiv.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wdmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmptra.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpins.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mpdegr.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/ddmpev.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/realit.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dpmul.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/sfact2.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dmpad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/nextk.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/blktit.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dimin.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/newest.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/dwmpmu.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/impcnc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wdmpad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/wmpcle.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/quadit.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/quad.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/calcsc.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/writebufsfact.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/chkvar.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscipolynomials-algo.la: $(libscipolynomials_algo_la_OBJECTS) $(libscipolynomials_algo_la_DEPENDENCIES) $(EXTRA_libscipolynomials_algo_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscipolynomials_algo_la_rpath) $(libscipolynomials_algo_la_OBJECTS) $(libscipolynomials_algo_la_LIBADD) $(LIBS)
+sci_gateway/fortran/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran
+ @: > sci_gateway/fortran/$(am__dirstamp)
+sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran/$(DEPDIR)
+ @: > sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_simp.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_poly.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_varn.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_sum.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_div.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_diag.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_prod.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/polops.lo: sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_bezout.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_triu_tril.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_roots.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_psimp.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_rsimp.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_coeff.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_degree.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_pclean.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_sfact.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_simpmd.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c
+ @: > sci_gateway/c/$(am__dirstamp)
+sci_gateway/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c/$(DEPDIR)
+ @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-gw_polynomials.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_sfact.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_cleanp.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_sum.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_prod.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_diag.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_roots.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_varn.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_simp.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_bezout.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_tril.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_div.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_coeff.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_poly.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_triu.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscipolynomials_la-sci_degree.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+
+libscipolynomials.la: $(libscipolynomials_la_OBJECTS) $(libscipolynomials_la_DEPENDENCIES) $(EXTRA_libscipolynomials_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscipolynomials_la_rpath) $(libscipolynomials_la_OBJECTS) $(libscipolynomials_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f sci_gateway/c/*.$(OBJEXT)
+ -rm -f sci_gateway/c/*.lo
+ -rm -f sci_gateway/fortran/*.$(OBJEXT)
+ -rm -f sci_gateway/fortran/*.lo
+ -rm -f src/fortran/*.$(OBJEXT)
+ -rm -f src/fortran/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+sci_gateway/c/libscipolynomials_la-gw_polynomials.lo: sci_gateway/c/gw_polynomials.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-gw_polynomials.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Tpo -c -o sci_gateway/c/libscipolynomials_la-gw_polynomials.lo `test -f 'sci_gateway/c/gw_polynomials.c' || echo '$(srcdir)/'`sci_gateway/c/gw_polynomials.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-gw_polynomials.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_polynomials.c' object='sci_gateway/c/libscipolynomials_la-gw_polynomials.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-gw_polynomials.lo `test -f 'sci_gateway/c/gw_polynomials.c' || echo '$(srcdir)/'`sci_gateway/c/gw_polynomials.c
+
+sci_gateway/c/libscipolynomials_la-sci_sfact.lo: sci_gateway/c/sci_sfact.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_sfact.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_sfact.lo `test -f 'sci_gateway/c/sci_sfact.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sfact.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sfact.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_sfact.c' object='sci_gateway/c/libscipolynomials_la-sci_sfact.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_sfact.lo `test -f 'sci_gateway/c/sci_sfact.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sfact.c
+
+sci_gateway/c/libscipolynomials_la-sci_cleanp.lo: sci_gateway/c/sci_cleanp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_cleanp.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_cleanp.lo `test -f 'sci_gateway/c/sci_cleanp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_cleanp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_cleanp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_cleanp.c' object='sci_gateway/c/libscipolynomials_la-sci_cleanp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_cleanp.lo `test -f 'sci_gateway/c/sci_cleanp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_cleanp.c
+
+sci_gateway/c/libscipolynomials_la-sci_sum.lo: sci_gateway/c/sci_sum.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_sum.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_sum.lo `test -f 'sci_gateway/c/sci_sum.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sum.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_sum.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_sum.c' object='sci_gateway/c/libscipolynomials_la-sci_sum.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_sum.lo `test -f 'sci_gateway/c/sci_sum.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sum.c
+
+sci_gateway/c/libscipolynomials_la-sci_prod.lo: sci_gateway/c/sci_prod.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_prod.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_prod.lo `test -f 'sci_gateway/c/sci_prod.c' || echo '$(srcdir)/'`sci_gateway/c/sci_prod.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_prod.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_prod.c' object='sci_gateway/c/libscipolynomials_la-sci_prod.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_prod.lo `test -f 'sci_gateway/c/sci_prod.c' || echo '$(srcdir)/'`sci_gateway/c/sci_prod.c
+
+sci_gateway/c/libscipolynomials_la-sci_diag.lo: sci_gateway/c/sci_diag.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_diag.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_diag.lo `test -f 'sci_gateway/c/sci_diag.c' || echo '$(srcdir)/'`sci_gateway/c/sci_diag.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_diag.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_diag.c' object='sci_gateway/c/libscipolynomials_la-sci_diag.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_diag.lo `test -f 'sci_gateway/c/sci_diag.c' || echo '$(srcdir)/'`sci_gateway/c/sci_diag.c
+
+sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo: sci_gateway/c/sci_simp_mode.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo `test -f 'sci_gateway/c/sci_simp_mode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp_mode.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp_mode.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_simp_mode.c' object='sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo `test -f 'sci_gateway/c/sci_simp_mode.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp_mode.c
+
+sci_gateway/c/libscipolynomials_la-sci_roots.lo: sci_gateway/c/sci_roots.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_roots.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_roots.lo `test -f 'sci_gateway/c/sci_roots.c' || echo '$(srcdir)/'`sci_gateway/c/sci_roots.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_roots.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_roots.c' object='sci_gateway/c/libscipolynomials_la-sci_roots.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_roots.lo `test -f 'sci_gateway/c/sci_roots.c' || echo '$(srcdir)/'`sci_gateway/c/sci_roots.c
+
+sci_gateway/c/libscipolynomials_la-sci_varn.lo: sci_gateway/c/sci_varn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_varn.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_varn.lo `test -f 'sci_gateway/c/sci_varn.c' || echo '$(srcdir)/'`sci_gateway/c/sci_varn.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_varn.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_varn.c' object='sci_gateway/c/libscipolynomials_la-sci_varn.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_varn.lo `test -f 'sci_gateway/c/sci_varn.c' || echo '$(srcdir)/'`sci_gateway/c/sci_varn.c
+
+sci_gateway/c/libscipolynomials_la-sci_simp.lo: sci_gateway/c/sci_simp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_simp.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_simp.lo `test -f 'sci_gateway/c/sci_simp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_simp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_simp.c' object='sci_gateway/c/libscipolynomials_la-sci_simp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_simp.lo `test -f 'sci_gateway/c/sci_simp.c' || echo '$(srcdir)/'`sci_gateway/c/sci_simp.c
+
+sci_gateway/c/libscipolynomials_la-sci_bezout.lo: sci_gateway/c/sci_bezout.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_bezout.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_bezout.lo `test -f 'sci_gateway/c/sci_bezout.c' || echo '$(srcdir)/'`sci_gateway/c/sci_bezout.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_bezout.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_bezout.c' object='sci_gateway/c/libscipolynomials_la-sci_bezout.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_bezout.lo `test -f 'sci_gateway/c/sci_bezout.c' || echo '$(srcdir)/'`sci_gateway/c/sci_bezout.c
+
+sci_gateway/c/libscipolynomials_la-sci_tril.lo: sci_gateway/c/sci_tril.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_tril.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_tril.lo `test -f 'sci_gateway/c/sci_tril.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tril.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_tril.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_tril.c' object='sci_gateway/c/libscipolynomials_la-sci_tril.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_tril.lo `test -f 'sci_gateway/c/sci_tril.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tril.c
+
+sci_gateway/c/libscipolynomials_la-sci_div.lo: sci_gateway/c/sci_div.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_div.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_div.lo `test -f 'sci_gateway/c/sci_div.c' || echo '$(srcdir)/'`sci_gateway/c/sci_div.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_div.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_div.c' object='sci_gateway/c/libscipolynomials_la-sci_div.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_div.lo `test -f 'sci_gateway/c/sci_div.c' || echo '$(srcdir)/'`sci_gateway/c/sci_div.c
+
+sci_gateway/c/libscipolynomials_la-sci_coeff.lo: sci_gateway/c/sci_coeff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_coeff.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_coeff.lo `test -f 'sci_gateway/c/sci_coeff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_coeff.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_coeff.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_coeff.c' object='sci_gateway/c/libscipolynomials_la-sci_coeff.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_coeff.lo `test -f 'sci_gateway/c/sci_coeff.c' || echo '$(srcdir)/'`sci_gateway/c/sci_coeff.c
+
+sci_gateway/c/libscipolynomials_la-sci_poly.lo: sci_gateway/c/sci_poly.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_poly.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_poly.lo `test -f 'sci_gateway/c/sci_poly.c' || echo '$(srcdir)/'`sci_gateway/c/sci_poly.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_poly.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_poly.c' object='sci_gateway/c/libscipolynomials_la-sci_poly.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_poly.lo `test -f 'sci_gateway/c/sci_poly.c' || echo '$(srcdir)/'`sci_gateway/c/sci_poly.c
+
+sci_gateway/c/libscipolynomials_la-sci_triu.lo: sci_gateway/c/sci_triu.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_triu.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_triu.lo `test -f 'sci_gateway/c/sci_triu.c' || echo '$(srcdir)/'`sci_gateway/c/sci_triu.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_triu.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_triu.c' object='sci_gateway/c/libscipolynomials_la-sci_triu.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_triu.lo `test -f 'sci_gateway/c/sci_triu.c' || echo '$(srcdir)/'`sci_gateway/c/sci_triu.c
+
+sci_gateway/c/libscipolynomials_la-sci_degree.lo: sci_gateway/c/sci_degree.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscipolynomials_la-sci_degree.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Tpo -c -o sci_gateway/c/libscipolynomials_la-sci_degree.lo `test -f 'sci_gateway/c/sci_degree.c' || echo '$(srcdir)/'`sci_gateway/c/sci_degree.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Tpo sci_gateway/c/$(DEPDIR)/libscipolynomials_la-sci_degree.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_degree.c' object='sci_gateway/c/libscipolynomials_la-sci_degree.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscipolynomials_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscipolynomials_la-sci_degree.lo `test -f 'sci_gateway/c/sci_degree.c' || echo '$(srcdir)/'`sci_gateway/c/sci_degree.c
+
+.f.o:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
+
+.f.obj:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.f.lo:
+ $(AM_V_F77)$(LTF77COMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+ -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
+ -rm -rf src/fortran/.libs src/fortran/_libs
+install-libscipolynomials_la_etcDATA: $(libscipolynomials_la_etc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscipolynomials_la_etc_DATA)'; test -n "$(libscipolynomials_la_etcdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscipolynomials_la_etcdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscipolynomials_la_etcdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscipolynomials_la_etcdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscipolynomials_la_etcdir)" || exit $$?; \
+ done
+
+uninstall-libscipolynomials_la_etcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscipolynomials_la_etc_DATA)'; test -n "$(libscipolynomials_la_etcdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscipolynomials_la_etcdir)'; $(am__uninstall_files_from_dir)
+install-libscipolynomials_la_rootDATA: $(libscipolynomials_la_root_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscipolynomials_la_root_DATA)'; test -n "$(libscipolynomials_la_rootdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscipolynomials_la_rootdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscipolynomials_la_rootdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscipolynomials_la_rootdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscipolynomials_la_rootdir)" || exit $$?; \
+ done
+
+uninstall-libscipolynomials_la_rootDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscipolynomials_la_root_DATA)'; test -n "$(libscipolynomials_la_rootdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscipolynomials_la_rootdir)'; $(am__uninstall_files_from_dir)
+install-libscipolynomials_la_sci_gatewayDATA: $(libscipolynomials_la_sci_gateway_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscipolynomials_la_sci_gateway_DATA)'; test -n "$(libscipolynomials_la_sci_gatewaydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)" || exit $$?; \
+ done
+
+uninstall-libscipolynomials_la_sci_gatewayDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscipolynomials_la_sci_gateway_DATA)'; test -n "$(libscipolynomials_la_sci_gatewaydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscipolynomials_la_etcdir)" "$(DESTDIR)$(libscipolynomials_la_rootdir)" "$(DESTDIR)$(libscipolynomials_la_sci_gatewaydir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/c/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(am__dirstamp)
+ -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/fortran/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf sci_gateway/c/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local \
+ install-libscipolynomials_la_etcDATA \
+ install-libscipolynomials_la_rootDATA \
+ install-libscipolynomials_la_sci_gatewayDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am: install-html-local
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf sci_gateway/c/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libscipolynomials_la_etcDATA \
+ uninstall-libscipolynomials_la_rootDATA \
+ uninstall-libscipolynomials_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \
+ check-local clean clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-html-local install-info \
+ install-info-am install-libscipolynomials_la_etcDATA \
+ install-libscipolynomials_la_rootDATA \
+ install-libscipolynomials_la_sci_gatewayDATA install-man \
+ install-pdf install-pdf-am install-pkglibLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-libscipolynomials_la_etcDATA \
+ uninstall-libscipolynomials_la_rootDATA \
+ uninstall-libscipolynomials_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+
+# This target enables tests for Scilab
+check-local: $(top_builddir)/scilab-bin test
+ if test -d $(mydatadir)/tests; then \
+ @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \
+ fi
+check-code:
+ if test -f build.xml; then \
+ $(ANT) checkstyle; \
+ fi
+ if test -x "$(SPLINT)"; then \
+ $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \
+ fi
+@NEED_JAVA_TRUE@java:
+# Some configurations needs to export JAVA_HOME in the current env
+@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \
+@NEED_JAVA_TRUE@ $(ANT); \
+@NEED_JAVA_TRUE@ fi
+
+@NEED_JAVA_TRUE@clean-java:
+# Some configurations needs to export JAVA_HOME in the current env
+@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \
+@NEED_JAVA_TRUE@ $(ANT) clean; \
+@NEED_JAVA_TRUE@ fi;
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+@SWIG_TRUE@swig: $(SWIG_WRAPPERS)
+@SWIG_TRUE@ @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
+@SWIG_TRUE@ SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
+@SWIG_TRUE@ if test -n "$(SWIG_WRAPPERS)"; then \
+@SWIG_TRUE@ for file in $(SWIG_WRAPPERS) ; do \
+@SWIG_TRUE@ echo "Swig process of $$file (Java) ..."; \
+@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \
+@SWIG_TRUE@ done; \
+@SWIG_TRUE@ fi
+
+@SWIG_TRUE@swig-scilab: $(SWIG_SCILAB_WRAPPERS)
+@SWIG_TRUE@ @SWIG_OUTDIR=src/swig/; \
+@SWIG_TRUE@ if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \
+@SWIG_TRUE@ for file in $(SWIG_SCILAB_WRAPPERS) ; do \
+@SWIG_TRUE@ echo "Swig process of $$file (Scilab) ..."; \
+@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \
+@SWIG_TRUE@ done; \
+@SWIG_TRUE@ fi
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+@GIWS_TRUE@giws: $(GIWS_WRAPPERS)
+@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/; \
+@GIWS_TRUE@ MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
+@GIWS_TRUE@ if test -n "$(GIWS_WRAPPERS)"; then \
+@GIWS_TRUE@ for file in $(GIWS_WRAPPERS) ; do \
+@GIWS_TRUE@ echo "GIWS process of $$file ..."; \
+@GIWS_TRUE@ if test -z "$(GIWS_OPTIONS)"; then \
+@GIWS_TRUE@ $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+@GIWS_TRUE@ else \
+@GIWS_TRUE@ echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \
+@GIWS_TRUE@ $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+@GIWS_TRUE@ fi \
+@GIWS_TRUE@ done; \
+@GIWS_TRUE@ fi
+
+@GIWS_TRUE@giws-exception:
+@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/;\
+@GIWS_TRUE@ echo "GIWS: Generation of exception class ..."; \
+@GIWS_TRUE@ $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR
+
+macros:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been built"; \
+ else \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
+ fi)
+
+# Removes the macros
+clean-macros:
+# Removes macros (*.bin generated from .sci)
+ @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
+ rm -f $(builddir)/$$dir/$(MACROBINMASK); \
+ done
+
+test:
+# More tests could be added here
+ @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) test; \
+ fi
+
+all-local: $(TARGETS_ALL)
+
+.sci.bin:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been build"; \
+ else \
+ echo "Creating $@"; \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
+ fi )
+
+install-html-local:
+
+install-data-local-local:
+# Mainly for javasci
+ @if test -d $(srcdir)/javadoc; then \
+ cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \
+ fi
+# If the user wants the help sources to be installed
+@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of XML sources of help files --------"; \
+@INSTALL_HELP_XML_TRUE@ for lang in $(ALL_LINGUAS); do \
+@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/$$lang; then \
+@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
+@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
+@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
+@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
+@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
+@INSTALL_HELP_XML_TRUE@ done ; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ done; \
+@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of MathML sources --------"; \
+@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/mml/; then \
+@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \
+@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \
+@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \
+@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \
+@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \
+@INSTALL_HELP_XML_TRUE@ done ; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ fi
+install-data-local:
+# Install the tests
+ @echo "-------- Install tests (if any) --------"; \
+ for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the help chapter
+ @echo "-------- Install the help chapter (if any) --------"; \
+ for lang in $(HELP_CHAPTERLANG); do \
+ HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
+ if test -f $$HELPFILE; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ fi; \
+ done
+# Install the demos & examples
+ @echo "-------- Install demos & examples (if any) --------"; \
+ for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the macros
+ @echo "-------- Install macros (if any) --------"; \
+ for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ if test -d $(srcdir)/$$dir/; then \
+ FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
+ if test -n "$(MACROSSPECIALEXT)"; then \
+ specialExtDir=""; \
+ for specialExt in $(MACROSSPECIALEXT); do \
+ specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
+ done; \
+ FILELIST="$$FILELIST $$specialExtDir"; \
+ fi; \
+ for file in `ls -1 $$FILELIST 2>/dev/null`; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
+ done; \
+ fi; \
+ done
+# Install java files (.jar)
+ @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
+ echo "-------- Install jar files --------"; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
+ for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
+ done ; \
+ fi
+
+########### CLEAN ###################
+# Clean help (generated automatically by Scilab)
+# It used to clean the macro (clean-macros) but this was causing
+# make clean && make to fail Scilab startup
+@NEED_JAVA_TRUE@clean-local: clean-java
+@NEED_JAVA_FALSE@clean-local:
+
+distclean-local:
+ rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_*
+
+.PHONY: macros java swig giws
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/modules/polynomials/demos/intro/poly.intro.dem.sce b/modules/polynomials/demos/intro/poly.intro.dem.sce
new file mode 100755
index 000000000..bffa130f1
--- /dev/null
+++ b/modules/polynomials/demos/intro/poly.intro.dem.sce
@@ -0,0 +1,100 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+m = mode();
+mode(7);
+
+// This is a small introduction to the polynomials objects in
+// Scilab.
+// 1. Define the polynomial
+// There are several ways to define a polynomial in Scilab.
+// The first way is to define a variable and then define the
+// "natural" mathematical definition.
+// Define x as a variable, that is, a polynomial of degree 0
+x=poly(0,"x")
+// Define p as a polynomial of variable x
+p1=-6+11*x-6*x^2+x^3
+// The second way is to define the coefficients of the polynomial
+// as a vector.
+mycoeff=[-6 11 -6 1]
+p2=poly(mycoeff,"x","coeff")
+// The third way is to define the polynomials by its roots.
+myroots=[1 2 3]
+p3=poly(myroots,"x","roots")
+// The 4th way is to define the polynomial as the characteristic
+// polynomial of a given matrix.
+// In the following case, we are giving the companion matrix of our
+// favorite polynomial.
+mymatrix=[6 -11 6;1 0 0;0 1 0]
+p4=poly(mymatrix,"x")
+// 2. Algebraic manipulations
+// We can can process simple algebraic computations
+// with the polynomials, considered as basic objects.
+p5 = p1+p2
+p6 = p1-p2
+p7 = p1*p2
+p8 = p3-p1*p4
+// We can test the equality of two polynomials
+are12equal = (p1==p2)
+are12diff = (p1<>p2)
+
+// 3. Polynomial analysis
+// Scilab provides several functions to inquire a specific
+// polynomial.
+// The "coeff" function returns a vector containing the
+// coefficients of a given polynomial.
+coeff1=coeff(p1)
+// One can compute the derivative of the polynomial with
+// the "derivat" function, which returns the derivative
+// of the given polynomial or rational polynomial.
+p10=derivat(p1)
+// One can compute numerically the roots of one given polynomial with the
+// "roots" function, which returns the vectors of roots.
+theroots=roots(p1)
+// The companion matrix is so that its characteristic polynomial
+// is p.
+comp1=companion(p1)
+// One can check that the eigenvalues of the companion matrix of p1
+// are the roots of p1.
+roots1=spec(comp1)
+// One can factor a given polynomial with the "factor" function.
+// Here the p1 polynomial can be written p1=g*(x-1)*(x-2)*(x-3)
+// with "g" the gain.
+[lnum,g]=factors(p1)
+
+// 4. Rational polynomial
+// Rational polynomials can be defined as well.
+p9=(1+2*x+3*x^2)/(4+5*x+6*x^2)
+// The derivative can be computed with "derivat", as
+// as regular polynomial.
+p11=derivat(p9)
+// Notice that polynomials and rational polynomials do
+// not have the same type.
+typeof(p1)
+typeof(p9)
+// The numerator and denominator polynomials of the rational polynomial
+// can be extracted with the "numer" and "denom" functions.
+numer(p9)
+denom(p9)
+// Rational polynomials can be simplified with the "simp" function,
+// which returns the numerator and denominator of the given couple
+// of polynomials.
+[n,d]=simp((x+1)*(x+2),(x+1)*(x-2))
+
+
+mode(m);
+
+// clear variables
+
+clear n; clear d; clear denom; clear numer;
+clear typeof; clear p11; clear p9; clear %p_r_p;
+clear lnum; clear g; clear factors; clear roots1;
+clear comp1; clear companion; clear theroots; clear p10;
+clear derivat; clear coeff1; clear are12diff; clear are12equal;
+clear p8; clear p7; clear p6; clear p5;
+clear p4; clear mymatrix; clear p3; clear myroots;
+clear p2; clear mycoeff; clear p1; clear x;
+clear m; \ No newline at end of file
diff --git a/modules/polynomials/demos/polynomials.dem.gateway.sce b/modules/polynomials/demos/polynomials.dem.gateway.sce
new file mode 100755
index 000000000..a1a3fdade
--- /dev/null
+++ b/modules/polynomials/demos/polynomials.dem.gateway.sce
@@ -0,0 +1,19 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+ demopath = get_absolute_file_path("polynomials.dem.gateway.sce");
+ add_demo(gettext("Polynomials"),demopath+"polynomials.dem.gateway.sce");
+
+ subdemolist = [_("Introduction") , "intro/poly.intro.dem.sce" ];
+
+ subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway; \ No newline at end of file
diff --git a/modules/polynomials/etc/polynomials.quit b/modules/polynomials/etc/polynomials.quit
new file mode 100755
index 000000000..ab83f0c89
--- /dev/null
+++ b/modules/polynomials/etc/polynomials.quit
@@ -0,0 +1,10 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
diff --git a/modules/polynomials/etc/polynomials.start b/modules/polynomials/etc/polynomials.start
new file mode 100755
index 000000000..7ab6a556a
--- /dev/null
+++ b/modules/polynomials/etc/polynomials.start
@@ -0,0 +1,19 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+//Load functions libraries
+// =============================================================================
+ load('SCI/modules/polynomials/macros/lib');
+
+// Special variables definition
+// =============================================================================
+ %s = poly(0,'s');
+ %z = poly(0,'z');
+ $ = poly(0,'$');
diff --git a/modules/polynomials/help/en_US/addchapter.sce b/modules/polynomials/help/en_US/addchapter.sce
new file mode 100755
index 000000000..97bf13cc2
--- /dev/null
+++ b/modules/polynomials/help/en_US/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Polynomials",SCI+"/modules/polynomials/help/en_US",%T);
+
diff --git a/modules/polynomials/help/en_US/bezout.xml b/modules/polynomials/help/en_US/bezout.xml
new file mode 100755
index 000000000..6e01106c9
--- /dev/null
+++ b/modules/polynomials/help/en_US/bezout.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="bezout">
+ <refnamediv>
+ <refname>bezout</refname>
+ <refpurpose>Bezout equation for polynomials or integers</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[thegcd,U]=bezout(p1,p2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1, p2</term>
+ <listitem>
+ <para>two real polynomials or two integer scalars (type equal to 1, 2 or 8)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>thegcd</term>
+ <listitem>
+ <para>
+ scalar of the same type as <literal>p1</literal> and <literal>p2</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>
+ <literal>2x2</literal> matrix of the same type as <literal>p1</literal> and <literal>p2</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[thegcd, U] = bezout(p1, p2)</literal> computes the GCD <literal>thegcd</literal> of <literal>p1</literal> and <literal>p2</literal>, and in addition a (2x2)
+ unimodular matrix <literal>U</literal> such that:
+ </para>
+ <para>
+ <literal>[p1 p2]*U = [thegcd 0]</literal>
+ </para>
+ <para>
+ The lcm of <literal>p1</literal> and <literal>p2</literal> is given by:
+ </para>
+ <para>
+ <literal>p1*U(1,2)</literal> (or <literal>-p2*U(2,2)</literal>)
+ </para>
+ <para>
+ If <literal>p1</literal> or <literal>p2</literal> are given as doubles (type 1), then they are treated as
+ null degree polynomials.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// Polynomial case
+x = poly(0, 'x');
+p1 = (x+1)*(x-3)^5;
+p2 = (x-2)*(x-3)^3;
+[thegcd,U] = bezout(p1, p2)
+det(U)
+clean([p1 p2]*U)
+thelcm = p1*U(1,2)
+lcm([p1 p2])
+
+// Double case
+i1 = 2*3^5;
+i2 = 2^3*3^2;
+[thegcd,U] = bezout(i1, i2)
+V = [2^2*3^5 2^3*3^2 2^2*3^4*5];
+[thegcd,U] = gcd(V)
+V*U
+lcm(V)
+
+// Integer case
+i1 = int32(2*3^5);
+i2 = int32(2^3*3^2);
+[thegcd,U] = bezout(i1, i2)
+V = int32([2^2*3^5 2^3*3^2 2^2*3^4*5]);
+[thegcd,U] = gcd(V)
+V*U
+lcm(V)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/chepol.xml b/modules/polynomials/help/en_US/chepol.xml
new file mode 100755
index 000000000..e7cec8330
--- /dev/null
+++ b/modules/polynomials/help/en_US/chepol.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="chepol">
+ <refnamediv>
+ <refname>chepol</refname>
+ <refpurpose>Chebychev polynomial</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[Tn]=chepol(n,var)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>n</term>
+ <listitem>
+ <para>integer : polynomial order</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>var</term>
+ <listitem>
+ <para>string : polynomial variable</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Tn</term>
+ <listitem>
+ <para>
+ polynomial in the variable <literal>var</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Recursive implementation of Chebychev polynomial.
+ <literal>Tn=2*poly(0,var)*chepol(n-1,var)-chepol(n-2,var)</literal> with
+ <literal>T0=1</literal> and <literal>T1=poly(0,var)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+chepol(4,'x')
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/cmndred.xml b/modules/polynomials/help/en_US/cmndred.xml
new file mode 100755
index 000000000..2d1bd7123
--- /dev/null
+++ b/modules/polynomials/help/en_US/cmndred.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="cmndred">
+ <refnamediv>
+ <refname>cmndred</refname>
+ <refpurpose>common denominator form</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[n,d]=cmndred(num,den)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>num, den</term>
+ <listitem>
+ <para>two polynomial matrices of same dimensions</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[n,d]=cmndred(num,den)</literal> computes a polynomial matrix
+ <literal>n</literal> and a common denominator polynomial <literal>d</literal>
+ such that:
+ </para>
+ <para>
+ <literal>n/d=num./den</literal>
+ </para>
+ <para>
+ The rational matrix defined by <literal>num./den</literal> is <literal>n/d</literal>
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/coeff.xml b/modules/polynomials/help/en_US/coeff.xml
new file mode 100755
index 000000000..ec158dc23
--- /dev/null
+++ b/modules/polynomials/help/en_US/coeff.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="coeff">
+ <refnamediv>
+ <refname>coeff</refname>
+ <refpurpose>coefficients of matrix polynomial</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[C]=coeff(Mp [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>Mp</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>integer (row or column) vector of selected degrees</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>big matrix of the coefficients</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>C=coeff(Mp)</literal>
+ returns in a big matrix <literal>C</literal> the coefficients of the
+ polynomial matrix <literal>Mp</literal> . <literal>C</literal> is partitioned
+ as <literal>C=[C0,C1,...,Ck]</literal>
+ where the <literal>Ci</literal> are arranged in increasing order
+ <literal>k = max(degree(Mp))</literal>
+ </para>
+ <para>
+ <literal>C=coeff(Mp,v)</literal> returns the matrix of coefficients with
+ degree in <literal>v</literal> . (<literal>v</literal> is a row or column vector).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+w=s*rand(10,10);
+determ(w)
+coeff(w,1)
+
+r = poly([0 -1+%i -1-%i],'s',"roots");
+coeff(r)
+
+r = poly([-1-%i -1+2*%i 0],'s',"roots");
+coeff(r)
+
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="inv_coeff">inv_coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/coffg.xml b/modules/polynomials/help/en_US/coffg.xml
new file mode 100755
index 000000000..248e00e28
--- /dev/null
+++ b/modules/polynomials/help/en_US/coffg.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="coffg">
+ <refnamediv>
+ <refname>coffg</refname>
+ <refpurpose>inverse of polynomial matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[Ns,d]=coffg(Fs)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>Fs</term>
+ <listitem>
+ <para>square polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>coffg</literal> computes <literal>Fs^-1</literal> where <literal>Fs</literal> is a polynomial
+ matrix by co-factors method.
+ </para>
+ <para>
+ <literal>Fs</literal> inverse = <literal>Ns/d</literal>
+ </para>
+ <para>
+ <literal>d</literal> = common denominator; <literal>Ns</literal> = numerator (a polynomial matrix)
+ </para>
+ <para>
+ (For large matrices,be patient...results are generally reliable)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+a=[ s, s^2+1; s s^2-1];
+[a1,d]=coffg(a);
+(a1/d)-inv(a)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="invr">invr</link>
+ </member>
+ <member>
+ <link linkend="penlaur">penlaur</link>
+ </member>
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/colcompr.xml b/modules/polynomials/help/en_US/colcompr.xml
new file mode 100755
index 000000000..937e2ff72
--- /dev/null
+++ b/modules/polynomials/help/en_US/colcompr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="colcompr">
+ <refnamediv>
+ <refname>colcompr</refname>
+ <refpurpose>column compression of polynomial matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[Y,rk,ac]=colcompr(A);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y</term>
+ <listitem>
+ <para>square polynomial matrix (right unimodular basis)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ normal rank of <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac</term>
+ <listitem>
+ <para>
+ <literal>Ac=A*Y</literal>, polynomial matrix
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ column compression of polynomial matrix <literal>A</literal> (compression to the left)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s;s*(s+1)^2;2*s^2+s^3];
+[Y,rk,ac]=colcompr(p*p');
+p*p'*Y
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="rowcompr">rowcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/degree.xml b/modules/polynomials/help/en_US/degree.xml
new file mode 100755
index 000000000..014888c59
--- /dev/null
+++ b/modules/polynomials/help/en_US/degree.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="degree">
+ <refnamediv>
+ <refname>degree</refname>
+ <refpurpose>degree of polynomial matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[D]=degree(M)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>M</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D</term>
+ <listitem>
+ <para>integer matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ returns the matrix of highest degrees of <literal>M</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+v=[-2-5*%s+%s^2;-6+11*%s-6*%s^2+%s^3];
+degree(v) // should return 2 and 3
+
+s=poly(0,"s");
+p=1+s+2*s^42;
+degree(p) // should return 42
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/denom.xml b/modules/polynomials/help/en_US/denom.xml
new file mode 100755
index 000000000..e90cee2f6
--- /dev/null
+++ b/modules/polynomials/help/en_US/denom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="denom">
+ <refnamediv>
+ <refname>denom</refname>
+ <refpurpose>denominator</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>den=denom(r)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>r</term>
+ <listitem>
+ <para>rational or polynomial or constant matrix.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>den</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>den=denom(r)</literal> returns the denominator of a rational matrix.
+ </para>
+ <para>
+ Since rationals are internally represented as
+ <literal>r=list(['r','num','den','dt'],num,den,[])</literal>,
+ <literal>denom(r</literal>) is the same as <literal>r(3)</literal>,
+ <literal>r('den')</literal> or <literal>r.den</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+h=(1+2*%s)/poly(1:4,'s','c');
+denom(h)
+numer(h)
+
+s=poly(0,"s");
+p=1+s+2*s^2;
+denom(p) // Should return 1
+numer(p)
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="numer">numer</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/derivat.xml b/modules/polynomials/help/en_US/derivat.xml
new file mode 100755
index 000000000..862827aa5
--- /dev/null
+++ b/modules/polynomials/help/en_US/derivat.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="derivat">
+ <refnamediv>
+ <refname>derivat</refname>
+ <refpurpose>Rational matrix derivative</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>pd=derivat(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>polynomial or rational matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ The derivat() function works with expressions like
+ <latex>p(z) = \sum \limits_{i = -\infty}^{\infty} A_{i} z^{i}</latex>
+ which consists of functions of linear combinations with integer exponents of one variable (in the example denoted by z).
+ </para>
+ <para>
+ The function derivat() implements the analytical derivation of p(z), giving the following result.
+ <latex>\dfrac{d(p(z))}{d z} = \sum \limits_{i = -\infty}^{\infty} i A_{i} z^{i - 1}</latex>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+derivat(1/s) // -1/s^2;
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p1 = poly([1 -2 1], 'x', 'coeff')
+derivat(p1)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p2 = poly([1 -4 2], 'y', 'coeff')
+derivat(p2)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p3 = poly(ones(1, 10), 'z', 'coeff')
+derivat(p3)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p4 = poly([-1 1], 't', 'roots')
+derivat(p4)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+s = %s; p5 = s^{-1} + 2 + 3*s
+derivat(p5)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/determ.xml b/modules/polynomials/help/en_US/determ.xml
new file mode 100755
index 000000000..88322216a
--- /dev/null
+++ b/modules/polynomials/help/en_US/determ.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="determ">
+ <refnamediv>
+ <refname>determ</refname>
+ <refpurpose>determinant of polynomial matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>res=determ(W [,k])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>W</term>
+ <listitem>
+ <para>real square polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>integer (upper bound for the degree of the determinant of W)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ returns the determinant of a real polynomial matrix
+ (computation made by FFT if W size is greater than 2*2).
+ </para>
+ <para>
+ <literal>res=determ(W [,k])</literal><literal>k</literal> is an integer larger than the actual degree of the determinant
+ of <literal>W</literal>.
+ </para>
+ <para>
+ The default value of <literal>k</literal> is the smallest power of 2 which is larger
+ than <literal>n*max(degree(W))</literal>.
+ </para>
+ <para>
+ Method (Only if W size is greater than 2*2) : evaluate the determinant of <literal>W</literal> for the Fourier frequencies
+ and apply inverse FFT to the coefficients of the determinant.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+w=s*rand(10,10);
+determ(w)
+det(coeff(w,1))*s^10
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/detr.xml b/modules/polynomials/help/en_US/detr.xml
new file mode 100755
index 000000000..2d34f2f9d
--- /dev/null
+++ b/modules/polynomials/help/en_US/detr.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="detr">
+ <refnamediv>
+ <refname>detr</refname>
+ <refpurpose>polynomial determinant</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>d=detr(h)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>h</term>
+ <listitem>
+ <para>double or polynomial or rational square matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>d=detr(h)</literal> returns the determinant <literal>d</literal> of the double
+ or polynomial or rational function matrix <literal>h</literal>.
+ Based on Leverrier's algorithm.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example">
+ <![CDATA[
+// Matrix of doubles
+A = rand(5,5);
+detr(A)
+
+A = A+%i;
+detr(A)
+
+// Matrix of polynomials
+x = poly(0, 'x')
+A = [1+x 2 5; 3 4-x 3+x; x^2 1 x];
+detr(A)
+
+// Matrix of rationals
+A = [1/x 2 3; 3 4/x 3/x; 1/x^2 1 1/x];
+detr(A)
+ ]]>
+ </programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/diophant.xml b/modules/polynomials/help/en_US/diophant.xml
new file mode 100755
index 000000000..821a0661f
--- /dev/null
+++ b/modules/polynomials/help/en_US/diophant.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="diophant">
+ <refnamediv>
+ <refname>diophant</refname>
+ <refpurpose>diophantine (Bezout) equation</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[x,err]=diophant(p1p2,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1p2</term>
+ <listitem>
+ <para>
+ polynomial vector <literal>p1p2 = [p1 p2]</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b</term>
+ <listitem>
+ <para>polynomial</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>polynomial vector [x1; x2]</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>diophant</literal> solves the bezout equation:
+ </para>
+ <para>
+ <literal>p1*x1+p2*x2=b</literal> with <literal>p1p2</literal> a polynomial vector.
+ If the equation is not solvable, <literal>err = ||p1*x1 + p2*x2 - b|| / ||b||</literal>
+ </para>
+ <para>
+ else <literal>err = 0</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s = poly(0, 's');
+p1 = (s+3)^2;
+p2 = (1+s);
+x1 = s;
+x2 = (2+s);
+[x,err] = diophant([p1 p2], p1*x1 + p2*x2);
+p1*x1 + p2*x2 - p1*x(1) - p2*x(2)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/factors.xml b/modules/polynomials/help/en_US/factors.xml
new file mode 100755
index 000000000..80f97dfb0
--- /dev/null
+++ b/modules/polynomials/help/en_US/factors.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="factors">
+ <refnamediv>
+ <refname>factors</refname>
+ <refpurpose>numeric real factorization</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[lnum,g]=factors(pol [,'flag'])
+ [lnum,lden,g]=factors(rat [,'flag'])
+ rat=factors(rat,'flag')
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>pol</term>
+ <listitem>
+ <para>real polynomial</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rat</term>
+ <listitem>
+ <para>
+ real rational polynomial (<literal>rat=pol1/pol2</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lnum</term>
+ <listitem>
+ <para>list of polynomials (of degrees 1 or 2)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lden</term>
+ <listitem>
+ <para>list of polynomials (of degrees 1 or 2)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>g</term>
+ <listitem>
+ <para>real number</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag</term>
+ <listitem>
+ <para>
+ character string <literal>'c'</literal> or <literal>'d'</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ returns the factors of polynomial <literal>pol</literal> in the list <literal>lnum</literal>
+ and the "gain" g.
+ </para>
+ <para>
+ One has pol= g times product of entries of the list <literal>lnum</literal>
+ (if <literal>flag</literal> is not given). If <literal>flag='c'</literal> is given, then
+ one has <literal>|pol(i omega)|</literal> = <literal>|g*prod(lnum_j(i omega)|</literal>.
+ If <literal>flag='d'</literal> is given, then
+ one has <literal>|pol(exp(i omega))|</literal> = <literal>|g*prod(lnum_i(exp(i omega))|</literal>.
+ If argument of <literal>factors</literal> is a 1x1 rational <literal>rat=pol1/pol2</literal>,
+ the factors of the numerator <literal>pol1</literal> and the denominator <literal>pol2</literal>
+ are returned in the lists <literal>lnum</literal> and <literal>lden</literal> respectively.
+ </para>
+ <para>
+ The "gain" is returned as <literal>g</literal>,i.e. one has:
+ rat= g times (product entries in lnum) / (product entries in lden).
+ </para>
+ <para>
+ If <literal>flag</literal> is <literal>'c'</literal> (resp. <literal>'d'</literal>), the roots of <literal>pol</literal>
+ are refected wrt the imaginary axis (resp. the unit circle), i.e.
+ the factors in <literal>lnum</literal> are stable polynomials.
+ </para>
+ <para>
+ Same thing if <literal>factors</literal> is invoked with a rational arguments:
+ the entries in <literal>lnum</literal> and <literal>lden</literal> are stable polynomials if
+ <literal>flag</literal> is given. <literal>R2=factors(R1,'c')</literal> or <literal>R2=factors(R1,'d')</literal>
+ with <literal>R1</literal> a rational function or SISO <literal>syslin</literal> list then the
+ output <literal>R2</literal> is a transfer with stable numerator and denominator and
+ with same magnitude as <literal>R1</literal> along the imaginary axis (<literal>'c'</literal>)
+ or unit circle (<literal>'d'</literal>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+n=poly([0.2,2,5],'z');
+d=poly([0.1,0.3,7],'z');
+R=syslin('d',n,d);
+R1=factors(R,'d')
+roots(R1('num'))
+roots(R1('den'))
+w=exp(2*%i*%pi*[0:0.1:1]);
+norm(abs(horner(R1,w))-abs(horner(R,w)))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/hermit.xml b/modules/polynomials/help/en_US/hermit.xml
new file mode 100755
index 000000000..4b8b4f695
--- /dev/null
+++ b/modules/polynomials/help/en_US/hermit.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hermit">
+ <refnamediv>
+ <refname>hermit</refname>
+ <refpurpose>Hermite form</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[Ar,U]=hermit(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar</term>
+ <listitem>
+ <para>triangular polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>unimodolar polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Hermite form: <literal>U</literal> is an unimodular matrix such that <literal>A*U</literal> is
+ in Hermite triangular form:
+ </para>
+ <para>
+ The output variable is <literal>Ar=A*U</literal>.
+ </para>
+ <para>
+ <warning>
+ Warning: Experimental version
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s, s*(s+1)^2, 2*s^2+s^3];
+[Ar,U]=hermit(p'*p);
+clean(p'*p*U), det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/horner.xml b/modules/polynomials/help/en_US/horner.xml
new file mode 100755
index 000000000..d3b7d471b
--- /dev/null
+++ b/modules/polynomials/help/en_US/horner.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="horner">
+ <refnamediv>
+ <refname>horner</refname>
+ <refpurpose>polynomial/rational evaluation</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>horner(P,x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>P</term>
+ <listitem>
+ <para>polynomial or rational matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para> array of numbers or polynomials or rationals</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ evaluates the polynomial or rational
+ matrix <literal>P = P(s)</literal> when the variable <literal>s</literal> of the
+ polynomial is replaced by <literal>x</literal>:
+ </para>
+ <para>
+ <literal>horner(P,x)</literal>=<literal>P(x)</literal>
+ </para>
+ <para>
+ Example (Bilinear transform): Assume <literal>P = P(s)</literal> is
+ a rational matrix then the rational matrix
+ <literal>P((1+s)/(1-s))</literal> is obtained by <literal>horner(P,(1+s)/(1-s))</literal>.
+ </para>
+ <para>
+ To evaluate a rational matrix at given frequencies use
+ preferably the <literal>freq</literal> primitive.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//evaluation of a polynomial for a vector of numbers
+P=poly(1:3,'x')
+horner(P,[1 2 5])
+horner(P,[1 2 5]+%i)
+
+//evaluation of a rational
+s=poly(0,'s');M=[s,1/s];
+horner(M,1)
+horner(M,%i)
+horner(M,1/s)
+
+//evaluation of a polynomial for a matrix of numbers
+X= [1 2;3 4]
+p=poly(1:3,'x','c')
+m=horner(p, X)
+1*X.^0+2*X.^1+3*X.^2
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="freq">freq</link>
+ </member>
+ <member>
+ <link linkend="repfreq">repfreq</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/hrmt.xml b/modules/polynomials/help/en_US/hrmt.xml
new file mode 100755
index 000000000..2882df4d8
--- /dev/null
+++ b/modules/polynomials/help/en_US/hrmt.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hrmt">
+ <refnamediv>
+ <refname>hrmt</refname>
+ <refpurpose>gcd of polynomials</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[pg,U]=hrmt(v)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>
+ row of polynomials i.e. <literal>1</literal>x<literal>k</literal> polynomial matrix
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pg</term>
+ <listitem>
+ <para>polynomial</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>unimodular matrix polynomial</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[pg,U]=hrmt(v)</literal> returns a unimodular matrix <literal>U</literal> and <literal>pg</literal> = gcd of row of
+ polynomials <literal>v</literal> such that <literal>v*U = [pg,0]</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+v=[x*(x+1),x^2*(x+1),(x-2)*(x+1),(3*x^2+2)*(x+1)];
+[pg,U]=hrmt(v);U=clean(U)
+det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/htrianr.xml b/modules/polynomials/help/en_US/htrianr.xml
new file mode 100755
index 000000000..bdb6383cb
--- /dev/null
+++ b/modules/polynomials/help/en_US/htrianr.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="htrianr">
+ <refnamediv>
+ <refname>htrianr</refname>
+ <refpurpose>triangularization of polynomial matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[Ar,U,rk]=htrianr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>unimodular polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ integer, normal rank of <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ triangularization of polynomial matrix <literal>A</literal>.
+ </para>
+ <para>
+ <literal>A</literal> is <literal>[m,n]</literal> , <literal>m &lt;= n</literal>.
+ </para>
+ <para>
+ <literal>Ar=A*U</literal>
+ </para>
+ <para>
+ <warning>
+ Warning: there is an elimination of "small" terms (see function code).
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+M=[x;x^2;2+x^3]*[1,x-2,x^4];
+[Mu,U,rk]=htrianr(M)
+det(U)
+M*U(:,1:2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/inv_coeff.xml b/modules/polynomials/help/en_US/inv_coeff.xml
new file mode 100755
index 000000000..d5c98a112
--- /dev/null
+++ b/modules/polynomials/help/en_US/inv_coeff.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="inv_coeff">
+ <refnamediv>
+ <refname>inv_coeff</refname>
+ <refpurpose>build a polynomial matrix from its coefficients</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[P]=inv_coeff(C,[,d,[name])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>a big matrix of the coefficients</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>d</term>
+ <listitem>
+ <para>
+ a polynomial matrix degree. The optional parameter with default value <literal>d=-1+size(C,'c')/size(C,'r')</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>
+ a string giving the polynomial variable name (default value <literal>'x'</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>P=inv_coeff(Mp,k)</literal>, when <literal>k</literal> is compatible with <literal>Mp</literal>
+ size, returns a polynomial matrix of degree <literal>k</literal>. <literal>C=[C0,C1,...,Ck]</literal> and
+ <literal>P= C0 + C1*x +... +Ck*x^k</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+A=int(10*rand(2,6))
+// Building a degree 1 polynomial matrix
+P=inv_coeff(A,1)
+norm(coeff(P)-A)
+// Using default value for degree
+P1=inv_coeff(A)
+norm(coeff(P1)-A)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/invr.xml b/modules/polynomials/help/en_US/invr.xml
new file mode 100755
index 000000000..bf57d29c1
--- /dev/null
+++ b/modules/polynomials/help/en_US/invr.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="invr">
+ <refnamediv>
+ <refname>invr</refname>
+ <refpurpose>inversion of (rational) matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>F = invr(H)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>polynomial or rational matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>F</term>
+ <listitem>
+ <para>polynomial or rational matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ If <literal>H</literal> is a polynomial or rational function matrix, <literal>invr</literal>
+ computes <literal>H^(-1)</literal> using Leverrier's algorithm (see function code)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+H=[s,s*s+2;1-s,1+s]; invr(H)
+[Num,den]=coffg(H);Num/den
+H=[1/s,(s+1);1/(s+2),(s+3)/s];invr(H)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ <member>
+ <link linkend="inv">inv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/lcmdiag.xml b/modules/polynomials/help/en_US/lcmdiag.xml
new file mode 100755
index 000000000..320272633
--- /dev/null
+++ b/modules/polynomials/help/en_US/lcmdiag.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lcmdiag">
+ <refnamediv>
+ <refname>lcmdiag</refname>
+ <refpurpose>least common multiple diagonal factorization</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[N,D]=lcmdiag(H)
+ [N,D]=lcmdiag(H,flag)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>rational matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>N</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D</term>
+ <listitem>
+ <para>diagonal polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag</term>
+ <listitem>
+ <para>
+ character string: <literal>'row'</literal> or <literal>'col'</literal> (default)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[N,D]=lcmdiag(H,'row')</literal> computes a factorization <literal>D*H=N</literal>,
+ i.e. <literal>H=D^(-1)*N</literal> where D is a diagonal matrix with D(k,k)=lcm of
+ kth row of H('den').
+ </para>
+ <para>
+ <literal>[N,D]=lcmdiag(H)</literal> or <literal>[N,D]=lcmdiag(H,'col)</literal> returns
+ <literal>H=N*D^(-1)</literal> with diagonal D and D(k,k)=lcm of kth col of H('den')
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[1/s,(s+2)/s/(s+1)^2;1/(s^2*(s+2)),2/(s+2)];
+[N,D]=lcmdiag(H);
+N/D-H
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="bezout">bezout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/ldiv.xml b/modules/polynomials/help/en_US/ldiv.xml
new file mode 100755
index 000000000..fbad2be45
--- /dev/null
+++ b/modules/polynomials/help/en_US/ldiv.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ldiv">
+ <refnamediv>
+ <refname>ldiv</refname>
+ <refpurpose>polynomial matrix long division</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[x]=ldiv(n,d,k)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>n,d</term>
+ <listitem>
+ <para>two real polynomial matrices</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>integer</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>x=ldiv(n,d,k)</literal> gives the <literal>k</literal> first coefficients of the long
+ division of <literal>n</literal> by <literal>d</literal> i.e. the Taylor expansion of the rational
+ matrix <literal>[nij(z)/dij(z)]</literal> near infinity.
+ </para>
+ <para>
+ Coefficients of expansion of <literal>nij/dij</literal> are stored in
+ <literal>x((i-1)*n+k,j) k=1:n</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+wss=ssrand(1,1,3);[a,b,c,d]=abcd(wss);
+wtf=ss2tf(wss);
+x1=ldiv(numer(wtf),denom(wtf),5)
+x2=[c*b;c*a*b;c*a^2*b;c*a^3*b;c*a^4*b]
+wssbis=markp2ss(x1',5,1,1);
+wtfbis=clean(ss2tf(wssbis))
+x3=ldiv(numer(wtfbis),denom(wtfbis),5)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="arl2">arl2</link>
+ </member>
+ <member>
+ <link linkend="markp2ss">markp2ss</link>
+ </member>
+ <member>
+ <link linkend="pdiv">pdiv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/numer.xml b/modules/polynomials/help/en_US/numer.xml
new file mode 100755
index 000000000..06ac349d4
--- /dev/null
+++ b/modules/polynomials/help/en_US/numer.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="numer">
+ <refnamediv>
+ <refname>numer</refname>
+ <refpurpose>numerator</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>num=numer(R)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>R</term>
+ <listitem>
+ <para>rational or polynomial or constant matrix.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>num</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Utility fonction. <literal>num=numer(R)</literal> returns the numerator <literal>num</literal> of a rational
+ function matrix <literal>R</literal> (<literal>R</literal> may be also a constant or polynomial matrix).
+ <literal>numer(R)</literal> is equivalent to <literal>R(2)</literal>, <literal>R('num')</literal> or <literal>R.num</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+h=(1+2*%s)/poly(1:4,'s','c');
+denom(h)
+numer(h)
+
+s=poly(0,"s");
+p=1+s+2*s^2;
+denom(p) // Should return 1
+numer(p)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="denom">denom</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/pdiv.xml b/modules/polynomials/help/en_US/pdiv.xml
new file mode 100755
index 000000000..d8e07f2c1
--- /dev/null
+++ b/modules/polynomials/help/en_US/pdiv.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="pdiv">
+ <refnamediv>
+ <refname>pdiv</refname>
+ <refpurpose>polynomial division</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[R,Q]=pdiv(P1,P2)
+ [Q]=pdiv(P1,P2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>P1</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>P2</term>
+ <listitem>
+ <para>polynomial or polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>R,Q</term>
+ <listitem>
+ <para>two polynomial matrices</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Element-wise euclidan division of the polynomial matrix <literal>P1</literal>
+ by the polynomial <literal>P2</literal> or by the polynomial matrix <literal>P2</literal>.
+ <literal>Rij</literal> is the matrix of remainders, <literal>Qij</literal> is the matrix
+ of quotients and <literal>P1ij = Qij*P2 + Rij</literal> or <literal>P1ij = Qij*P2ij + Rij</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+p1=(1+x^2)*(1-x);p2=1-x;
+[r,q]=pdiv(p1,p2)
+p2*q-p1
+p2=1+x;
+[r,q]=pdiv(p1,p2)
+p2*q+r-p1
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ldiv">ldiv</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/pol2str.xml b/modules/polynomials/help/en_US/pol2str.xml
new file mode 100755
index 000000000..79878bfbe
--- /dev/null
+++ b/modules/polynomials/help/en_US/pol2str.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2013 - Samuel GOUGEON : upgrade for 5.5.0
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="pol2str">
+ <refnamediv>
+ <refname>pol2str</refname>
+ <refpurpose>polynomial to string conversion</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>strs = pol2str(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>matrix or hypermatrix of polynomials with real or complex coefficients</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>strs</term>
+ <listitem>
+ <para>matrix or hypermatrix of strings</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ converts polynomial to character string (utility function).
+ </para>
+ <para>
+ <note>
+ The output format of coefficients is set through <link linkend="format">format(..)</link>.
+ </note>
+ </para>
+ </refsection>
+
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+pol2str(%z)
+
+p = poly ([1, 2, 3], "x","coeff");
+pol2str(p)
+
+p = (1+%i+%z)^(1:4)
+pol2str(p)
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="prettyprint">prettyprint</link>
+ </member>
+ <member>
+ <link linkend="sci2exp">sci2exp</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection role="history tag">
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revdescription>pol2str() extended to polynomials with complex coefficients and to hypermatrix. Array processing vectorized.</revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/polfact.xml b/modules/polynomials/help/en_US/polfact.xml
new file mode 100755
index 000000000..6b152b9d1
--- /dev/null
+++ b/modules/polynomials/help/en_US/polfact.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="polfact">
+ <refnamediv>
+ <refname>polfact</refname>
+ <refpurpose>minimal factors</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[f]=polfact(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>polynomial</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>
+ vector <literal>[f0 f1 ... fn]</literal> such that <literal>p=prod(f)</literal>
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>f0</term>
+ <listitem>
+ <para>constant</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fi</term>
+ <listitem>
+ <para>polynomial</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>f=polfact(p)</literal> returns the minimal factors of p i.e. <literal>f=[f0 f1 ... fn]</literal> such
+ that <literal>p=prod(f)</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+x = poly(0,"x")
+polfact(x^2-1)
+
+polfact(x^7-1)
+
+
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="cmndred">cmndred</link>
+ </member>
+ <member>
+ <link linkend="factors">factors</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/poly.xml b/modules/polynomials/help/en_US/poly.xml
new file mode 100755
index 000000000..5f70c732c
--- /dev/null
+++ b/modules/polynomials/help/en_US/poly.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="poly">
+ <refnamediv>
+ <refname>poly</refname>
+ <refpurpose>polynomial definition</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>p = poly(a, vname, ["flag"])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>a</term>
+ <listitem>
+ <para>a matrix or real number</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>vname</term>
+ <listitem>
+ <para>a string, the symbolic variable name. The string must be 4 characters max.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"flag"</term>
+ <listitem>
+ <para>
+ string (<literal>"roots"</literal>, <literal>"coeff"</literal>),
+ default value is <literal>"roots"</literal>.
+ </para>
+ <para>
+ Shortcuts can be also used: <literal>"r"</literal> for <literal>"roots"</literal> and <literal>"c"</literal> for <literal>"coeff"</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ If <literal>a</literal> is a matrix,
+ </term>
+ <listitem>
+ <para>
+ <varname>p</varname> is the characteristic
+ polynomial i.e. <code>determinant(x*eye()-a)</code>, <literal>x</literal> being
+ the symbolic variable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ If <literal>v</literal> is a vector,
+ </term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>poly(v,"x",["roots"])</code> is the polynomial
+ with <literal>roots</literal> the entries of <varname>v</varname> and
+ <literal>"x"</literal> as formal variable. (In this case,
+ <function>roots</function> and <function>poly</function> are inverse functions).
+ <note>
+ Note that Infinite roots gives zero highest degree coefficients.
+ </note>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>poly(v,"x","coeff")</code> creates the
+ polynomial with symbol <literal>"x"</literal> and with coefficients
+ the entries of <varname>v</varname> (<code>v(1)</code> is the constant term
+ of the polynomial). (Here <function>poly</function> and <function>coeff</function> are inverse functions).
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>s=poly(0,"s")</code> is the seed for defining
+ polynomials with symbol <literal>"s"</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,"s");
+p=1+s+2*s^2
+A=rand(2,2);
+poly(A,"x")
+//rational fractions
+h=(1+2*%s)/poly(1:4,'s','coeff')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="varn">varn</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ <member>
+ <link linkend="derivat">derivat</link>
+ </member>
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revremark>The only values allowed for the third argument are "roots", "coeff", "c" and "r".</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/rational.xml b/modules/polynomials/help/en_US/rational.xml
new file mode 100755
index 000000000..fa20b3f49
--- /dev/null
+++ b/modules/polynomials/help/en_US/rational.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="rational">
+ <refnamediv>
+ <refname>rational</refname>
+ <refpurpose>Scilab objects, rational in Scilab</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ A rational <literal>r</literal> is a quotient of two polynomials <literal>r=num/den</literal>.
+ The internal representation of a rational is a list.
+ <literal>r=tlist(['r','num','den','dt'],num,den,[])</literal> is the same as <literal>r=num/den</literal>.
+ A rational matrix can be defined with the usual syntax
+ e.g. <literal>[r11,r12;r21,r22]</literal> is a 2x2 matrix where <literal>rij</literal> are
+ 1x1 rationals.
+ A rational matrix can also be defined as above as a list
+ <literal>rlist(num,den,[])</literal> with <literal>num</literal> and <literal>den</literal> polynomial matrices.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+H=Num./Den
+syslin('c',Num,Den)
+syslin('c',H)
+[Num1,Den1]=simp(Num,Den)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/residu.xml b/modules/polynomials/help/en_US/residu.xml
new file mode 100755
index 000000000..fef55e15d
--- /dev/null
+++ b/modules/polynomials/help/en_US/residu.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="residu">
+ <refnamediv>
+ <refname>residu</refname>
+ <refpurpose>residue</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[V]=residu(P,Q1,Q2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>P, Q1, Q2</term>
+ <listitem>
+ <para>polynomials or matrix polynomials with real or complex coefficients.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>V=residu(P,Q1,Q2)</literal> returns the matrix <literal>V</literal>
+ such that <literal>V(i,j)</literal> is the sum of the residues of the
+ rational fraction <literal>P(i,j)/(Q1(i,j)*Q2(i,j))</literal> calculated
+ at the zeros of <literal>Q1(i,j)</literal>.
+ </para>
+ <para>
+ <literal>Q1(i,j)</literal> and <literal>Q2(i,j)</literal> must not have any common root.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[s/(s+1)^2,1/(s+2)];N=numer(H);D=denom(H);
+w=residu(N.*horner(N,-s),D,horner(D,-s)); //N(s) N(-s) / D(s) D(-s)
+sqrt(sum(w)) //This is H2 norm
+h2norm(tf2ss(H))
+
+p=(s-1)*(s+1)*(s+2)*(s+10);a=(s-5)*(s-1)*(s*s)*((s+1/2)**2);
+b=(s-3)*(s+2/5)*(s+3);
+residu(p,a,b)+531863/4410 //Exact
+z=poly(0,'z');a=z^3+0.7*z^2+0.5*z-0.3;b=z^3+0.3*z^2+0.2*z+0.1;
+atild=gtild(a,'d');btild=gtild(b,'d');
+residu(b*btild,z*a,atild)-2.9488038 //Exact
+a=a+0*%i;b=b+0*%i;
+real(residu(b*btild,z*a,atild)-2.9488038) //Complex case
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="pfss">pfss</link>
+ </member>
+ <member>
+ <link linkend="bdiag">bdiag</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/roots.xml b/modules/polynomials/help/en_US/roots.xml
new file mode 100755
index 000000000..20d034a79
--- /dev/null
+++ b/modules/polynomials/help/en_US/roots.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2011 - DIGITEO - Michael Baudin
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="roots" xml:lang="en">
+ <refnamediv>
+ <refname>roots</refname>
+ <refpurpose>roots of polynomials</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ x=roots(p)
+ x=roots(p,algo)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>
+ a polynomial with real or complex coefficients, or
+ a m-by-1 or 1-by-m matrix of doubles, the polynomial coefficients in decreasing degree order.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>algo</term>
+ <listitem>
+ <para>
+ a string, the algorithm to be used (default algo="e").
+ If algo="e", then the eigenvalues of the companion matrix are returned.
+ If algo="f", then the Jenkins-Traub method is used (if the polynomial is real and
+ has degree lower than 100).
+ If algo="f" and the polynomial is complex, then an error is generated.
+ If algo="f" and the polynomial has degree greater than 100, then an error is generated.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function returns in the complex vector
+ <literal>x</literal> the roots of the polynomial <literal>p</literal>.
+ </para>
+ <para>
+ The "e" option corresponds to method based on the eigenvalues of the
+ companion matrix.
+ </para>
+ <para>
+ The "f" option corresponds to the fast RPOLY algorithm, based on
+ Jenkins-Traub method.
+ </para>
+ <para>
+ For real polynomials of degree &lt;=100, users may consider the "f" option,
+ which might be faster in some cases.
+ On the other hand, some specific polynomials are known to be able to
+ make this option to fail.
+ For instance, <literal>p=poly([1.e300,1.e0,1.e-300],'x');</literal>
+ provokes infinite looping of <literal>roots(p,"f")</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <para>
+ In the following examples, we compute roots of polynomials.
+ </para>
+ <programlisting role="example"><![CDATA[
+// Roots given a real polynomial
+p = poly([1 2 3],"x")
+roots(p)
+// Roots, given the real coefficients
+p = [3 2 1]
+roots(p)
+// The roots of a complex polynomial
+p=poly([0,10,1+%i,1-%i],'x');
+roots(p)
+// The roots of the polynomial of a matrix
+A=rand(3,3);
+p = poly(A,'x')
+roots(p)
+spec(A)
+ ]]></programlisting>
+ <para>
+ The polynomial representation can have a significant
+ impact on the roots.
+ In the following example, suggested by Wilkinson in the 60s and presented by Moler,
+ we consider a diagonal matrix with diagonal entries equal to 1, 2, ..., 20.
+ The eigenvalues are obviously equal to 1, 2, ..., 20.
+ If we compute the associated characteristic polynomial and compute its roots,
+ we can see that the eigenvalues are significantly different from the expected
+ ones.
+ This implies that just representing the coefficients as IEEE doubles changes the
+ roots.
+ </para>
+ <programlisting role="example"><![CDATA[
+A = diag(1:20);
+p = poly(A,'x')
+roots(p)
+ ]]></programlisting>
+ <para>
+ The "f" option produces an error if the polynomial is complex or
+ if the degree is greater than 100.
+ </para>
+ <programlisting role="example"><![CDATA[
+ // The following case produces an error.
+ p = %i+%s;
+ roots(p,"f")
+ // The following case produces an error.
+ p = ones(101,1);
+ roots(p,"f")
+ ]]></programlisting>
+ <para>
+ The following script is a simple way of checking that the companion matrix gives the same result as the "e" option.
+ It explicitly uses the companion matrix to compute the roots.
+ There is a small step to reverse the coefficients of the polynomial ;
+ indeed, "roots" expects the coefficients in decreasing degree order,
+ while "poly" expects the coefficients in increasing degree order.
+ </para>
+ <programlisting role="example"><![CDATA[
+v= [1.12119799 0 3.512D+13 32 3.275D+27 0 1.117D+41 4.952D+27 1.722D+54 0 1.224D+67 0 3.262D+79 ];
+r1 = roots(v,"e"); // With "e" option
+dv = size(v,"*");
+p = poly(v(dv:-1:1),"x","coeff"); // Reversing v's coefficients
+A = companion(p);
+r2 = spec(A); // With the companion matrix
+max(abs(r1-r2))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="spec">spec</link>
+ </member>
+ <member>
+ <link linkend="companion">companion</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>References</title>
+ <para>
+ The RPOLY algorithm is described in "Algorithm 493: Zeros of a Real
+ Polynomial", ACM TOMS Volume 1, Issue 2 (June 1975), pp. 178-189
+ </para>
+ <para>Jenkins, M. A. and Traub, J. F. (1970), A Three-Stage Algorithm for
+ Real Polynomials Using Quadratic Iteration, SIAM J. Numer. Anal., 7(1970), 545-566.
+ </para>
+ <para>Jenkins, M. A. and Traub, J. F. (1970), Principles for Testing Polynomial Zerofinding Programs.
+ ACM TOMS 1, 1 (March 1975), pp. 26-34
+ </para>
+ </refsection>
+ <refsection>
+ <title>Used Functions</title>
+ <para>The rpoly.f source codes can be found in the directory
+ SCI/modules/polynomials/src/fortran of a Scilab source distribution. In the case where the
+ companion matrix is used, the eigenvalue computation is perfomed using
+ DGEEV and ZGEEV LAPACK codes.
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/rowcompr.xml b/modules/polynomials/help/en_US/rowcompr.xml
new file mode 100755
index 000000000..06f19379a
--- /dev/null
+++ b/modules/polynomials/help/en_US/rowcompr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="rowcompr">
+ <refnamediv>
+ <refname>rowcompr</refname>
+ <refpurpose>row compression of polynomial matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[X,rk,Ac]=rowcompr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y</term>
+ <listitem>
+ <para>square polynomial matrix (left unimodular basis)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ normal rank of <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac</term>
+ <listitem>
+ <para>
+ <literal>Ac=X*A</literal>, polynomial matrix
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ row compression of polynomial matrix <literal>A</literal>.
+ </para>
+ <para>
+ <literal>X</literal> is a left polynomial unimodular basis which row compressed
+ thee rows of <literal>A</literal>. <literal>rk</literal> is the normal rank of A.
+ </para>
+ <para>
+ <warning>
+ Warning: elimination of "small" terms (use with care!).
+ </warning>
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/sfact.xml b/modules/polynomials/help/en_US/sfact.xml
new file mode 100755
index 000000000..2902e79e8
--- /dev/null
+++ b/modules/polynomials/help/en_US/sfact.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sfact">
+ <refnamediv>
+ <refname>sfact</refname>
+ <refpurpose>discrete time spectral factorization</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>F=sfact(P)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>P</term>
+ <listitem>
+ <para>real polynomial matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Finds <literal>F</literal>, a spectral factor of
+ <literal>P</literal>. <literal>P</literal> is a polynomial matrix such that
+ each root of <literal>P</literal> has a mirror image w.r.t the unit
+ circle. Problem is singular if a root is on the unit circle.
+ </para>
+ <para>
+ <literal>sfact(P)</literal> returns a polynomial matrix
+ <literal>F(z)</literal> which is antistable and such that
+ </para>
+ <para>
+ <literal>P = F(z)* F(1/z) *z^n</literal>
+ </para>
+ <para>
+ For scalar polynomials a specific algorithm is implemented.
+ Algorithms are adapted from Kucera's book.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//Simple polynomial example
+z=poly(0,'z');
+p=(z-1/2)*(2-z)
+w=sfact(p);
+w*numer(horner(w,1/z))
+
+//matrix example
+F1=[z-1/2,z+1/2,z^2+2;1,z,-z;z^3+2*z,z,1/2-z];
+P=F1*gtild(F1,'d'); //P is symmetric
+F=sfact(P)
+roots(det(P))
+roots(det(gtild(F,'d'))) //The stable roots
+roots(det(F)) //The antistable roots
+clean(P-F*gtild(F,'d'))
+
+//Example of continuous time use
+s=poly(0,'s');
+p=-3*(s+(1+%i))*(s+(1-%i))*(s+0.5)*(s-0.5)*(s-(1+%i))*(s-(1-%i));p=real(p);
+//p(s) = polynomial in s^2 , looks for stable f such that p=f(s)*f(-s)
+w=horner(p,(1-s)/(1+s)); // bilinear transform w=p((1-s)/(1+s))
+wn=numer(w); //take the numerator
+fn=sfact(wn);f=numer(horner(fn,(1-s)/(s+1))); //Factor and back transform
+f=f/sqrt(horner(f*gtild(f,'c'),0));f=f*sqrt(horner(p,0)); //normalization
+roots(f) //f is stable
+clean(f*gtild(f,'c')-p) //f(s)*f(-s) is p(s)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ <member>
+ <link linkend="fspecg">fspecg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/simp.xml b/modules/polynomials/help/en_US/simp.xml
new file mode 100755
index 000000000..5d16c2790
--- /dev/null
+++ b/modules/polynomials/help/en_US/simp.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="simp">
+ <refnamediv>
+ <refname>simp</refname>
+ <refpurpose>rational simplification</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[N1,D1]=simp(N,D)
+ H1=simp(H)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>N,D</term>
+ <listitem>
+ <para>real polynomials or real matrix polynomials</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>
+ rational matrix (i.e matrix with entries <literal>n/d</literal> ,<literal>n</literal> and <literal>d</literal> real polynomials)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[n1,d1]=simp(n,d)</literal> calculates two polynomials <literal>n1</literal> and <literal>d1</literal>
+ such that <literal>n1/d1 = n/d</literal>.
+ </para>
+ <para>
+ If <literal>N</literal> and <literal>D</literal> are polynomial matrices the calculation
+ is performed element-wise.
+ </para>
+ <para>
+ <literal>H1=simp(H)</literal> is also valid (each entry of <literal>H</literal> is
+ simplified in <literal>H1</literal>).
+ </para>
+ <para>
+ <warning>
+ Caution:
+ </warning>
+ </para>
+ <para>
+ -no threshold is given i.e. <literal>simp</literal> cannot forces a
+ simplification.
+ </para>
+ <para>
+ -For linear dynamic systems which include integrator(s) simplification
+ changes the static gain. (<literal>H(0)</literal> for continuous systems or <literal>H(1)</literal> for
+ discrete systems)
+ </para>
+ <para>
+ -for complex data, <literal>simp</literal> returns its input(s).
+ </para>
+ <para>
+ -rational simplification is called after nearly each operations on
+ rationals. It is possible to toggle simplification on or off using
+ <literal>simp_mode</literal> function.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+[n,d]=simp((s+1)*(s+2),(s+1)*(s-2))
+
+simp_mode(%F);hns=s/s
+simp_mode(%T);hns=s/s
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="trfmod">trfmod</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="simp_mode">simp_mode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/simp_mode.xml b/modules/polynomials/help/en_US/simp_mode.xml
new file mode 100755
index 000000000..74c8af548
--- /dev/null
+++ b/modules/polynomials/help/en_US/simp_mode.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="simp_mode">
+ <refnamediv>
+ <refname>simp_mode</refname>
+ <refpurpose>toggle rational simplification</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>mod=simp_mode()
+ simp_mode(mod)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>mod</term>
+ <listitem>
+ <para>a boolean</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ rational simplification is called after nearly each operations on
+ rationals. It is possible to toggle simplification on or off using
+ <literal>simp_mode</literal> function.
+ </para>
+ <para>
+ <literal>simp_mode(%t)</literal> set rational simplification mode on
+ </para>
+ <para>
+ <literal>simp_mode(%f)</literal> set rational simplification mode off
+ </para>
+ <para>
+ <literal>mod=simp_mode()</literal> returns in mod the current rational
+ simplification mode
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+mod=simp_mode()
+simp_mode(%f);hns=s/s
+simp_mode(%t);hns=s/s
+simp_mode(mod);
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/sylm.xml b/modules/polynomials/help/en_US/sylm.xml
new file mode 100755
index 000000000..26b7d8425
--- /dev/null
+++ b/modules/polynomials/help/en_US/sylm.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sylm">
+ <refnamediv>
+ <refname>sylm</refname>
+ <refpurpose>Sylvester matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[S]=sylm(a,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>a,b</term>
+ <listitem>
+ <para>two polynomials</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>S</term>
+ <listitem>
+ <para>matrix</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>sylm(a,b)</literal> gives the Sylvester matrix associated to polynomials
+ <literal>a</literal> and <literal>b</literal>, i.e. the matrix <literal>S</literal> such that:
+ </para>
+ <para>
+ <literal>coeff( a*x + b*y )' = S * [coeff(x)';coeff(y)']</literal>.
+ </para>
+ <para>
+ Dimension of <literal>S</literal> is equal to <literal>degree(a)+degree(b)</literal>.
+ </para>
+ <para>
+ If <literal>a</literal> and <literal>b</literal> are coprime polynomials then
+ </para>
+ <para>
+ <literal>rank(sylm(a,b))=degree(a)+degree(b))</literal> and the instructions
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+u = sylm(a,b) \ eye(na+nb,1)
+x = poly(u(1:nb),'z','coeff')
+y = poly(u(nb+1:na+nb),'z','coeff')
+ ]]></programlisting>
+ <para>
+ compute Bezout factors <literal>x</literal> and <literal>y</literal> of minimal degree
+ such that <literal>a*x+b*y = 1</literal>
+ </para>
+ </refsection>
+
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+x = poly(0,"x")
+y = poly ([1, 2, 3], "x","coeff");
+sylm(x,y)
+
+ ]]></programlisting>
+ </refsection>
+
+</refentry>
diff --git a/modules/polynomials/help/en_US/systmat.xml b/modules/polynomials/help/en_US/systmat.xml
new file mode 100755
index 000000000..0b15e073d
--- /dev/null
+++ b/modules/polynomials/help/en_US/systmat.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="systmat">
+ <refnamediv>
+ <refname>systmat</refname>
+ <refpurpose>system matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[Sm]=systmat(Sl);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>Sl</term>
+ <listitem>
+ <para>
+ linear system (<literal>syslin</literal> list) or descriptor system
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Sm</term>
+ <listitem>
+ <para>matrix pencil</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ System matrix of the linear system <literal>Sl</literal> (<literal>syslin</literal> list)
+ in state-space form (utility function).
+ </para>
+ <programlisting role=""><![CDATA[
+Sm = [-sI + A B;
+ [ C D]
+ ]]></programlisting>
+ <para>
+ For a descriptor system (<literal>Sl=list('des',A,B,C,D,E)</literal>), <literal>systmat</literal> returns:
+ </para>
+ <programlisting role=""><![CDATA[
+Sm = [-sE + A B;
+ [ C D]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ss2des">ss2des</link>
+ </member>
+ <member>
+ <link linkend="sm2des">sm2des</link>
+ </member>
+ <member>
+ <link linkend="sm2ss">sm2ss</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/en_US/varn.xml b/modules/polynomials/help/en_US/varn.xml
new file mode 100755
index 000000000..d1423ff23
--- /dev/null
+++ b/modules/polynomials/help/en_US/varn.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="varn">
+ <refnamediv>
+ <refname>varn</refname>
+ <refpurpose>symbolic variable of a polynomial or a rational</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[symb]=varn(p)
+ [pm]=varn(p,varname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>matrix of polynomials or of rationals</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>symb</term>
+ <listitem>
+ <para>character string: name of the variable</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>varname</term>
+ <listitem>
+ <para>
+ character string: the new name of the variable of <literal>p</literal>, set for <literal>pm</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pm</term>
+ <listitem>
+ <para>matrix of polynomials or of rationals</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>symb=varn(p)</literal> returns in <literal>symb</literal> the symbolic variable of the polynomial <literal>p</literal>
+ (i.e. <literal>varn(poly(0,'x'))</literal> is <literal>'x'</literal>).
+ </para>
+ <para>
+ <literal>varn(p,'s')</literal> returns a polynomial matrix with same coefficients
+ as <literal>p</literal> but with <literal>'s'</literal> as symbolic variable (change of variable name).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s = poly(0,'s'); p = [s^2+1,s];
+varn(p)
+varn(p,'x')
+
+f = %z / (%z-1); f = [f f^2]
+varn(f)
+varn(f,"x")
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="rlist">rlist</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.1</revnumber>
+ <revdescription>
+ <para>Extension to rationals</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/addchapter.sce b/modules/polynomials/help/fr_FR/addchapter.sce
new file mode 100755
index 000000000..ee2913d43
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Polynômes",SCI+"/modules/polynomials/help/fr_FR",%T);
+
diff --git a/modules/polynomials/help/fr_FR/bezout.xml b/modules/polynomials/help/fr_FR/bezout.xml
new file mode 100755
index 000000000..5603c0014
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/bezout.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="bezout">
+ <refnamediv>
+ <refname>bezout</refname>
+ <refpurpose>équation de Bezout pour les polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[pgcd,U]=bezout(p1,p2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1, p2 </term>
+ <listitem>
+ <para>deux polynômes réels ou deux entiers (type égal à 1, 2 ou 8)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[thegcd,U]=bezout(p1,p2)</literal> calcule le PGCD <literal>pgcd</literal> de <literal>p1</literal> et <literal>p2</literal> et de plus une matrice
+ unimodulaire (2x2) <literal>U</literal> telle que :
+ </para>
+ <para>
+ <literal>[p1,p2]*U = [pgcd,0]</literal>
+ </para>
+ <para>
+ Le PPCM de <literal>p1</literal> et <literal>p2</literal> est donné par
+ </para>
+ <para>
+ <literal>p1*U(1,2)</literal> (ou <literal>-p2*U(2,2)</literal>)
+ </para>
+ <para>
+ Si <literal>p1</literal> ou <literal>p2</literal> sont donnés comme des flottants (type 1), alors ils sont traités
+ comme des polynômes de degré nul.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// Cas des polynômes
+x = poly(0,'x');
+p1 = (x+1)*(x-3)^5;
+p2 = (x-2)*(x-3)^3;
+[pgcd,U] = bezout(p1,p2)
+det(U)
+clean([p1,p2]*U)
+ppcm = p1*U(1,2)
+lcm([p1,p2])
+
+// Cas des doubles
+i1 = 2*3^5;
+i2 = 2^3*3^2;
+[thegcd, U] = bezout(i1, i2)
+V = [2^2*3^5 2^3*3^2 2^2*3^4*5];
+[thegcd, U] = gcd(V)
+V*U
+lcm(V)
+
+// Cas des entiers
+i1 = int32(2*3^5);
+i2 = int32(2^3*3^2);
+[thegcd, U] = bezout(i1, i2)
+V = int32([2^2*3^5 2^3*3^2 2^2*3^4*5]);
+[thegcd, U] = gcd(V)
+V*U
+lcm(V)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/cmndred.xml b/modules/polynomials/help/fr_FR/cmndred.xml
new file mode 100755
index 000000000..502eeb02e
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/cmndred.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="cmndred">
+ <refnamediv>
+ <refname>cmndred</refname>
+ <refpurpose>dénominateur commun </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[n,d]=cmndred(num,den)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>num, den </term>
+ <listitem>
+ <para>2 matrices de polynômes de mêmes dimensions
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[n,d]=cmndred(num,den)</literal> calcule une matrice de polynômes <literal>n</literal> et
+ un dénominateur commun <literal>d</literal> tels que :
+ </para>
+ <para>
+ <literal>n/d=num./den</literal>
+ </para>
+ <para>
+ La matrice de polynômes définie par <literal>num./den</literal> est <literal>n/d</literal>.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/coeff.xml b/modules/polynomials/help/fr_FR/coeff.xml
new file mode 100755
index 000000000..c7f4a95a5
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/coeff.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="coeff">
+ <refnamediv>
+ <refname>coeff</refname>
+ <refpurpose>coefficients d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[C]=coeff(Mp [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>Mp </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v </term>
+ <listitem>
+ <para>vecteur (ligne ou colonne) d'entiers des degrés choisis
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>C </term>
+ <listitem>
+ <para>grosse matrice de coefficients
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>C=coeff(Mp)</literal>
+ renvoie dans une grosse matrice <literal>C</literal> les coefficients de la
+ matrice de polynômes <literal>Mp</literal>. <literal>C</literal> est
+ partitionnée comme <literal>C=[C0,C1,...,Ck]</literal>
+ où les <literal>Ci</literal> sont arrangés dans l'ordre décroissant .
+ <literal>k = max(degree(Mp))</literal>
+ </para>
+ <para>
+ <literal>C=coeff(Mp,v)</literal> renvoie la matrice des coefficients avec les
+ degrés dans <literal>v</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+w=s*rand(10,10);
+determ(w)
+coeff(w,1)
+
+r = poly([0 -1+%i -1-%i],'s',"roots");
+coeff(r)
+
+r = poly([-1-%i -1+2*%i 0],'s',"roots");
+coeff(r)
+
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="inv_coeff">inv_coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/coffg.xml b/modules/polynomials/help/fr_FR/coffg.xml
new file mode 100755
index 000000000..90611570c
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/coffg.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="coffg">
+ <refnamediv>
+ <refname>coffg</refname>
+ <refpurpose>inverse d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[Ns,d]=coffg(Fs)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>Fs </term>
+ <listitem>
+ <para>matrice carrée de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>coffg</literal> calcule <literal>Fs^-1</literal> par la méthode des cofacteurs, où <literal>Fs</literal> est une matrice de polynômes.
+ </para>
+ <para>
+ inverse de <literal>Fs</literal> = <literal>Ns/d</literal>
+ </para>
+ <para>
+ <literal>d</literal> = dénominateur commun; <literal>Ns</literal> = numérateur (une matrice de polynômes).
+ </para>
+ <para>
+ (pour les grandes matrices, s'armer de patience... les résultats sont en général fiables)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+a=[ s, s^2+1; s s^2-1];
+[a1,d]=coffg(a);
+(a1/d)-inv(a)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="invr">invr</link>
+ </member>
+ <member>
+ <link linkend="penlaur">penlaur</link>
+ </member>
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/colcompr.xml b/modules/polynomials/help/fr_FR/colcompr.xml
new file mode 100755
index 000000000..1bc4a6607
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/colcompr.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="colcompr">
+ <refnamediv>
+ <refname>colcompr</refname>
+ <refpurpose>compression des colonnes d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[Y,rk,ac]=colcompr(A);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>A </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y </term>
+ <listitem>
+ <para>matrice carrée de polynômes (base unimodulaire à droite)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk </term>
+ <listitem>
+ <para>
+ rang normal de <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac </term>
+ <listitem>
+ <para>
+ : <literal>Ac=A*Y</literal>, matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Compression de colonnes de la matrice de polynômes <literal>A</literal> (compression à gauche)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s;s*(s+1)^2;2*s^2+s^3];
+[Y,rk,ac]=colcompr(p*p');
+p*p'*Y
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="rowcompr">rowcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/degree.xml b/modules/polynomials/help/fr_FR/degree.xml
new file mode 100755
index 000000000..744ba9b7b
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/degree.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="degree">
+ <refnamediv>
+ <refname>degree</refname>
+ <refpurpose>degrés d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[D]=degree(M)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>M </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D </term>
+ <listitem>
+ <para>matrice d'entiers
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ renvoie la matrice des plus hauts degrés de <literal>M</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+v=[-2-5*%s+%s^2;-6+11*%s-6*%s^2+%s^3];
+degree(v) // Devrait retourner 2 et 3
+
+s=poly(0,"s");
+p=1+s+2*s^42;
+degree(p) // Devrait retourner 42
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/denom.xml b/modules/polynomials/help/fr_FR/denom.xml
new file mode 100755
index 000000000..2ae3d1f40
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/denom.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="denom">
+ <refnamediv>
+ <refname>denom</refname>
+ <refpurpose>dénominateur </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>den=denom(r)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>r </term>
+ <listitem>
+ <para>matrice de fractions rationnelles
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>den </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>den=denom(r)</literal> renvoie le dénominateur d'une
+ matrice rationnelle <literal>R</literal> (<literal>R</literal> peut aussi être
+ une matrice constante ou une matrice de polynômes).
+ </para>
+ <para>
+ Puisque dans Scilab les matrices rationnelles sont représentées
+ comme
+ <literal>r=list(['r','num','den','dt'],num,den,[])</literal>,
+ <literal>denom(r</literal>) est équivalent à <literal>r(3)</literal>,
+ <literal>r('den')</literal> ou <literal>r.den)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+h=(1+2*%s)/poly(1:4,'s','c');
+denom(h)
+numer(h)
+
+s=poly(0,"s");
+p=1+s+2*s^2;
+denom(p) // Devrait retourner 1
+numer(p)
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="numer">numer</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/derivat.xml b/modules/polynomials/help/fr_FR/derivat.xml
new file mode 100755
index 000000000..fedb6104a
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/derivat.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="derivat">
+ <refnamediv>
+ <refname>derivat</refname>
+ <refpurpose>dérivée d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>pd=derivat(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p </term>
+ <listitem>
+ <para>polynôme, matrice de polynômes ou de fractions rationnelles
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Calcule la dérivée des polynômes ou fractions rationnelles contenus dans les termes de
+ la matrice p.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+derivat(1/s) // -1/s^2;
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p1 = poly([1 -2 1], 'x', 'coeff')
+derivat(p1)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p2 = poly([1 -4 2], 'y', 'coeff')
+derivat(p2)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p3 = poly(ones(1, 10), 'z', 'coeff')
+derivat(p3)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p4 = poly([-1 1], 't', 'roots')
+derivat(p4)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+s = %s; p5 = s^{-1} + 2 + 3*s
+derivat(p5)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/determ.xml b/modules/polynomials/help/fr_FR/determ.xml
new file mode 100755
index 000000000..d44339722
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/determ.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="determ">
+ <refnamediv>
+ <refname>determ</refname>
+ <refpurpose>déterminant d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>res=determ(W [,k])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>W </term>
+ <listitem>
+ <para>matrice réelle de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k </term>
+ <listitem>
+ <para>entier (borne supérieure pour le degré du déterminant de W)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>res=determ(W [,k])</literal> renvoie le déterminant d'une
+ matrice réelle de polynômes (calculs fait par FFT si la taille de W
+ est supérieure à 2*2).
+ </para>
+ <para>
+ <literal>k</literal> est un entier plus grand que le degré effectif du
+ déterminant. de <literal>W</literal>.
+ </para>
+ <para>
+ La valeur par défaut de <literal>k</literal> est la plus petite
+ puissance de 2 plus grande que <literal>n*max(degree(W))</literal>.
+ </para>
+ <para>
+ Méthode (pour les matrices dont la taille est supérieure à 2*2) : évaluation du déterminant de <literal>W</literal> aux
+ fréquences de Fourier et FFT inverse appliquée aux coefficients du
+ déterminant.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+w=s*rand(10,10);
+determ(w)
+det(coeff(w,1))*s^10
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/detr.xml b/modules/polynomials/help/fr_FR/detr.xml
new file mode 100755
index 000000000..3d987428a
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/detr.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="detr">
+ <refnamediv>
+ <refname>detr</refname>
+ <refpurpose>déterminant d'un polynôme </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>d=detr(h)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>h </term>
+ <listitem>
+ <para>
+ matrice carrée de doubles ou de polynômes ou de fractions rationnelles.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>d=detr(h)</literal> renvoie le déterminant <literal>d</literal> de la
+ matrice <literal>h</literal>. Basé sur l'algorithme de Leverrier.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example">
+ <![CDATA[
+// Matrice de doubles
+A = rand(5,5);
+detr(A)
+
+A = A+%i;
+detr(A)
+
+// Matrice de polynômes
+x = poly(0, 'x')
+A = [1+x 2 5; 3 4-x 3+x; x^2 1 x];
+detr(A)
+
+// Matrice de fractions rationnelles
+A = [1/x 2 3; 3 4/x 3/x; 1/x^2 1 1/x];
+detr(A)
+ ]]>
+ </programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/diophant.xml b/modules/polynomials/help/fr_FR/diophant.xml
new file mode 100755
index 000000000..816e26a4d
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/diophant.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="diophant">
+ <refnamediv>
+ <refname>diophant</refname>
+ <refpurpose>équation diophantienne de Bezout </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[x,err]=diophant(p1p2,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1p2 </term>
+ <listitem>
+ <para>
+ vecteur de polynômes <literal>p1p2 = [p1 p2]</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b </term>
+ <listitem>
+ <para>polynôme
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x </term>
+ <listitem>
+ <para>vecteur de polynômes [x1;x2]
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal> diophant</literal> résout l'équation de Bezout :
+ </para>
+ <para>
+ <literal>p1*x1+p2*x2=b</literal> où <literal>p1p2</literal> est un vecteur de polynômes.
+ Si l'équation n'est pas soluble
+ </para>
+ <para>
+ sinon <literal>err=0</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');p1=(s+3)^2;p2=(1+s);
+x1=s;x2=(2+s);
+[x,err]=diophant([p1,p2],p1*x1+p2*x2);
+p1*x1+p2*x2-p1*x(1)-p2*x(2)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/factors.xml b/modules/polynomials/help/fr_FR/factors.xml
new file mode 100755
index 000000000..e5e4a83f0
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/factors.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="factors">
+ <refnamediv>
+ <refname>factors</refname>
+ <refpurpose>factorisation réelle de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[lnum,g]=factors(pol [,'flag'])
+ [lnum,lden,g]=factors(rat [,'flag'])
+ rat=factors(rat,'flag')
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>pol </term>
+ <listitem>
+ <para>polynôme réel
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rat </term>
+ <listitem>
+ <para>
+ fraction rationnelle (<literal>rat=pol1/pol2</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lnum </term>
+ <listitem>
+ <para>liste de polynômes (de degrés 1 ou 2)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lden </term>
+ <listitem>
+ <para>liste de polynômes (de degrés 1 ou 2)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>g </term>
+ <listitem>
+ <para>nombre réel
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag </term>
+ <listitem>
+ <para>
+ chaîne de caractères, <literal>'c'</literal> ou <literal>'d'</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ renvoie les facteurs du polynôme <literal>pol</literal> dans la liste <literal>lnum</literal>
+ et le "gain" g.
+ </para>
+ <para>
+ On a pol = g multiplié par le produit des termes de la liste <literal>lnum</literal>
+ (si <literal>flag</literal> n'est pas donné). Si <literal>flag='c'</literal>, on a <literal>|pol(i omega)|</literal> = <literal>|g*prod(lnum_j(i omega)|</literal>.
+ Si <literal>flag='d'</literal> alors
+ on a <literal>|pol(exp(i omega))|</literal> = <literal>|g*prod(lnum_i(exp(i omega))|</literal>.
+ Si l'argument de <literal>factors</literal> est une fraction rationnelle 1x1 <literal>rat=pol1/pol2</literal>,
+ les facteurs du numérateur <literal>pol1</literal> et le dénominateur <literal>pol2</literal>
+ sont renvoyés dans les listes <literal>lnum</literal> et <literal>lden</literal>, respectivement.
+ </para>
+ <para>
+ Le "gain" est renvoyé dans <literal>g</literal>, c'est à dire
+ rat = g multiplié par (produit des termes dans lnum) / (produit des termes dans lden).
+ </para>
+ <para>
+ Si <literal>flag</literal> vaut <literal>'c'</literal> (resp. <literal>'d'</literal>), les racines de <literal>pol</literal>
+ sont réfléchies par rapport à l'axe imaginaire (resp. le cercle unité), i.e.
+ les facteurs dans <literal>lnum</literal> sont des polynômes stables.
+ Idem si <literal>factors</literal> est appelé avec des arguments rationnels :
+ les termes dans <literal>lnum</literal> et <literal>lden</literal> sont des polynômes stables si
+ <literal>flag</literal> est donné. <literal>R2=factors(R1,'c')</literal> ou <literal>R2=factors(R1,'d')</literal>
+ avec <literal>R1</literal> une fraction rationnelle ou une liste <literal>syslin</literal> SISO : la sortie <literal>R2</literal> est rationnelle avec un numérateur et un dénominateur stables et
+ de même module que <literal>R1</literal> sur l'axe imaginaire (<literal>'c'</literal>)
+ ou le cercle unité (<literal>'d'</literal>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+n=poly([0.2,2,5],'z');
+d=poly([0.1,0.3,7],'z');
+R=syslin('d',n,d);
+R1=factors(R,'d')
+roots(R1('num'))
+roots(R1('den'))
+w=exp(2*%i*%pi*[0:0.1:1]);
+norm(abs(horner(R1,w))-abs(horner(R,w)))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/hermit.xml b/modules/polynomials/help/fr_FR/hermit.xml
new file mode 100755
index 000000000..bdc1248ed
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/hermit.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="hermit">
+ <refnamediv>
+ <refname>hermit</refname>
+ <refpurpose>forme d'Hermite </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[Ar,U]=hermit(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>A </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar </term>
+ <listitem>
+ <para>matrice triangulaire de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U </term>
+ <listitem>
+ <para>matrice unimodulaire de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Forme d'Hermite : <literal>U</literal> est une matrice unimodulaire telle que <literal>A*U</literal> est sous la
+ forme d'Hermite triangulaire :
+ </para>
+ <para>
+ La variable de sortie est <literal>Ar=A*U</literal>.
+ </para>
+ <para>
+ <warning>
+ Attention : version expérimentale
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s, s*(s+1)^2, 2*s^2+s^3];
+[Ar,U]=hermit(p'*p);
+clean(p'*p*U), det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/horner.xml b/modules/polynomials/help/fr_FR/horner.xml
new file mode 100755
index 000000000..63ddeee19
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/horner.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="horner">
+ <refnamediv>
+ <refname>horner</refname>
+ <refpurpose>évaluation d'un polynôme ou d'une fraction rationnelle </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>horner(P,x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>P </term>
+ <listitem>
+ <para>polynôme ou matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x </term>
+ <listitem>
+ <para>vecteur de nombres , de polynômes ou de fractions rationnelles
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ évalue le polynôme ou la fraction rationnelle (ou matrice de fractions rationnelles)
+ <literal>P = P(s)</literal> quand la variable <literal>s</literal> du polynôme
+ est remplacée par <literal>x</literal> :
+ </para>
+ <para>
+ <literal>horner(P,x)</literal>=<literal>P(x)</literal>
+ </para>
+ <para>
+ Exemple (transformation bilinéaire) : supposons que <literal>P = P(s)</literal> est
+ une matrice de polynômes, alors la matrice de polynômes
+ <literal>P((1+s)/(1-s))</literal> est obtenue par <literal>horner(P,(1+s)/(1-s))</literal>.
+ </para>
+ <para>
+ Pour évaluer une matrice de polynômes à des fréquences données utiliser plutôt la primitive <literal>freq</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+//evaluation d'un polynŽôme pour un vecteur de nombres
+P=poly(1:3,'x')
+horner(P,[1 2 5])
+horner(P,[1 2 5]+%i)
+
+//evaluation d'un vecteur de fractions rationnelles
+s=poly(0,'s');M=[s,1/s];
+horner(M,1)
+horner(M,%i)
+horner(M,1/s)
+
+//evaluation d'un polynŽôme pour une matrice de nombres
+X= [1 2;3 4]
+p=poly(1:3,'x','c')
+m=horner(p, X)
+1*X.^0+2*X.^1+3*X.^2
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="freq">freq</link>
+ </member>
+ <member>
+ <link linkend="repfreq">repfreq</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/hrmt.xml b/modules/polynomials/help/fr_FR/hrmt.xml
new file mode 100755
index 000000000..af4aae393
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/hrmt.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="hrmt">
+ <refnamediv>
+ <refname>hrmt</refname>
+ <refpurpose>PGDC de plusieurs polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[pg,U]=hrmt(v)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>v </term>
+ <listitem>
+ <para>vecteur ligne de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pg </term>
+ <listitem>
+ <para>polynôme
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U </term>
+ <listitem>
+ <para>matrice unimodulaire de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[pg,U]=hrmt(v)</literal> renvoie une matrice unimodulaire <literal>U</literal> et <literal>pg</literal> = PGDC de la ligne de
+ polynômes <literal>v</literal> tels que <literal>v*U = [pg,0]</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+v=[x*(x+1),x^2*(x+1),(x-2)*(x+1),(3*x^2+2)*(x+1)];
+[pg,U]=hrmt(v);U=clean(U)
+det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/htrianr.xml b/modules/polynomials/help/fr_FR/htrianr.xml
new file mode 100755
index 000000000..5be1d43ca
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/htrianr.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="htrianr">
+ <refnamediv>
+ <refname>htrianr</refname>
+ <refpurpose>triangularisation d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[Ar,U,rk]=htrianr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>A </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U </term>
+ <listitem>
+ <para>matrice unimodulaire de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk </term>
+ <listitem>
+ <para>
+ entier, le rang normal de <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ triangularisation de la matrice de polynômes <literal>A</literal>.
+ </para>
+ <para>
+ <literal>A</literal> de taille <literal>[m,n]</literal>, <literal>m &lt;= n</literal>.
+ </para>
+ <para>
+ <literal>Ar=A*U</literal>
+ </para>
+ <para>
+ <warning>
+ Attention: il y a une élimination des "petits" termes (voir le code la fonction).
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+M=[x;x^2;2+x^3]*[1,x-2,x^4];
+[Mu,U,rk]=htrianr(M)
+det(U)
+M*U(:,1:2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/inv_coeff.xml b/modules/polynomials/help/fr_FR/inv_coeff.xml
new file mode 100755
index 000000000..3165c9071
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/inv_coeff.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="inv_coeff">
+ <refnamediv>
+ <refname>inv_coeff</refname>
+ <refpurpose>construction d'une matrice polynomiale à partir des coefficients </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[P]=inv_coeff(C,[,d,[name])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>C </term>
+ <listitem>
+ <para>"grosse" matrice des coefficients
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>d </term>
+ <listitem>
+ <para>
+ degré de la matrice polynomiale (paramètre optionnel valant par défaut <literal>d=-1+size(C,'c')/size(C,'r')</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name </term>
+ <listitem>
+ <para>
+ chaîne de caractères (indéterminée du polynôme, <literal>'x'</literal> par défaut).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>P=inv_coeff(Mp,k)</literal>, quand <literal>k</literal> est compatible avec la taille de <literal>Mp</literal> renvoie une matrice polynomiale de degré k. <literal>C=[C0,C1,...,Ck]</literal> et
+ <literal>P= C0 + C1*x +... +Ck*x^k</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+A=int(10*rand(2,6))
+// construction d'une matrice polynomiale de degré 1
+P=inv_coeff(A,1)
+norm(coeff(P)-A)
+// utilisation de la valeur par défaut du degré
+P1=inv_coeff(A)
+norm(coeff(P1)-A)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/invr.xml b/modules/polynomials/help/fr_FR/invr.xml
new file mode 100755
index 000000000..7cdb58374
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/invr.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="invr">
+ <refnamediv>
+ <refname>invr</refname>
+ <refpurpose>inversion d'une matrice rationnelle (ou polynomiale) </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>F = invr(H)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>H </term>
+ <listitem>
+ <para>polynôme ou matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>F </term>
+ <listitem>
+ <para>polynôme ou matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Si <literal>H</literal> est une matrice de polynômes ou de fractions rationnelles, <literal>invr</literal>
+ calcule <literal>H^(-1)</literal> avec l'algorithme de Leverrier (voir code de la fonction).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+H=[s,s*s+2;1-s,1+s]; invr(H)
+[Num,den]=coffg(H);Num/den
+H=[1/s,(s+1);1/(s+2),(s+3)/s];invr(H)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ <member>
+ <link linkend="inv">inv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/lcmdiag.xml b/modules/polynomials/help/fr_FR/lcmdiag.xml
new file mode 100755
index 000000000..7c767c635
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/lcmdiag.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="lcmdiag">
+ <refnamediv>
+ <refname>lcmdiag</refname>
+ <refpurpose>factorisation diagonale par le plus petit commun multiple </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[N,D]=lcmdiag(H)
+ [N,D]=lcmdiag(H,flag)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>H </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>N </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D </term>
+ <listitem>
+ <para>matrice diagonale de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag </term>
+ <listitem>
+ <para>
+ chaîne de caractères : <literal>'row'</literal> ou <literal>'col'</literal> (par défaut)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[kN,D]=lcmdiag(H,'row')</literal> calcule une factorisation <literal>D*H=N</literal>,
+ i.e. H=D^(-1)*N où D est une matrice diagonale avec D(k,k)=ppcm de la
+ k-ième ligne de H.den .
+ </para>
+ <para>
+ <literal>[N,D]=lcmdiag(H)</literal> ou <literal>[N,D]=lcmdiag(H,'col)</literal> renvoie
+ H=N*D^(-1) avec D diagonale et D(k,k)=ppcm de ma k-ième colonne de H.den .
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[1/s,(s+2)/s/(s+1)^2;1/(s^2*(s+2)),2/(s+2)];
+[N,D]=lcmdiag(H);
+N/D-H
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="bezout">bezout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/ldiv.xml b/modules/polynomials/help/fr_FR/ldiv.xml
new file mode 100755
index 000000000..eed04cba4
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/ldiv.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="ldiv">
+ <refnamediv>
+ <refname>ldiv</refname>
+ <refpurpose>division longue d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[x]=ldiv(n,d,k)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>n,d </term>
+ <listitem>
+ <para>deux matrices réelles de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k </term>
+ <listitem>
+ <para>entier
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>x=ldiv(n,d,k)</literal> donne les <literal>k</literal> premiers coefficients de la division longue
+ de <literal>n</literal> par <literal>d</literal> i.e. le développement de Taylor de la matrice rationnelle
+ <literal>[nij(z)/dij(z)]</literal> à l'infini.
+ </para>
+ <para>
+ Les coefficients du développement de <literal>nij/dij</literal> sont stockés dans
+ <literal>x((i-1)*n+k,j) k=1:n</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+wss=ssrand(1,1,3);[a,b,c,d]=abcd(wss);
+wtf=ss2tf(wss);
+x1=ldiv(numer(wtf),denom(wtf),5)
+x2=[c*b;c*a*b;c*a^2*b;c*a^3*b;c*a^4*b]
+wssbis=markp2ss(x1',5,1,1);
+wtfbis=clean(ss2tf(wssbis))
+x3=ldiv(numer(wtfbis),denom(wtfbis),5)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="arl2">arl2</link>
+ </member>
+ <member>
+ <link linkend="markp2ss">markp2ss</link>
+ </member>
+ <member>
+ <link linkend="pdiv">pdiv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/numer.xml b/modules/polynomials/help/fr_FR/numer.xml
new file mode 100755
index 000000000..6375ba807
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/numer.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="numer">
+ <refnamediv>
+ <refname>numer</refname>
+ <refpurpose>numérateurs d'une matrice rationnelle </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>num=numer(R)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>R </term>
+ <listitem>
+ <para>matrice de fractions rationnelles
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>num </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>num=numer(R)</literal> renvoie le numérateur <literal>num</literal> d'une matrice rationnelle <literal>R</literal> (<literal>R</literal> peut aussi être une matrice constante ou une matrice de polynômes).
+ <literal>numer(R)</literal> est équivalent à <literal>R(2)</literal>, <literal>R('num')</literal> ou <literal>R.num</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+h=(1+2*%s)/poly(1:4,'s','c');
+denom(h)
+numer(h)
+
+s=poly(0,"s");
+p=1+s+2*s^2;
+denom(p) // Devrait retourner 1
+numer(p)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="denom">denom</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/pdiv.xml b/modules/polynomials/help/fr_FR/pdiv.xml
new file mode 100755
index 000000000..e36ec3630
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/pdiv.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="pdiv">
+ <refnamediv>
+ <refname>pdiv</refname>
+ <refpurpose>division de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[R,Q]=pdiv(P1,P2)
+ [Q]=pdiv(P1,P2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>P1 </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>P2 </term>
+ <listitem>
+ <para>polynôme ou matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>R,Q </term>
+ <listitem>
+ <para>deux matrices de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Division euclidienne élément par élément de la matrice de polynômes <literal>P1</literal>
+ par le polynôme <literal>P2</literal> ou par la matrice de polynômes <literal>P2</literal>.
+ <literal>Rij</literal> est la matrice des restes, <literal>Qij</literal> est la matrice
+ des quotients et <literal>P1ij = Qij*P2 + Rij</literal> ou <literal>P1ij = Qij*P2ij + Rij</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+p1=(1+x^2)*(1-x);p2=1-x;
+[r,q]=pdiv(p1,p2)
+p2*q-p1
+p2=1+x;
+[r,q]=pdiv(p1,p2)
+p2*q+r-p1
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ldiv">ldiv</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/pol2str.xml b/modules/polynomials/help/fr_FR/pol2str.xml
new file mode 100755
index 000000000..4cf6807be
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/pol2str.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2013 - Samuel GOUGEON : upgrade for 5.5.0
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="pol2str">
+ <refnamediv>
+ <refname>pol2str</refname>
+ <refpurpose>conversion polynôme => texte</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>strs = pol2str(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p </term>
+ <listitem>
+ <para>matrice ou hypermatrice de polynômes à coefficients réels ou complexes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>str </term>
+ <listitem>
+ <para>matrice ou hypermatrice texte
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ convertit les polynômes p en textes les représentant (fonction utilitaire).
+ </para>
+ <para>
+ <note>
+ Le format de sortie des coefficients est fixé par <link linkend="format">format(..)</link>.
+ </note>
+ </para>
+ </refsection>
+
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+pol2str(%z)
+
+p = poly ([1, 2, 3], "x","coeff");
+pol2str(p)
+
+p = (1+%i+%z)^(1:4)
+pol2str(p)
+ ]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="prettyprint">prettyprint</link>
+ </member>
+ <member>
+ <link linkend="sci2exp">sci2exp</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection role="history tag">
+ <title>Historique</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revdescription>Extension aux polynômes à coefficients complexes et aux hypermatrices. Vectorisation du traitement du tableau de polynômes</revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/polfact.xml b/modules/polynomials/help/fr_FR/polfact.xml
new file mode 100755
index 000000000..0ce33db2a
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/polfact.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="polfact">
+ <refnamediv>
+ <refname>polfact</refname>
+ <refpurpose>facteurs minimaux </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[f]=polfact(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p </term>
+ <listitem>
+ <para>
+ polynôme
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f </term>
+ <listitem>
+ <para>
+ vecteur <literal>[f0 f1 ... fn]</literal> tel que <literal>p=prod(f)</literal>
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>f0 </term>
+ <listitem>
+ <para>
+ constante
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fi </term>
+ <listitem>
+ <para>
+ polynôme
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>f=polfact(p)</literal> renvoie les facteurs minimaux de p
+ i.e. <literal>f=[f0 f1 ... fn]</literal> tel que <literal>p=prod(f)</literal>
+ </para>
+ </refsection>
+
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example">
+ <![CDATA[
+x = poly(0, "x")
+polfact(x^2-1)
+
+polfact(x^7-1)
+
+ ]]>
+ </programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="cmndred">cmndred</link>
+ </member>
+ <member>
+ <link linkend="factors">factors</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/poly.xml b/modules/polynomials/help/fr_FR/poly.xml
new file mode 100755
index 000000000..924dc7957
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/poly.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="poly">
+ <refnamediv>
+ <refname>poly</refname>
+ <refpurpose>définition d'un polynôme </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[p]=poly(a,vname, ["flag"])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>a </term>
+ <listitem>
+ <para>matrice ou nombre réel.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>vname </term>
+ <listitem>
+ <para>chaîne de caractères, nom de l'indéterminée du
+ polynôme. La châine ne doit pas dépasser les 4 caractères.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"flag"</term>
+ <listitem>
+ <para>chaîne de caractères ("roots" ou "r", "coeff" ou "c"), la
+ valeur par défaut est "roots".
+ </para>
+ <para>
+ Des raccourcis peuvent être aussi utilisés: <literal>"r"</literal> pour <literal>"roots"</literal> et <literal>"c"</literal> pour <literal>"coeff"</literal>.
+ </para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <variablelist>
+ <varlistentry>
+ <term>Si a est une matrice,</term>
+ <listitem>
+ <para>
+ <literal>p</literal> est le polynôme
+ caractéristique de a, c'est à dire
+ <literal>déterminant(x*eye()-a)</literal>, <literal>x</literal> étant
+ l'indéterminée.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Si v est un vecteur,</term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>poly(v,"x",["roots"])</literal> est le polynôme
+ dont les racines sont égales aux termes de <literal>v</literal> et
+ <literal>"x"</literal> l'indéterminée. Dans ce cas
+ <literal>roots</literal> et <literal>poly</literal> sont des fonctions inverses
+ l'une de l'autre.
+ <note>
+ Notez qye les racines infinies produisent des
+ coefficients de haut degré egaux a zéro.
+ </note>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>poly(v,"x","coeff")</literal> crée le polynôme
+ d'indéterminée <literal>"x"</literal> dont les coefficients sont
+ les termes de <literal>v</literal> (v(1) est le terme constant). Dans ce
+ dernier cas, <literal>poly</literal> et <literal>coeff</literal> sont des fonctions
+ inverses l'une de l'autre.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <literal>s=poly(0,"s")</literal> permet de définir des polynômes en
+ utilisant les opérations usuelles (+,-,*,^).<literal>"s"</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,"s");
+p=1+s+2*s^2
+A=rand(2,2);
+poly(A,"x")
+//fractions rationnelles
+h=(1+2*%s)/poly(1:4,'s','coeff')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Historique</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revremark>Les seules valeurs autorisées pour le troisième argument sont "roots", "coeff", "c" et "r".</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/rational.xml b/modules/polynomials/help/fr_FR/rational.xml
new file mode 100755
index 000000000..9f96c3c62
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/rational.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="rational">
+ <refnamediv>
+ <refname>rational</refname>
+ <refpurpose>Objet Scilab, fraction rationnelle </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Une fraction rationnelle <literal>r</literal> est le quotient de deux polynômes <literal>r=num/den</literal>.
+ La représentation interne d'une fraction rationnelle est une liste :
+ <literal>r=rlist(num,den,[])</literal> est identique à <literal>r=num/den</literal>.
+ Une matrice de fractions rationnelles peut être définie en utilisant la syntaxe habituelle :
+ <literal>[r11,r12;r21,r22]</literal> est une matrice 2x2 ou les <literal>rij</literal> sont des fractions rationnelles.
+ Une matrice de fractions rationnelles peut aussi être définie comme précédemment : <literal>tlist(['r','num','den','dt'],num,den,[])</literal> avec <literal>num</literal> et <literal>den</literal> deux matrices polynomiales.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+H=Num./Den
+syslin('c',Num,Den)
+syslin('c',H)
+[Num1,Den1]=simp(Num,Den)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/residu.xml b/modules/polynomials/help/fr_FR/residu.xml
new file mode 100755
index 000000000..7e4a7316f
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/residu.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="residu">
+ <refnamediv>
+ <refname>residu</refname>
+ <refpurpose>résidu </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[V]=residu(P,Q1,Q2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>P, Q1, Q2 </term>
+ <listitem>
+ <para>polynômes ou matrice de polynômes à coefficients réels ou complexes.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>V=residu(P,Q1,Q2)</literal> renvoie la matrice <literal>V</literal> telle que <literal>V(i,j)</literal>
+ est la somme des résidus de la fraction rationnelle
+ <literal>P(i,j)/(Q1(i,j)*Q2(i,j))</literal> calculés aux zéros de <literal>Q1(i,j)</literal>.
+ </para>
+ <para>
+ <literal>Q1(i,j)</literal> et <literal>Q2(i,j)</literal> ne doivent pas avoir de racines communes.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[s/(s+1)^2,1/(s+2)];N=numer(H);D=denom(H);
+w=residu(N.*horner(N,-s),D,horner(D,-s)); //N(s) N(-s) / D(s) D(-s)
+sqrt(sum(w)) // La norme H2
+h2norm(tf2ss(H))
+
+p=(s-1)*(s+1)*(s+2)*(s+10);a=(s-5)*(s-1)*(s*s)*((s+1/2)**2);
+b=(s-3)*(s+2/5)*(s+3);
+residu(p,a,b)+531863/4410 // Exact
+z=poly(0,'z');a=z^3+0.7*z^2+0.5*z-0.3;b=z^3+0.3*z^2+0.2*z+0.1;
+atild=gtild(a,'d');btild=gtild(b,'d');
+residu(b*btild,z*a,atild)-2.9488038 // Exact
+a=a+0*%i;b=b+0*%i;
+real(residu(b*btild,z*a,atild)-2.9488038) // Cas complexe
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="pfss">pfss</link>
+ </member>
+ <member>
+ <link linkend="bdiag">bdiag</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/roots.xml b/modules/polynomials/help/fr_FR/roots.xml
new file mode 100755
index 000000000..ee108a747
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/roots.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ???? - 2008 - INRIA
+ * Copyright (C) 2011 - DIGITEO - Michael Baudin
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="roots" xml:lang="fr">
+ <refnamediv>
+ <refname>roots</refname>
+ <refpurpose>racines d'un polynôme</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>
+ x=roots(p)
+ x=roots(p,"algo")
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>
+ un polynôme réel ou complexe, ou
+ une m-par-1 or 1-par-m matrice de doubles, les coefficients du polynômes par ordre de puissance décroissante.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>algo</term>
+ <listitem>
+ <para>
+ une chaîne de caractères, l'algorithme à utiliser (défaut algo="e").
+ Si algo="e", alors les valeurs propres de la matrice compagnion sont utilisées.
+ Si algo="f", alors l'algorithme de Jenkins-Traub est utilisé (si les coefficients
+ du polynôme sont réels et que le degré du polynôme est plus petit que 100).
+ Si algo="f" et que le polynôme est complexe, alors une erreur est générée.
+ Si algo="f" et que le polynôme est de degré inférieur à 100, alors une erreur est
+ générée.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Cette fonction retourne dans le vecteur complexe
+ <literal>x</literal> les racines du polynôme <literal>p</literal>.
+ </para>
+ <para>
+ L'option "f" utilise l'algorithme rapide RPOLY, fondé sur la méthode de Jenkins-Traub.
+ </para>
+ <para>
+ Pour les polynôme réels de degré inférieur à 100, on peut utiliser
+ l'option "f", qui peut être plus rapide dans certains cas.
+ Toutefois, certains polynômes sont susceptibles de poser des problèmes
+ de convergences pour l'algorithme associé à l'option "f".
+ Par exemple, <literal>p=poly([1.e300,1.e0,1.e-300],'x');</literal>
+ provoque le bouclage infini de <literal>roots(p,"f")</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <para>
+ Dans les exemples suivants, on calcule des racines de polynômes.
+ </para>
+ <programlisting role="example"><![CDATA[
+// Un polynôme réel.
+p = poly([1 2 3],"x")
+roots(p)
+// Les coefficients du polynôme sont donnés.
+p = [3 2 1]
+roots(p)
+// Les racines d'un polynôme complexe.
+p=poly([0,10,1+%i,1-%i],'x');
+roots(p)
+// Les racines du polynôme caractéristique d'une matrice.
+A=rand(3,3);
+p = poly(A,'x')
+roots(p)
+spec(A)
+ ]]></programlisting>
+ <para>
+ La représentation polynômiale peut avoir un impact significatif sur les
+ racines.
+ Dans l'exemple suivant, suggéré par Wilkinson dans les années 60 et présenté
+ par Moler, on considère une matrice dont les termes diagonaux sont égaux
+ à 1, 2, ..., 20.
+ Bien entendu, les racines du polynôme caractéristique sont 1, 2, ..., 20.
+ Si on calcule le polynôme caractéristique associé et qu'on calcule ses
+ racines, on peut voir qu'elles sont significativement différentes des
+ valeurs attendues.
+ Cela montre que le seul fait de représenter les coefficients dans
+ des doubles IEEE change les racines.
+ </para>
+ <programlisting role="example"><![CDATA[
+A = diag(1:20);
+p = poly(A,'x')
+roots(p)
+ ]]></programlisting>
+ <para>
+ L'option "f" produit une erreur si le polynôme est complexe
+ ou que le degré est plus grand que 100.
+ </para>
+ <programlisting role="example"><![CDATA[
+ // Le cas suivant produit une erreur
+ p = %i+%s;
+ roots(p,"f")
+ // Le cas suivant produit une erreur
+ p = ones(101,1);
+ roots(p,"f")
+ ]]></programlisting>
+ <para>
+ Le script suivant est une manière simple de vérifier que la matrice compagnon donne le même résultat que l'option "e".
+ Il utilise explicitement la matrice compagnon pour calculer les racines.
+ Il faut néanmoins inverser les coefficients du polynôme ;
+ en effet, "roots" les attend dans l'ordre de degré décroissant,
+ alors que "poly" les attend dans l'ordre croissant.
+ </para>
+ <programlisting role="example"><![CDATA[
+v= [1.12119799 0 3.512D+13 32 3.275D+27 0 1.117D+41 4.952D+27 1.722D+54 0 1.224D+67 0 3.262D+79 ];
+r1 = roots(v,"e"); // Avec l'option "e"
+dv = size(v,"*");
+p = poly(v(dv:-1:1),"x","coeff"); // Inversion des coefficients de v
+A = companion(p);
+r2 = spec(A); // Avec la matrice compagnon
+max(abs(r1-r2))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="spec">spec</link>
+ </member>
+ <member>
+ <link linkend="companion">companion</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Bibliographie</title>
+ <para>
+ La routine RPOLY est decrite dans "Algorithm 493: Zeros of a Real
+ Polynomial", ACM TOMS Volume 1, Issue 2 (June 1975), pp. 178-189
+ </para>
+ </refsection>
+ <refsection>
+ <title>Fonctions Utilisées</title>
+ <para>
+ Le code source de rpoly.f peut être trouvé dans le répertoire
+ SCI/modules/polynomials/src/fortran/ de la distribution source de Scilab. Dans le cas où la
+ matrix compagnon est utilisée, le calcul des valeurs propres est effectué
+ en utilisant les routines DGEEV et ZGEEV de LAPACK.
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/rowcompr.xml b/modules/polynomials/help/fr_FR/rowcompr.xml
new file mode 100755
index 000000000..d70e94624
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/rowcompr.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="rowcompr">
+ <refnamediv>
+ <refname>rowcompr</refname>
+ <refpurpose>compression de lignes d'une matrice de polynômes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[X,rk,Ac]=rowcompr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>A </term>
+ <listitem>
+ <para>matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y </term>
+ <listitem>
+ <para>matrice carrée de polynômes (base unimodulaire à gauche)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk </term>
+ <listitem>
+ <para>
+ rang normal de <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac </term>
+ <listitem>
+ <para>
+ : <literal>Ac=X*A</literal>, matrice de polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Compression de lignes de la matrice de polynômes <literal>A </literal>.
+ </para>
+ <para>
+ <literal>X</literal> est une base de polynômes unimodulaire à gauche qui compresse les lignes
+ de <literal>A</literal>. <literal>rk</literal> est le rang normal de A.
+ </para>
+ <para>
+ <warning>
+ Attention : élimination des termes "petits" (à utiliser avec précaution).
+ </warning>
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/sfact.xml b/modules/polynomials/help/fr_FR/sfact.xml
new file mode 100755
index 000000000..711b38093
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/sfact.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="sfact">
+ <refnamediv>
+ <refname>sfact</refname>
+ <refpurpose>factorisation spectrale en temps discret </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>F=sfact(P)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>P </term>
+ <listitem>
+ <para>matrice de polynômes réels
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Trouve <literal>F</literal>, un facteur spectral de <literal>P</literal>. <literal>P</literal> est une
+ matrice de polynômes telle que chaque racine de <literal>P</literal> a une image miroir
+ par rapport au cercle unité. Le problème est singulier si une racine se trouve sur le cercle unité.
+ </para>
+ <para>
+ <literal>sfact(P)</literal> renvoie une matrice de polynômes <literal>F(z)</literal> antistable et telle que
+ </para>
+ <para>
+ <literal>P = F(z)* F(1/z) *z^n</literal>
+ </para>
+ <para>
+ Pour les polynômes scalaires un algorithme spécifique est utilisé.
+ Les algorithmes sont tirés du livre de Kucera.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// polynôme simple
+z=poly(0,'z');
+p=(z-1/2)*(2-z)
+w=sfact(p);
+w*numer(horner(w,1/z))
+
+// exemple matriciel
+F1=[z-1/2,z+1/2,z^2+2;1,z,-z;z^3+2*z,z,1/2-z];
+P=F1*gtild(F1,'d'); // P est symétrique
+F=sfact(P)
+roots(det(P))
+roots(det(gtild(F,'d'))) // Les racines stables
+roots(det(F)) // Les racines antistables
+clean(P-F*gtild(F,'d'))
+
+// Utilisation en temps continu
+s=poly(0,'s');
+p=-3*(s+(1+%i))*(s+(1-%i))*(s+0.5)*(s-0.5)*(s-(1+%i))*(s-(1-%i));p=real(p);
+// p(s) = polynôme dans s^2, cherche un f stable tel que p=f(s)*f(-s)
+w=horner(p,(1-s)/(1+s)); // transformation bilinéaire w=p((1-s)/(1+s))
+wn=numer(w); // prend le numérateur
+fn=sfact(wn);f=numer(horner(fn,(1-s)/(s+1))); // Factorisation et transformation inverse
+f=f/sqrt(horner(f*gtild(f,'c'),0));f=f*sqrt(horner(p,0)); // normalisation
+roots(f) // f est stable
+clean(f*gtild(f,'c')-p) //f(s)*f(-s) est égal à p(s)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ <member>
+ <link linkend="fspecg">fspecg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/simp.xml b/modules/polynomials/help/fr_FR/simp.xml
new file mode 100755
index 000000000..8998b15ed
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/simp.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="simp">
+ <refnamediv>
+ <refname>simp</refname>
+ <refpurpose>simplification rationnelle </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[N1,D1]=simp(N,D)
+ H1=simp(H)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>N,D </term>
+ <listitem>
+ <para>polynômes réels ou matrices de polynômes réels
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>H </term>
+ <listitem>
+ <para>
+ matrice de fractions rationnelles (i.e matrice avec des termes <literal>n/d</literal>, <literal>n</literal> et <literal>d</literal> polynômes réels)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[n1,d1]=simp(n,d)</literal> calcule deux polynômes <literal>n1</literal> et <literal>d1</literal>
+ tels que<literal>n1/d1 = n/d</literal>.
+ </para>
+ <para>
+ Si <literal>N</literal> et <literal>D</literal> sont des matrices de polynômes le calcul
+ est fait élément par élément.
+ </para>
+ <para>
+ <literal>H1=simp(H)</literal> est aussi valide (chaque terme de <literal>H</literal> est simplifié dans <literal>H1</literal>).
+ </para>
+ <para>
+ <warning>
+ Attention :
+ </warning>
+ </para>
+ <para>
+ - pas de seuil i.e. <literal>simp</literal> ne peut pas forcer une
+ simplification.
+ </para>
+ <para>
+ - Pour les systèmes dynamiques linéaires avec un intégrateur la simplification
+ change le gain statique. (<literal>H(0)</literal> pour les systèmes continus ou <literal>H(1)</literal> pour les systèmes discrets)
+ </para>
+ <para>
+ - Pour les données complexes, <literal>simp</literal> renvoie ses entrées.
+ </para>
+ <para>
+ - Une simplification est effectuée après la plupart des opérations rationnelles. Il est possible de la supprimer en utilisant la fonction <literal>simp_mode</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+[n,d]=simp((s+1)*(s+2),(s+1)*(s-2))
+
+simp_mode(%F);hns=s/s
+simp_mode(%T);hns=s/s
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="trfmod">trfmod</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="simp_mode">simp_mode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/simp_mode.xml b/modules/polynomials/help/fr_FR/simp_mode.xml
new file mode 100755
index 000000000..4dd1aa3ed
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/simp_mode.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="simp_mode">
+ <refnamediv>
+ <refname>simp_mode</refname>
+ <refpurpose>mode de simplification des fractions rationnelles </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>mod=simp_mode()
+ simp_mode(mod)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>mod </term>
+ <listitem>
+ <para>un booléen
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Une simplification rationnelle est effectuée après chaque opération sur les fractions rationnelles. Il est possible de changer cela avec la fonction <literal>simp_mode</literal>.
+ </para>
+ <para>
+ <literal>simp_mode(%t)</literal> passe en mode de simplification systématique.
+ </para>
+ <para>
+ <literal>simp_mode(%f)</literal> empêche les simplifications.
+ </para>
+ <para>
+ <literal>mod=simp_mode()</literal> renvoie dans mod le mode de simplification courant.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+mod=simp_mode()
+simp_mode(%f);hns=s/s
+simp_mode(%t);hns=s/s
+simp_mode(mod);
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/sylm.xml b/modules/polynomials/help/fr_FR/sylm.xml
new file mode 100755
index 000000000..b37fe06e8
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/sylm.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="sylm">
+ <refnamediv>
+ <refname>sylm</refname>
+ <refpurpose>matrice de Sylvester </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[S]=sylm(a,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>a,b </term>
+ <listitem>
+ <para>deux polynômes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>S </term>
+ <listitem>
+ <para>matrice
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>sylm(a,b)</literal> renvoie la matrice de Sylvester associée aux polynômes
+ <literal>a</literal> et <literal>b</literal>, i.e. la matrice <literal>S</literal> telle que :
+ </para>
+ <para>
+ <literal>coeff( a*x + b*y )' = S * [coeff(x)';coeff(y)']</literal>.
+ </para>
+ <para>
+ La dimension de <literal>S</literal> est égale à <literal>degree(a)+degree(b)</literal>.
+ </para>
+ <para>
+ Si <literal>a</literal> et <literal>b</literal> sont premiers entre eux alors
+ </para>
+ <para>
+ <literal>rank(sylm(a,b))=degree(a)+degree(b))</literal> et les instructions
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+u = sylm(a,b) \ eye(na+nb,1)
+x = poly(u(1:nb),'z','coeff')
+y = poly(u(nb+1:na+nb),'z','coeff')
+ ]]></programlisting>
+ <para>
+ calculent les facteurs de Bezout <literal>x</literal> ainsi que <literal>y</literal> de degré minimum tels que
+ <literal>a*x+b*y = 1</literal>
+ </para>
+
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+x = poly(0,"x")
+y = poly ([1, 2, 3], "x","coeff");
+sylm(x,y)
+
+ ]]></programlisting>
+ </refsection>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/fr_FR/varn.xml b/modules/polynomials/help/fr_FR/varn.xml
new file mode 100755
index 000000000..f67068c45
--- /dev/null
+++ b/modules/polynomials/help/fr_FR/varn.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="varn">
+ <refnamediv>
+ <refname>varn</refname>
+ <refpurpose>variable symbolique d'un polynôme ou d'une fraction rationnelle</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[symb]=varn(p)
+ [pm]=varn(p,varname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>p </term>
+ <listitem>
+ <para>matrice de polynômes ou de fractions rationelles
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>symb </term>
+ <listitem>
+ <para>
+ chaîne de caractères: nom de l'indéterminée des éléments de <literal>p</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>varname </term>
+ <listitem>
+ <para>
+ chaîne de caractères: nouveau nom à attribuer à la variable des polynômes ou fractions rationnelles de <literal>p</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pm </term>
+ <listitem>
+ <para>
+ matrice <literal>p</literal> actualisée avec le nouveau nom de variable <literal>varname</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>symb=varn(p)</literal> renvoie dans <literal>symb</literal> l'indéterminée du polynôme <literal>p</literal>
+ (par exemple <literal>varn(poly(0,'x'))</literal> est égal à <literal>'x'</literal>).
+ </para>
+ <para>
+ <literal>varn(p,'s')</literal> renvoie une matrice polynomiale de même taille que <literal>p</literal> mais avec <literal>'s'</literal> comme indéterminée.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s = poly(0,'s'); p = [s^2+1,s];
+varn(p)
+varn(p,'x')
+
+f = %z / (%z-1); f = [f f^2]
+varn(f)
+varn(f,"x")
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="rlist">rlist</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Historique</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.1</revnumber>
+ <revdescription>
+ <para>Extension aux fractions rationnelles</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/addchapter.sce b/modules/polynomials/help/ja_JP/addchapter.sce
new file mode 100755
index 000000000..11643ae1d
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Polynomials",SCI+"/modules/polynomials/help/ja_JP",%T);
+
diff --git a/modules/polynomials/help/ja_JP/bezout.xml b/modules/polynomials/help/ja_JP/bezout.xml
new file mode 100755
index 000000000..a664cc253
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/bezout.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="bezout">
+ <refnamediv>
+ <refname>bezout</refname>
+ <refpurpose>多項å¼ã¾ãŸï½ˆæ•´æ•°ã®ã¹ã‚ºãƒ¼æ–¹ç¨‹å¼</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[thegcd,U]=bezout(p1,p2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1, p2</term>
+ <listitem>
+ <para>2ã¤ã®å®Ÿæ•°å¤šé …å¼ã¾ãŸã¯2ã¤ã®æ•´æ•°ã‚¹ã‚«ãƒ©ãƒ¼(8åž‹)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>[thegcd,U]=bezout(p1,p2)</literal> 㯠GCD,
+ <literal>p1</literal> ãŠã‚ˆã³ <literal>p2</literal>ã®
+ <literal>thegcd</literal>ãŠã‚ˆã³
+ 以下ã®ã‚ˆã†ãª(2x2) ユニモジュラ行列<literal>U</literal>
+ を計算ã—ã¾ã™:
+ </para>
+ <para>
+ <literal>[p1,p2]*U = [thegcd,0]</literal>
+ </para>
+ <para>
+ <literal>p1</literal>ãŠã‚ˆã³<literal>p2</literal>ã®lcmã¯
+ 以下ã®ã‚ˆã†ã«æŒ‡å®šã•ã‚Œã¾ã™:
+ </para>
+ <para>
+ <literal>p1*U(1,2)</literal> (ã¾ãŸã¯ <literal>-p2*U(2,2)</literal>)
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+// 多項å¼ã®å ´åˆ
+x=poly(0,'x');
+p1=(x+1)*(x-3)^5;p2=(x-2)*(x-3)^3;
+[thegcd,U]=bezout(p1,p2)
+det(U)
+clean([p1,p2]*U)
+thelcm=p1*U(1,2)
+lcm([p1,p2])
+// æ•´æ•°ã®å ´åˆ
+i1=int32(2*3^5); i2=int32(2^3*3^2);
+[thegcd,U]=bezout(i1,i2)
+V=int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]);
+[thegcd,U]=gcd(V)
+V*U
+lcm(V)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/chepol.xml b/modules/polynomials/help/ja_JP/chepol.xml
new file mode 100755
index 000000000..a919a365e
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/chepol.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="chepol">
+ <refnamediv>
+ <refname>chepol</refname>
+ <refpurpose>ãƒã‚§ãƒ“ã‚·ã‚§ãƒ•å¤šé …å¼ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[Tn]=chepol(n,var)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>n</term>
+ <listitem>
+ <para>æ•´æ•° : 多項å¼ã®æ¬¡æ•°</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>var</term>
+ <listitem>
+ <para>文字列 : 多項å¼ã®å¤‰æ•°</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Tn</term>
+ <listitem>
+ <para>
+ 変数 <literal>var</literal>ã®å¤šé …å¼
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ãƒã‚§ãƒ“シェフ多項å¼ã®å†å¸°çš„実装.
+ <literal>T0=1</literal> ãŠã‚ˆã³ <literal>T1=poly(0,var)</literal>ã¨ã—ãŸ
+ <literal>Tn=2*poly(0,var)*chepol(n-1,var)-chepol(n-2,var)</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+chepol(4,'x')
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/cmndred.xml b/modules/polynomials/help/ja_JP/cmndred.xml
new file mode 100755
index 000000000..80b625038
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/cmndred.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="cmndred">
+ <refnamediv>
+ <refname>cmndred</refname>
+ <refpurpose>共通分æ¯å½¢å¼</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[n,d]=cmndred(num,den)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>num, den</term>
+ <listitem>
+ <para>åŒã˜æ¬¡å…ƒã®2ã¤ã®å¤šé …å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>[n,d]=cmndred(num,den)</literal>ã¯,
+ 以下ã®ã‚ˆã†ãª
+ 多項å¼è¡Œåˆ—<literal>n</literal>ãŠã‚ˆã³
+ 共通分æ¯å¤šé …å¼<literal>d</literal>を計算ã—ã¾ã™:
+ </para>
+ <para>
+ <literal>n/d=num./den</literal>
+ </para>
+ <para>
+ <literal>num./den</literal>ã«ã‚ˆã‚Šå®šç¾©ã•ã‚Œã‚‹æœ‰ç†è¡Œåˆ—ã¯
+ <literal>n/d</literal>ã§ã™.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/coeff.xml b/modules/polynomials/help/ja_JP/coeff.xml
new file mode 100755
index 000000000..c1c8d1f54
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/coeff.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="coeff">
+ <refnamediv>
+ <refname>coeff</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®ä¿‚æ•°</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[C]=coeff(Mp [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>Mp</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>æ•´æ•° (è¡Œã¾ãŸã¯åˆ—), é¸æŠžã—ãŸæ¬¡æ•°ã®ãƒ™ã‚¯ãƒˆãƒ«</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>大ããªä¿‚æ•°ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>C=coeff(Mp)</literal>
+ 多項å¼è¡Œåˆ—<literal>Mp</literal>ã®ä¿‚æ•°ã§ã‚る大ããª
+ 行列<literal>C</literal>ã‚’è¿”ã—ã¾ã™.
+ <literal>C</literal>ã¯<literal>C=[C0,C1,...,Ck]</literal>ã®ã‚ˆã†ã«
+ 分割ã•ã‚Œã¾ã™.
+ ãŸã ã—,<literal>Ci</literal>ã¯æ˜‡é †
+ <literal>k = max(degree(Mp))</literal>ã«ä¸¦ã¹ã‚‰ã‚Œã¦ã„ã¾ã™.
+ </para>
+ <para>
+ <literal>C=coeff(Mp,v)</literal> ã¯
+ <literal>v</literal>ã®æ¬¡æ•°ã®è¡Œåˆ—ã®ä¿‚æ•°ã‚’è¿”ã—ã¾ã™
+ (<literal>v</literal> ã¯è¡Œã¾ãŸã¯åˆ—ベクトルã§ã™).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="inv_coeff">inv_coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/coffg.xml b/modules/polynomials/help/ja_JP/coffg.xml
new file mode 100755
index 000000000..2826d0db9
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/coffg.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="coffg">
+ <refnamediv>
+ <refname>coffg</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®é€†</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[Ns,d]=coffg(Fs)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>Fs</term>
+ <listitem>
+ <para>正方多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>coffg</literal> 㯠<literal>Fs^-1</literal> を計算ã—ã¾ã™.
+ ãŸã ã—, <literal>Fs</literal> ã¯ä½™å› å­æ³•ã«ã‚ˆã‚‹å¤šé …å¼è¡Œåˆ—ã§ã™.
+ </para>
+ <para>
+ <literal>Fs</literal> inverse = <literal>Ns/d</literal>
+ </para>
+ <para>
+ <literal>d</literal> = 共通分æ¯; <literal>Ns</literal> = åˆ†å­ (多項å¼è¡Œåˆ—)
+ </para>
+ <para>
+ (大ããªè¡Œåˆ—ã®å ´åˆ,時間ãŒã‹ã‹ã‚Šã¾ã™ãŒ,çµæžœã¯ä¸€èˆ¬ã«ä¿¡é ¼ã§ãã¾ã™)
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+a=[ s, s^2+1; s s^2-1];
+[a1,d]=coffg(a);
+(a1/d)-inv(a)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="invr">invr</link>
+ </member>
+ <member>
+ <link linkend="penlaur">penlaur</link>
+ </member>
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/colcompr.xml b/modules/polynomials/help/ja_JP/colcompr.xml
new file mode 100755
index 000000000..6968786b5
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/colcompr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="colcompr">
+ <refnamediv>
+ <refname>colcompr</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®åˆ—圧縮 </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[Y,rk,ac]=colcompr(A);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y</term>
+ <listitem>
+ <para>正方多項å¼è¡Œåˆ— (å³ãƒ¦ãƒ‹ãƒ¢ã‚¸ãƒ¥ãƒ©åŸºåº•)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ <literal>A</literal>ã®é€šå¸¸ãƒ©ãƒ³ã‚¯
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac</term>
+ <listitem>
+ <para>
+ <literal>Ac=A*Y</literal>, 多項å¼è¡Œåˆ—
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼è¡Œåˆ— <literal>A</literal>ã®åˆ—圧縮 (å·¦ã¸ã®åœ§ç¸®)
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s;s*(s+1)^2;2*s^2+s^3];
+[Y,rk,ac]=colcompr(p*p');
+p*p'*Y
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="rowcompr">rowcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/degree.xml b/modules/polynomials/help/ja_JP/degree.xml
new file mode 100755
index 000000000..b3451fcfe
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/degree.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="degree">
+ <refnamediv>
+ <refname>degree</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®æ¬¡æ•°</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[D]=degree(M)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>M</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D</term>
+ <listitem>
+ <para>整数行列</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>M</literal>ã®æœ€é«˜æ¬¡æ•°ã®è¡Œåˆ—ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/denom.xml b/modules/polynomials/help/ja_JP/denom.xml
new file mode 100755
index 000000000..0aacbe0de
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/denom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="denom">
+ <refnamediv>
+ <refname>denom</refname>
+ <refpurpose>分æ¯</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>den=denom(r)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>r</term>
+ <listitem>
+ <para>有ç†ã¾ãŸã¯å¤šé …å¼ã¾ãŸã¯å®šæ•°è¡Œåˆ—.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>den</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>den=denom(r)</literal>ã¯
+ 有ç†è¡Œåˆ—ã®åˆ†æ¯ã‚’è¿”ã—ã¾ã™.
+ </para>
+ <para>
+ 有ç†æ•°ã¯,内部的ã«
+ <literal>r=list(['r','num','den','dt'],num,den,[])</literal>ã¨
+ 表ã•ã‚Œ,
+ <literal>denom(r</literal>) 㯠<literal>r(3)</literal>,
+ <literal>r('den')</literal> ã¾ãŸã¯ <literal>r.den</literal>ã¨
+ åŒã˜ã«ãªã‚Šã¾ã™.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="numer">numer</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/derivat.xml b/modules/polynomials/help/ja_JP/derivat.xml
new file mode 100755
index 000000000..fd87a229a
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/derivat.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="derivat">
+ <refnamediv>
+ <refname>derivat</refname>
+ <refpurpose>有ç†è¡Œåˆ—ã®å¾®åˆ†</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>pd=derivat(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>多項å¼ã¾ãŸã¯æœ‰ç†è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼ã¾ãŸã¯æœ‰ç†é–¢æ•°è¡Œåˆ—ã®ãƒ€ãƒŸãƒ¼å¤‰æ•°ã«é–¢ã™ã‚‹å¾®åˆ†ã‚’計算ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+derivat(1/s) // -1/s^2;
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p1 = poly([1 -2 1], 'x', 'coeff')
+derivat(p1)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p2 = poly([1 -4 2], 'y', 'coeff')
+derivat(p2)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p3 = poly(ones(1, 10), 'z', 'coeff')
+derivat(p3)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p4 = poly([-1 1], 't', 'roots')
+derivat(p4)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+s = %s; p5 = s^{-1} + 2 + 3*s
+derivat(p5)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/determ.xml b/modules/polynomials/help/ja_JP/determ.xml
new file mode 100755
index 000000000..e02fb48fc
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/determ.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="determ">
+ <refnamediv>
+ <refname>determ</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®è¡Œåˆ—å¼</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>res=determ(W [,k])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>W</term>
+ <listitem>
+ <para>実数正方多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>æ•´æ•° (Wã®è¡Œåˆ—å¼ã®æ¬¡æ•°ã®ä¸Šé™</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 実数多項å¼è¡Œåˆ—ã®è¡Œåˆ—å¼ã‚’è¿”ã—ã¾ã™
+ (Wã®å¤§ãã•ãŒ2*2より大ãã„å ´åˆ,FFTã«ã‚ˆã‚Šè¨ˆç®—ã•ã‚Œã¾ã™).
+ </para>
+ <para>
+ <literal>res=determ(W [,k])</literal><literal>k</literal> ã¯
+ <literal>W</literal>ã®è¡Œåˆ—å¼ã®å®Ÿéš›ã®æ¬¡æ•°ã‚ˆã‚Šå¤§ããªæ•´æ•°ã§ã™.
+ </para>
+ <para>
+ <literal>k</literal>ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯<literal>n*max(degree(W))</literal>
+ より大ããª2ã®å†ªä¹—ã®æœ€å°å€¤ã§ã™.
+ </para>
+ <para>
+ 手法 (Wã®å¤§ãã•ãŒ 2*2より大ããªå ´åˆã®ã¿) :
+ フーリエ周波数ã«é–¢ã—ã¦
+ <literal>W</literal>ã®è¡Œåˆ—å¼ã‚’評価ã—,
+ 行列å¼ã®ä¿‚æ•°ã«é€†FFTã‚’é©ç”¨ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+w=s*rand(10,10);
+determ(w)
+det(coeff(w,1))*s^10
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/detr.xml b/modules/polynomials/help/ja_JP/detr.xml
new file mode 100755
index 000000000..51dcf419f
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/detr.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="detr">
+ <refnamediv>
+ <refname>detr</refname>
+ <refpurpose>多項å¼ã®è¡Œåˆ—å¼</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>d=detr(h)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>h</term>
+ <listitem>
+ <para>多項å¼ã¾ãŸã¯æœ‰ç†æ­£æ–¹è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>d=detr(h)</literal> ã¯
+ 多項å¼ã¾ãŸã¯æœ‰ç†é–¢æ•°è¡Œåˆ—<literal>h</literal>ã®
+ 行列å¼<literal>d</literal>ã‚’è¿”ã—ã¾ã™.
+ Leverrierã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã«åŸºã¥ãã¾ã™.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/diophant.xml b/modules/polynomials/help/ja_JP/diophant.xml
new file mode 100755
index 000000000..8a04ddc5d
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/diophant.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="diophant">
+ <refnamediv>
+ <refname>diophant</refname>
+ <refpurpose>ダイオファンタイン (ã¹ã‚ºãƒ¼) 方程å¼</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[x,err]=diophant(p1p2,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1p2</term>
+ <listitem>
+ <para>
+ 多項å¼ãƒ™ã‚¯ãƒˆãƒ« <literal>p1p2 = [p1 p2]</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b</term>
+ <listitem>
+ <para>多項å¼</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>多項å¼ãƒ™ã‚¯ãƒˆãƒ« [x1;x2]</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal> diophant</literal> ã¯ä»¥ä¸‹ã®ã¹ã‚ºãƒ¼æ–¹ç¨‹å¼ã‚’解ãã¾ã™:
+ </para>
+ <para>
+ 多項å¼ãƒ™ã‚¯ãƒˆãƒ«<literal>p1p2</literal>ã§æŒ‡å®šã—ãŸ
+ <literal>p1*x1+p2*x2=b</literal>
+ </para>
+ <para>ã“ã®æ–¹ç¨‹å¼ãŒå¯è§£ã®å ´åˆ:
+ <literal>err=0</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');p1=(s+3)^2;p2=(1+s);
+x1=s;x2=(2+s);
+[x,err]=diophant([p1,p2],p1*x1+p2*x2);
+p1*x1+p2*x2-p1*x(1)-p2*x(2)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/factors.xml b/modules/polynomials/help/ja_JP/factors.xml
new file mode 100755
index 000000000..213bdf1e8
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/factors.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="factors">
+ <refnamediv>
+ <refname>factors</refname>
+ <refpurpose>実数因数分解</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[lnum,g]=factors(pol [,'flag'])
+ [lnum,lden,g]=factors(rat [,'flag'])
+ rat=factors(rat,'flag')
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>pol</term>
+ <listitem>
+ <para>実数多項å¼</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rat</term>
+ <listitem>
+ <para>
+ 実数有ç†å¤šé …å¼ (<literal>rat=pol1/pol2</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lnum</term>
+ <listitem>
+ <para>(1 ã¾ãŸã¯ 2次ã®)多項å¼ã®ãƒªã‚¹ãƒˆ</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lden</term>
+ <listitem>
+ <para>(1 ã¾ãŸã¯ 2次ã®)多項å¼ã®ãƒªã‚¹ãƒˆ</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>g</term>
+ <listitem>
+ <para>実数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag</term>
+ <listitem>
+ <para>
+ 文字列 <literal>'c'</literal>ã¾ãŸã¯ <literal>'d'</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼<literal>pol</literal>ã®å› æ•°ã‚’
+ リスト<literal>lnum</literal>ãŠã‚ˆã³"ゲイン" gã«è¿”ã—ã¾ã™.
+ </para>
+ <para>
+ (<literal>flag</literal>ãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆ,)
+ pol= g ã«ãƒªã‚¹ãƒˆ<literal>lnum</literal>ã®ã‚¨ãƒ³ãƒˆãƒªã®ç©ã‚’ä¹—ã˜ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™.
+ <literal>flag='c'</literal>ãŒæŒ‡å®šã•ã‚ŒãŸæš´ã„,
+ <literal>|pol(i omega)|</literal> = <literal>|g*prod(lnum_j(i omega)|</literal>
+ ã¨ãªã‚Šã¾ã™.
+ <literal>flag='d'</literal>ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆ,
+ <literal>|pol(exp(i omega))|</literal> = <literal>|g*prod(lnum_i(exp(i omega))|</literal>
+ ã¨ãªã‚Šã¾ã™.
+ <literal>factors</literal>ã®å¼•æ•°ãŒ 1x1 有ç†æ•° <literal>rat=pol1/pol2</literal>ã®å ´åˆ,
+ 分å­<literal>pol1</literal> ãŠã‚ˆã³åˆ†æ¯ the denominator <literal>pol2</literal>ã®å› æ•°
+ ãŒãã‚Œãžã‚Œãƒªã‚¹ãƒˆ<literal>lnum</literal> ãŠã‚ˆã³ <literal>lden</literal>ã«è¿”ã•ã‚Œã¾ã™.
+ </para>
+ <para>
+ "gain" 㯠<literal>g</literal>ã«è¿”ã•ã‚Œã¾ã™.
+ ã™ãªã‚ã¡:
+ rat= g times (lnumã®ã‚¨ãƒ³ãƒˆãƒªã®ç©) / (ldenã®ã‚¨ãƒ³ãƒˆãƒªã®ç©).
+ </para>
+ <para>
+ <literal>flag</literal> ãŒ<literal>'c'</literal> (ã¾ãŸã¯<literal>'d'</literal>)ã®å ´åˆ,
+ <literal>pol</literal>ã®æ ¹ã¯è™šè»¸(ã¾ãŸã¯å˜ä½å††)ã«é–¢ã—ã¦æŠ˜ã‚Šè¿”ã•ã‚Œã¾ã™.
+ ã™ãªã‚ã¡,<literal>lnum</literal>ã®å› æ•°ã¯å®‰å®šãªå¤šé …å¼ã¨ãªã‚Šã¾ã™.
+ </para>
+ <para>
+ 有ç†æ•°ã®å¼•æ•°ã‚’指定ã—ã¦<literal>factors</literal>ãŒã‚³ãƒ¼ãƒ«ã•ã‚ŒãŸå ´åˆ:
+ <literal>lnum</literal>ãŠã‚ˆã³ <literal>lden</literal>ã®ã‚¨ãƒ³ãƒˆãƒªã¯,
+ <literal>flag</literal>ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«
+ 安定ãªå¤šé …å¼ã¨ãªã‚Šã¾ã™.
+ 有ç†é–¢æ•°<literal>R1</literal>ã¾ãŸã¯SISOリスト<literal>syslin</literal>を指定ã™ã‚‹
+ <literal>R2=factors(R1,'c')</literal> ã¾ãŸã¯ <literal>R2=factors(R1,'d')</literal>
+ ã®å ´åˆ,
+ 出力<literal>R2</literal>ã¯,安定ãªåˆ†å­ãŠã‚ˆã³åˆ†æ¯ã‚’有ã—,
+ 虚軸(<literal>'c'</literal>)ã¾ãŸã¯å˜ä½å††(<literal>'d'</literal>)ã«æ²¿ã£ãŸ
+ <literal>R1</literal>ã¨åŒã˜å¤§ãã•ã®ä¼é”関数ã¨ãªã‚Šã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+n=poly([0.2,2,5],'z');
+d=poly([0.1,0.3,7],'z');
+R=syslin('d',n,d);
+R1=factors(R,'d')
+roots(R1('num'))
+roots(R1('den'))
+w=exp(2*%i*%pi*[0:0.1:1]);
+norm(abs(horner(R1,w))-abs(horner(R,w)))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/hermit.xml b/modules/polynomials/help/ja_JP/hermit.xml
new file mode 100755
index 000000000..0c4decbc6
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/hermit.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hermit">
+ <refnamediv>
+ <refname>hermit</refname>
+ <refpurpose>エルミート形å¼</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[Ar,U]=hermit(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar</term>
+ <listitem>
+ <para>三角多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>ユニモジュラ多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ エルミート形å¼: <literal>U</literal> ã¯,
+ <literal>A*U</literal>ãŒã‚¨ãƒ«ãƒŸãƒ¼ãƒˆä¸‰è§’å½¢å¼ã¨ãªã‚‹ã‚ˆã†ãª
+ ユニモジュラ行列ã§ã™:
+ </para>
+ <para>
+ 出力変数㯠<literal>Ar=A*U</literal>ã§ã™.
+ </para>
+ <para>
+ 警告: 実験版
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s, s*(s+1)^2, 2*s^2+s^3];
+[Ar,U]=hermit(p'*p);
+clean(p'*p*U), det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/horner.xml b/modules/polynomials/help/ja_JP/horner.xml
new file mode 100755
index 000000000..f2dadaf45
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/horner.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="horner">
+ <refnamediv>
+ <refname>horner</refname>
+ <refpurpose>多項å¼/有ç†æ•°ã®è©•ä¾¡</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>horner(P,x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>P</term>
+ <listitem>
+ <para>多項å¼ã¾ãŸã¯æœ‰ç†æ•°ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>数値ã¾ãŸã¯å¤šé …å¼ã¾ãŸã¯æœ‰ç†æ•°ã®é…列</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼ã®å¤‰æ•°<literal>s</literal>ãŒ<literal>x</literal>ã§
+ ç½®æ›ã•ã‚Œã‚‹æ™‚,
+ 多項å¼ã¾ãŸã¯æœ‰ç†æ•°è¡Œåˆ—<literal>P = P(s)</literal>を評価ã—ã¾ã™:
+ </para>
+ <para>
+ <literal>horner(P,x)</literal>=<literal>P(x)</literal>
+ </para>
+ <para>
+ 例 (åŒä¸€æ¬¡å¤‰æ›): <literal>P = P(s)</literal> ãŒæœ‰ç†è¡Œåˆ—ã¨ä»®å®šã™ã‚‹ã¨,
+ 有ç†è¡Œåˆ—<literal>P((1+s)/(1-s))</literal>ã¯
+ <literal>horner(P,(1+s)/(1-s))</literal>ã«ã‚ˆã‚Šå¾—られã¾ã™.
+ </para>
+ <para>
+ 指定ã—ãŸå‘¨æ³¢æ•°ã§æœ‰ç†è¡Œåˆ—を評価ã™ã‚‹å ´åˆã¯,
+ <literal>freq</literal>プリミティブを使用ã™ã‚‹æ–¹ãŒè‰¯ã„ã§ã—ょã†.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+//数値ベクトルã«é–¢ã™ã‚‹å¤šé …å¼ã®è©•ä¾¡
+P=poly(1:3,'x')
+horner(P,[1 2 5])
+horner(P,[1 2 5]+%i)
+//有ç†æ•°ã®è©•ä¾¡
+s=poly(0,'s');M=[s,1/s];
+horner(M,1)
+horner(M,%i)
+horner(M,1/s)
+//数値行列ã«é–¢ã™ã‚‹å¤šé …å¼ã®è©•ä¾¡
+X= [1 2;3 4]
+p=poly(1:3,'x','c')
+m=horner(p, X)
+1*X.^0+2*X.^1+3*X.^2
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="freq">freq</link>
+ </member>
+ <member>
+ <link linkend="repfreq">repfreq</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/hrmt.xml b/modules/polynomials/help/ja_JP/hrmt.xml
new file mode 100755
index 000000000..08c39d027
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/hrmt.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hrmt">
+ <refnamediv>
+ <refname>hrmt</refname>
+ <refpurpose>多項å¼ã®æœ€å¤§å…¬ç´„æ•°</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[pg,U]=hrmt(v)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>
+ 多項å¼ã®è¡Œ,ã™ãªã‚ã¡,<literal>1</literal>x<literal>k</literal> 多項å¼è¡Œåˆ—
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pg</term>
+ <listitem>
+ <para>多項å¼</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>ユニモジュラ多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>[pg,U]=hrmt(v)</literal> ã¯,多項å¼<literal>v</literal>ã«ã¤ã„ã¦
+ ユニモジュラ行列<literal>U</literal>ãŠã‚ˆã³
+ <literal>v*U = [pg,0]</literal>ã¨ãªã‚‹ã‚ˆã†ãª,
+ <literal>pg</literal> = 多項å¼ã®è¡Œã®æœ€å¤§å…¬ç´„æ•°ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+v=[x*(x+1),x^2*(x+1),(x-2)*(x+1),(3*x^2+2)*(x+1)];
+[pg,U]=hrmt(v);U=clean(U)
+det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/htrianr.xml b/modules/polynomials/help/ja_JP/htrianr.xml
new file mode 100755
index 000000000..28b2c2232
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/htrianr.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="htrianr">
+ <refnamediv>
+ <refname>htrianr</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®ä¸‰è§’化</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[Ar,U,rk]=htrianr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>ユニモジュラ多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ æ•´æ•°, <literal>A</literal>ã®é€šå¸¸ãƒ©ãƒ³ã‚¯
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼è¡Œåˆ— <literal>A</literal>ã®ä¸‰è§’化.
+ </para>
+ <para>
+ <literal>A</literal> 㯠<literal>[m,n]</literal> , <literal>m &lt;= n</literal>ã§ã™.
+ </para>
+ <para>
+ <literal>Ar=A*U</literal>
+ </para>
+ <para>
+ 警告: "å°ã•ã„"é …ã®å‰Šé™¤ãŒè¡Œã‚ã‚Œã¾ã™(関数コードをå‚ç…§).
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+M=[x;x^2;2+x^3]*[1,x-2,x^4];
+[Mu,U,rk]=htrianr(M)
+det(U)
+M*U(:,1:2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/inv_coeff.xml b/modules/polynomials/help/ja_JP/inv_coeff.xml
new file mode 100755
index 000000000..5ae293463
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/inv_coeff.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="inv_coeff">
+ <refnamediv>
+ <refname>inv_coeff</refname>
+ <refpurpose>係数を指定ã—ã¦å¤šé …å¼è¡Œåˆ—を作æˆ</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[P]=inv_coeff(C,[,d,[name])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>ä¿‚æ•°ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>d</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—ã®æ¬¡æ•°.
+ オプションã®ãƒ‘ラメータã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ <literal>d=-1+size(C,'c')/size(C,'r')</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>
+ 多項å¼ã®å¤‰æ•°åを指定ã™ã‚‹æ–‡å­—列 (デフォルト値: <literal>'x'</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>P=inv_coeff(Mp,k)</literal>ã¯, <literal>k</literal> ㌠<literal>Mp</literal> ã®
+ 大ãã•ã¨äº’æ›æ€§ãŒã‚ã‚‹å ´åˆ, k次ã®å¤šé …å¼è¡Œåˆ—ã‚’è¿”ã—ã¾ã™.
+ <literal>C=[C0,C1,...,Ck]</literal> ã®æ™‚,
+ <literal>P= C0 + C1*x +... +Ck*x^k</literal>ã¨ãªã‚Šã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+A=int(10*rand(2,6))
+// 1次ã®å¤šé …å¼è¡Œåˆ—を作æˆ
+P=inv_coeff(A,1)
+norm(coeff(P)-A)
+// 次数ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’使用
+P1=inv_coeff(A)
+norm(coeff(P1)-A)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/invr.xml b/modules/polynomials/help/ja_JP/invr.xml
new file mode 100755
index 000000000..41e1d9d28
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/invr.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="invr">
+ <refnamediv>
+ <refname>invr</refname>
+ <refpurpose>(有ç†) 行列ã®é€†</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>F = invr(H)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>多項å¼ã¾ãŸã¯æœ‰ç†è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>F</term>
+ <listitem>
+ <para>多項å¼ã¾ãŸã¯æœ‰ç†è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>H</literal> ãŒå¤šé …å¼ã¾ãŸã¯æœ‰ç†é–¢æ•°è¡Œåˆ—ã®å ´åˆ, <literal>invr</literal>
+ ã¯Leverrierã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã«ã‚ˆã‚Š <literal>H^(-1)</literal>を計算ã—ã¾ã™ (関数コードå‚ç…§)
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+H=[s,s*s+2;1-s,1+s]; invr(H)
+[Num,den]=coffg(H);Num/den
+H=[1/s,(s+1);1/(s+2),(s+3)/s];invr(H)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ <member>
+ <link linkend="inv">inv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/lcmdiag.xml b/modules/polynomials/help/ja_JP/lcmdiag.xml
new file mode 100755
index 000000000..fb6d16e98
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/lcmdiag.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lcmdiag">
+ <refnamediv>
+ <refname>lcmdiag</refname>
+ <refpurpose>最å°å…¬å€æ•°å¯¾è§’分解</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[N,D]=lcmdiag(H)
+ [N,D]=lcmdiag(H,flag)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>有ç†è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>N</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D</term>
+ <listitem>
+ <para>対角多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag</term>
+ <listitem>
+ <para>
+ 文字列: <literal>'row'</literal> ã¾ãŸã¯ <literal>'col'</literal> (デフォルト)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>[N,D]=lcmdiag(H,'row')</literal> ã¯,
+ 分解<literal>D*H=N</literal>,
+ ã™ãªã‚ã¡,<literal>H=D^(-1)*N</literal>を計算ã—ã¾ã™
+ ãŸã ã—, D 㯠D(k,k)= H('den')ã®k行目ã®æœ€å°å…¬å€æ•°ã¨ãªã‚‹
+ 対角行列ã§ã™.
+ </para>
+ <para>
+ <literal>[N,D]=lcmdiag(H)</literal> ã¾ãŸã¯ <literal>[N,D]=lcmdiag(H,'col)</literal>
+ ã¯,D(k,k)=H('den')ã®k列目ã®æœ€å°å…¬å€æ•°ã¨ãªã‚‹<literal>H=N*D^(-1)</literal>ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[1/s,(s+2)/s/(s+1)^2;1/(s^2*(s+2)),2/(s+2)];
+[N,D]=lcmdiag(H);
+N/D-H
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="bezout">bezout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/ldiv.xml b/modules/polynomials/help/ja_JP/ldiv.xml
new file mode 100755
index 000000000..792c5cb5f
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/ldiv.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ldiv">
+ <refnamediv>
+ <refname>ldiv</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®é•·é™¤ç®—</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[x]=ldiv(n,d,k)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>n,d</term>
+ <listitem>
+ <para>実数多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>æ•´æ•°</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>x=ldiv(n,d,k)</literal> ã¯,
+ <literal>n</literal>ã®<literal>d</literal>ã«ã‚ˆã‚‹é•·é™¤ç®—ã®
+ 最åˆã®<literal>k</literal>個ã®ä¿‚数を出力ã—ã¾ã™.
+ ã™ãªã‚ã¡,有ç†è¡Œåˆ—<literal>[nij(z)/dij(z)]</literal>ã®ç„¡é™å¤§è¿‘å‚ã§ã®
+ テイラー展開を出力ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>nij/dij</literal>ã®å±•é–‹ã®ä¿‚æ•°ã¯
+ <literal>x((i-1)*n+k,j) k=1:n</literal>ã«ä¿å­˜ã•ã‚Œã¾ã™
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+wss=ssrand(1,1,3);[a,b,c,d]=abcd(wss);
+wtf=ss2tf(wss);
+x1=ldiv(numer(wtf),denom(wtf),5)
+x2=[c*b;c*a*b;c*a^2*b;c*a^3*b;c*a^4*b]
+wssbis=markp2ss(x1',5,1,1);
+wtfbis=clean(ss2tf(wssbis))
+x3=ldiv(numer(wtfbis),denom(wtfbis),5)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="arl2">arl2</link>
+ </member>
+ <member>
+ <link linkend="markp2ss">markp2ss</link>
+ </member>
+ <member>
+ <link linkend="pdiv">pdiv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/numer.xml b/modules/polynomials/help/ja_JP/numer.xml
new file mode 100755
index 000000000..a83ef79f9
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/numer.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="numer">
+ <refnamediv>
+ <refname>numer</refname>
+ <refpurpose>分å­</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>num=numer(R)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>R</term>
+ <listitem>
+ <para>有ç†ã¾ãŸã¯å¤šé …å¼ã¾ãŸã¯å®šæ•°è¡Œåˆ—.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>num</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ユーティリティ関数. <literal>num=numer(R)</literal> ã¯,
+ 有ç†é–¢æ•°è¡Œåˆ—<literal>R</literal>ã®
+ 分å­<literal>num</literal>ã‚’è¿”ã—ã¾ã™
+ (<literal>R</literal> ã¯å®šæ•°ã¾ãŸã¯å¤šé …å¼è¡Œåˆ—ã¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™).
+ <literal>numer(R)</literal> 㯠<literal>R(2)</literal>, <literal>R('num')</literal> ã¾ãŸã¯ <literal>R.num</literal>ã«ç­‰ã—ããªã‚Šã¾ã™
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="denom">denom</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/pdiv.xml b/modules/polynomials/help/ja_JP/pdiv.xml
new file mode 100755
index 000000000..a9723c766
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/pdiv.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="pdiv">
+ <refnamediv>
+ <refname>pdiv</refname>
+ <refpurpose>多項å¼ã®é™¤ç®—</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[R,Q]=pdiv(P1,P2)
+ [Q]=pdiv(P1,P2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>P1</term>
+ <listitem>
+ <para>多項å¼ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>P2</term>
+ <listitem>
+ <para>多項å¼ã¾ãŸã¯å¤šé …å¼è¡Œåˆ— </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>R,Q</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼è¡Œåˆ—<literal>P1</literal>ã®å¤šé …å¼<literal>P2</literal>ã¾ãŸã¯
+ 多項å¼è¡Œåˆ—<literal>P2</literal>ã«ã‚ˆã‚‹
+ è¦ç´ æ¯Žã®ãƒ¦ãƒ¼ã‚¯ãƒªãƒƒãƒ‰é™¤ç®—.
+ <literal>Rij</literal>ã¯ä½™ã‚Šã®è¡Œåˆ—,
+ <literal>Qij</literal>ã¯å•†ã®è¡Œåˆ—,ãã—ã¦,
+ <literal>P1ij = Qij*P2 + Rij</literal> ã¾ãŸã¯ <literal>P1ij = Qij*P2ij + Rij</literal>
+ ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+p1=(1+x^2)*(1-x);p2=1-x;
+[r,q]=pdiv(p1,p2)
+p2*q-p1
+p2=1+x;
+[r,q]=pdiv(p1,p2)
+p2*q+r-p1
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ldiv">ldiv</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/pol2str.xml b/modules/polynomials/help/ja_JP/pol2str.xml
new file mode 100755
index 000000000..6c2d70e29
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/pol2str.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2013 - Samuel GOUGEON : upgrade for 5.5.0
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="pol2str">
+ <refnamediv>
+ <refname>pol2str</refname>
+ <refpurpose>多項å¼ã‚’文字列ã«å¤‰æ›</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>strs = pol2str(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>引数</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>実数ã¾ãŸã¯è¤‡ç´ ä¿‚æ•°ã®å¤šé …å¼ã®è¡Œåˆ—ã¾ãŸã¯ãƒã‚¤ãƒ‘ー行列</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>strs</term>
+ <listitem>
+ <para>文字列ã®è¡Œåˆ—ã¾ãŸã¯ãƒã‚¤ãƒ‘ー行列</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼ã‚’文字列ã«å¤‰æ›ã—ã¾ã™ (ユーティリティ関数).
+ </para>
+ <para>
+ <note>
+ ä¿‚æ•°ã®å‡ºåŠ›ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã¯ã€<link linkend="format">format(..)</link> ã«ã‚ˆã£ã¦è¨­å®šã•ã‚Œã¾ã™.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+pol2str(%z)
+p = poly ([1, 2, 3], "x","coeff");
+pol2str(p)
+p = (1+%i+%z)^(1:4)
+pol2str(p)
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="prettyprint">prettyprint</link>
+ </member>
+ <member>
+ <link linkend="sci2exp">sci2exp</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection role="history tag">
+ <title>履歴</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revdescription>
+ pol2str() ã¯è¤‡ç´ ä¿‚数を有ã™ã‚‹å¤šé …å¼ãŠã‚ˆã³ãƒã‚¤ãƒ‘ー行列ã«æ‹¡å¼µã•ã‚Œã¾ã—ãŸ.
+ é…列処ç†ãŒãƒ™ã‚¯ãƒˆãƒ«åŒ–ã•ã‚Œã¾ã—ãŸ.
+ </revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/polfact.xml b/modules/polynomials/help/ja_JP/polfact.xml
new file mode 100755
index 000000000..315139cb1
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/polfact.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="polfact">
+ <refnamediv>
+ <refname>polfact</refname>
+ <refpurpose>最å°å› æ•°</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[f]=polfact(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>多項å¼</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>
+ <literal>p=prod(f)</literal>ã¨ãªã‚‹ã‚ˆã†ãªãƒ™ã‚¯ãƒˆãƒ« <literal>[f0 f1 ... fn]</literal>
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>f0</term>
+ <listitem>
+ <para>定数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fi</term>
+ <listitem>
+ <para>多項å¼</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>f=polfact(p)</literal> ã¯pã®æœ€å°å› æ•°,ã™ãªã‚ã¡,
+ <literal>p=prod(f)</literal>ã¨ãªã‚‹ã‚ˆã†ãª<literal>f=[f0 f1 ... fn]</literal>
+ ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="cmndred">cmndred</link>
+ </member>
+ <member>
+ <link linkend="factors">factors</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/poly.xml b/modules/polynomials/help/ja_JP/poly.xml
new file mode 100755
index 000000000..9150a7b51
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/poly.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="poly">
+ <refnamediv>
+ <refname>poly</refname>
+ <refpurpose>多項å¼ã‚’定義ã™ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>p = poly(a, vname, ["flag"])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>引数</title>
+ <variablelist>
+ <varlistentry>
+ <term>a</term>
+ <listitem>
+ <para>行列ã¾ãŸã¯å®Ÿæ•°å€¤</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>vname</term>
+ <listitem>
+ <para>文字列, 記å·å¤‰æ•°åを表ã—ã¾ã™. 文字列ã¯æœ€å¤§4文字ã¨ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"flag" </term>
+ <listitem>
+ <para>
+ 文字列 (<literal>"roots"</literal>, <literal>"coeff"</literal>),
+ デフォルト値ã¯<literal>"roots"</literal>ã§ã™.
+ </para>
+ <para>
+ 短縮形も使用ã§ãã¾ã™:
+ <literal>"roots"</literal> ã«ã¤ã„㦠<literal>"r"</literal>,
+ <literal>"coeff"</literal> ã«ã¤ã„㦠<literal>"c"</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <literal>a</literal> ãŒè¡Œåˆ—ã®å ´åˆ,
+ </term>
+ <listitem>
+ <para>
+ <literal>p</literal> ã¯ç‰¹æ€§å¤šé …å¼,ã™ãªã‚ã¡
+ <code>determinant(x*eye()-a)</code> ã¨ãªã‚Š, <literal>x</literal>ãŒ
+ 記å·å¤‰æ•°ã¨ãªã‚Šã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <literal>v</literal> ãŒãƒ™ã‚¯ãƒˆãƒ«ã®å ´åˆ,
+ </term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>poly(v,"x",["roots"])</code> ã¯
+ <literal>v</literal>ã®ã‚¨ãƒ³ãƒˆãƒªã‚’<literal>æ ¹(roots)</literal>ã¨ã—,
+ <literal>"x"</literal>ã‚’å½¢å¼å¤‰æ•°ã¨ã™ã‚‹å¤šé …å¼ã¨ãªã‚Šã¾ã™
+ (ã“ã®å ´åˆ,<literal>roots</literal>ã¨<literal>poly</literal>ã¯é€†é–¢æ•°ã¨ãªã‚Šã¾ã™).
+ <note>
+ æ ¹ãŒç„¡é™å¤§ã®å ´åˆ,最高次ã®ä¿‚æ•°ãŒã‚¼ãƒ­ã«ãªã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„.
+ </note>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>poly(v,"x","coeff")</literal> ã¯è¨˜å·ã‚’<literal>"x"</literal>
+ ã¨ã—,<literal>v</literal>ã®ã‚¨ãƒ³ãƒˆãƒªã‚’ä¿‚æ•°ã¨ã™ã‚‹å¤šé …å¼ã‚’作æˆã—ã¾ã™
+ (<code>v(1)</code>ãŒå¤šé …å¼ã®å®šæ•°é …ã¨ãªã‚Šã¾ã™).
+ (ã“ã®å ´åˆ, <literal>poly</literal> 㨠<literal>coeff</literal> ãŒé€†é–¢æ•°ã¨ãªã‚Šã¾ã™)
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <literal>s=poly(0,"s")</literal> ã¯è¨˜å·<literal>"s"</literal>ã‚’
+ 用ã„ãŸå¤šé …å¼ã‚’定義ã™ã‚‹ãŸã‚ã®æº–備作業ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,"s");
+p=1+s+2*s^2
+A=rand(2,2);
+poly(A,"x")
+//有ç†åˆ†æ•°
+h=(1+2*%s)/poly(1:4,'s','c')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="varn">varn</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ <member>
+ <link linkend="derivat">derivat</link>
+ </member>
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>履歴</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revremark>第3引数ã«æŒ‡å®šå¯èƒ½ãªå€¤ã¯ "roots", "coeff", "c" ãŠã‚ˆã³ "r"ã®ã¿ã§ã™.</revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/rational.xml b/modules/polynomials/help/ja_JP/rational.xml
new file mode 100755
index 000000000..2a5a2dd27
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/rational.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="rational">
+ <refnamediv>
+ <refname>rational</refname>
+ <refpurpose>Scilab オブジェクト, Scilabã®æœ‰ç†æ•°</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 有ç†æ•° <literal>r</literal> ã¯,2ã¤ã®å¤šé …å¼ã®å•†<literal>r=num/den</literal>ã§ã™.
+ 有ç†æ•°ã®å†…部表ç¾ã¯ãƒªã‚¹ãƒˆã§ã™.
+ <literal>r=tlist(['r','num','den','dt'],num,den,[])</literal>ã¯
+ <literal>r=num/den</literal>ã¨åŒã˜ã§ã™.
+ 有ç†è¡Œåˆ—ã¯é€šå¸¸ã®æ§‹æ–‡ã§å®šç¾©ã§ãã¾ã™.
+ 例ãˆã°, <literal>[r11,r12;r21,r22]</literal>㯠2x2 行列ã§ã™.
+ ãŸã ã—, <literal>rij</literal> 㯠1x1 有ç†æ•°ã§ã™.
+ 有ç†è¡Œåˆ—ã¯,
+ <literal>num</literal> ãŠã‚ˆã³ <literal>den</literal>を多項å¼è¡Œåˆ—ã¨ã—ã¦
+ リスト<literal>rlist(num,den,[])</literal>ã«ã‚ˆã‚Š
+ 定義ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+H=Num./Den
+syslin('c',Num,Den)
+syslin('c',H)
+[Num1,Den1]=simp(Num,Den)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/residu.xml b/modules/polynomials/help/ja_JP/residu.xml
new file mode 100755
index 000000000..8a859a959
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/residu.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="residu">
+ <refnamediv>
+ <refname>residu</refname>
+ <refpurpose>残差</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[V]=residu(P,Q1,Q2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>P, Q1, Q2</term>
+ <listitem>
+ <para>実数ã¾ãŸã¯è¤‡ç´ æ•°ã®ä¿‚数を有ã™ã‚‹å¤šé …å¼ã¾ãŸã¯å¤šé …å¼ã®è¡Œåˆ—.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>V=residu(P,Q1,Q2)</literal> ã¯,
+ <literal>V(i,j)</literal>ãŒ
+ <literal>Q1(i,j)</literal>ã®ã‚¼ãƒ­ã§è¨ˆç®—ã•ã‚Œã‚‹
+ 有ç†æ•°<literal>P(i,j)/(Q1(i,j)*Q2(i,j))</literal>
+ ã®æ®‹å·®ã®åˆè¨ˆã¨ãªã‚‹ã‚ˆã†ãªè¡Œåˆ—<literal>V</literal>ã‚’è¿”ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>Q1(i,j)</literal> ãŠã‚ˆã³ <literal>Q2(i,j)</literal> ã¯,
+ 共通ã®æ ¹ã‚’有ã•ãªã„å¿…è¦ãŒã‚ã‚Šã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[s/(s+1)^2,1/(s+2)];N=numer(H);D=denom(H);
+w=residu(N.*horner(N,-s),D,horner(D,-s)); //N(s) N(-s) / D(s) D(-s)
+sqrt(sum(w)) //H2ノルムã§ã™
+h2norm(tf2ss(H))
+p=(s-1)*(s+1)*(s+2)*(s+10);a=(s-5)*(s-1)*(s*s)*((s+1/2)**2);
+b=(s-3)*(s+2/5)*(s+3);
+residu(p,a,b)+531863/4410 //正確
+z=poly(0,'z');a=z^3+0.7*z^2+0.5*z-0.3;b=z^3+0.3*z^2+0.2*z+0.1;
+atild=gtild(a,'d');btild=gtild(b,'d');
+residu(b*btild,z*a,atild)-2.9488038 //正確
+a=a+0*%i;b=b+0*%i;
+real(residu(b*btild,z*a,atild)-2.9488038) //複素数ã®å ´åˆ
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="pfss">pfss</link>
+ </member>
+ <member>
+ <link linkend="bdiag">bdiag</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/roots.xml b/modules/polynomials/help/ja_JP/roots.xml
new file mode 100755
index 000000000..728ae3cd6
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/roots.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="roots" xml:lang="ja">
+ <refnamediv>
+ <refname>roots</refname>
+ <refpurpose>多項å¼ã®æ ¹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[x]=roots(p)
+ [x]=roots(p,'e')
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>実数ã¾ãŸã¯è¤‡ç´ ä¿‚æ•°ã®å¤šé …å¼
+ ã¾ãŸã¯
+ é™é †ã®å¤šé …å¼ä¿‚æ•°ã®ãƒ™ã‚¯ãƒˆãƒ«(MATLAB互æ›ç”¨).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>x=roots(p)</literal> ã¯
+ 多項å¼<literal>p</literal>ã®<literal>x</literal>ã§ã‚ã‚‹
+ 複素ベクトルを返ã™.
+ 100次以下ã®å®Ÿæ•°å¤šé …å¼ã®å ´åˆ,高速ãª(Jenkins-Traub法ã«åŸºã¥ã)
+ RPOLYアルゴリズムãŒä½¿ç”¨ã•ã‚Œã‚‹.
+ ãã®ä»–ã®å ´åˆ, ãã®æ ¹ã¯ã‚³ãƒ³ãƒ‘ニオン行列ã®å›ºæœ‰å€¤ã¨ã—ã¦è¨ˆç®—ã•ã‚Œã‚‹.
+ ã©ã®ã‚ˆã†ãªå ´åˆã§ã‚‚ã“ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’強制的ã«ä½¿ç”¨ã—ãŸã„
+ å ´åˆ,<literal>x=roots(p,'e')</literal>を使用ã•ã‚ŒãŸã„.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+p=poly([0,10,1+%i,1-%i],'x');
+roots(p)
+A=rand(3,3);roots(poly(A,'x')) // Evals by characteristic polynomial
+spec(A)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>å‚考</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="spec">spec</link>
+ </member>
+ <member>
+ <link linkend="companion">companion</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <para>RPOLYアルゴリズムã¯ä»¥ä¸‹ã®æ–‡çŒ®ã«è¨˜è¿°ã•ã‚Œã¦ã„ã‚‹.
+ "Algorithm 493: Zeros of a Real
+ Polynomial", ACM TOMS Volume 1, Issue 2 (June 1975), pp. 178-189
+ </para>
+ <para>Jenkins, M. A. and Traub, J. F. (1970), A Three-Stage Algorithm for
+ Real Polynomials Using Quadratic Iteration, SIAM J. Numer. Anal., 7(1970), 545-566.
+ </para>
+ <para>Jenkins, M. A. and Traub, J. F. (1970), Principles for Testing Polynomial Zerofinding Programs.
+ ACM TOMS 1, 1 (March 1975), pp. 26-34
+ </para>
+ </refsection>
+ <refsection>
+ <title>使用ã•ã‚Œã‚‹é–¢æ•°</title>
+ <para>ソースコードrpoly.f ã¯Scilabã®é…布ソースã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
+ SCI/modules/polynomials/src/fortran ã«ã‚ã‚‹.
+ コンパニオン行列ãŒä½¿ç”¨ã•ã‚Œã‚‹å ´åˆ,固有値計算ã¯
+ Lapackコードã§ã‚ã‚‹DGEEVãŠã‚ˆã³ZGEEVã«ã‚ˆã‚Šè¡Œã‚れる.
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/rowcompr.xml b/modules/polynomials/help/ja_JP/rowcompr.xml
new file mode 100755
index 000000000..02506f8b5
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/rowcompr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="rowcompr">
+ <refnamediv>
+ <refname>rowcompr</refname>
+ <refpurpose>多項å¼è¡Œåˆ—ã®è¡Œåœ§ç¸®</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[X,rk,Ac]=rowcompr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y</term>
+ <listitem>
+ <para>正方多項å¼è¡Œåˆ— (左ユニモジュラ基底)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ <literal>A</literal>ã®é€šå¸¸ã®ãƒ©ãƒ³ã‚¯
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac</term>
+ <listitem>
+ <para>
+ <literal>Ac=X*A</literal>, 多項å¼è¡Œåˆ—
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 多項å¼è¡Œåˆ—<literal>A</literal>ã®è¡Œåœ§ç¸®.
+ </para>
+ <para>
+ <literal>X</literal> ã¯,
+ 行圧縮ã•ã‚ŒãŸ<literal>A</literal>ã®è¡Œã§ã‚ã‚‹
+ 左多項å¼ãƒ¦ãƒ‹ãƒ¢ã‚¸ãƒ¥ãƒ©åŸºåº•ã§ã™.
+ <literal>rk</literal> 㯠Aã®é€šå¸¸ãƒ©ãƒ³ã‚¯ã§ã™.
+ </para>
+ <para>
+ 警告: "å°ã•ã„"é …ã¯å‰Šé™¤ã•ã‚Œã¾ã™ (注æ„ã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„!).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/sfact.xml b/modules/polynomials/help/ja_JP/sfact.xml
new file mode 100755
index 000000000..f20edca8a
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/sfact.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sfact">
+ <refnamediv>
+ <refname>sfact</refname>
+ <refpurpose>離散時間スペクトル分解</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>F=sfact(P)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>P</term>
+ <listitem>
+ <para>実数多項å¼è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>P</literal>ã®ã‚¹ãƒšã‚¯ãƒˆãƒ«åˆ†è§£ <literal>F</literal>を求ã‚ã¾ã™.
+ <literal>P</literal> ã¯<literal>P</literal>ã®å„æ ¹ãŒå˜ä½å††ã«é–¢ã™ã‚‹
+ é¡åƒã¨ãªã‚‹ã‚ˆã†ãªå¤šé …å¼è¡Œåˆ—ã§ã™.
+ å˜ä½å††ä¸Šã«æ ¹ãŒã‚る時,å•é¡Œã¯ç‰¹ç•°ã¨ãªã‚Šã¾ã™.
+ </para>
+ <para>
+ <literal>sfact(P)</literal> ã¯,安定ã§ã¯ãªã„以下ã®ã‚ˆã†ãª
+ 多項å¼è¡Œåˆ—<literal>F(z)</literal>ã‚’è¿”ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>P = F(z)* F(1/z) *z^n</literal>
+ </para>
+ <para>
+ スカラー多項å¼ã®å ´åˆ,特殊ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ãŒå®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™.
+ アルゴリズムã¯Kuceraã®æœ¬ã«ã‚ˆã‚‹ã‚‚ã®ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+//Simple polynomial example
+z=poly(0,'z');
+p=(z-1/2)*(2-z)
+w=sfact(p);
+w*numer(horner(w,1/z))
+//matrix example
+F1=[z-1/2,z+1/2,z^2+2;1,z,-z;z^3+2*z,z,1/2-z];
+P=F1*gtild(F1,'d'); //P is symmetric
+F=sfact(P)
+roots(det(P))
+roots(det(gtild(F,'d'))) //The stable roots
+roots(det(F)) //The antistable roots
+clean(P-F*gtild(F,'d'))
+//Example of continuous time use
+s=poly(0,'s');
+p=-3*(s+(1+%i))*(s+(1-%i))*(s+0.5)*(s-0.5)*(s-(1+%i))*(s-(1-%i));p=real(p);
+//p(s) = polynomial in s^2 , looks for stable f such that p=f(s)*f(-s)
+w=horner(p,(1-s)/(1+s)); // bilinear transform w=p((1-s)/(1+s))
+wn=numer(w); //take the numerator
+fn=sfact(wn);f=numer(horner(fn,(1-s)/(s+1))); //Factor and back transform
+f=f/sqrt(horner(f*gtild(f,'c'),0));f=f*sqrt(horner(p,0)); //normalization
+roots(f) //f is stable
+clean(f*gtild(f,'c')-p) //f(s)*f(-s) is p(s)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ <member>
+ <link linkend="fspecg">fspecg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/simp.xml b/modules/polynomials/help/ja_JP/simp.xml
new file mode 100755
index 000000000..3bb4f06b0
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/simp.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="simp">
+ <refnamediv>
+ <refname>simp</refname>
+ <refpurpose>有ç†æ•°ã®ç°¡å˜åŒ–</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[N1,D1]=simp(N,D)
+ H1=simp(H)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>N,D</term>
+ <listitem>
+ <para>実数多項å¼ã¾ãŸã¯å®Ÿæ•°è¡Œåˆ—多項å¼</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>有ç†è¡Œåˆ— (ã™ãªã‚ã¡,
+ エントリ <literal>n/d</literal>を有ã™ã‚‹è¡Œåˆ— ,実数多項å¼
+ <literal>n</literal>ãŠã‚ˆã³ <literal>d</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>[n1,d1]=simp(n,d)</literal> ã¯,<literal>n1/d1 = n/d</literal>
+ ã¨ãªã‚‹ã‚ˆã†ãªå¤šé …å¼
+ <literal>n1</literal> ãŠã‚ˆã³ <literal>d1</literal>を計算ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>N</literal> ãŠã‚ˆã³ <literal>D</literal> ãŒå¤šé …å¼è¡Œåˆ—ã®å ´åˆ,
+ 計算ãŒè¦ç´ æ¯Žã«è¡Œã‚ã‚Œã¾ã™.
+ </para>
+ <para>
+ <literal>H1=simp(H)</literal> も有効ã§ã™ (<literal>H</literal>ã®å„エントリã¯
+ <literal>H1</literal>ã§ç°¡å˜åŒ–ã•ã‚Œã¾ã™).
+ </para>
+ <para>
+ 注æ„:
+ </para>
+ <para>
+ -閾値ã¯æŒ‡å®šã•ã‚Œã¾ã›ã‚“. ã™ãªã‚ã¡,<literal>simp</literal> ã¯å¼·åˆ¶çš„ã«ç°¡å˜ã‹ã‚’
+ è¡Œã†ã“ã¨ã¯ã§ãã¾ã›ã‚“.
+ </para>
+ <para>
+ -ç©åˆ†å™¨ã‚’å«ã‚€ç·šå½¢å‹•çš„システムã®å ´åˆ,ç°¡å˜åŒ–ã«ã‚ˆã‚Šå®šå¸¸ã‚²ã‚¤ãƒ³
+ (連続系ã®å ´åˆã¯<literal>H(0)</literal>,離散系ã®å ´åˆã¯ <literal>H(1)</literal>)
+ ãŒå¤‰åŒ–ã—ã¾ã™.
+ </para>
+ <para>
+ -複素数ã®ãƒ‡ãƒ¼ã‚¿ã®å ´åˆ, <literal>simp</literal> ã¯ãã®å…¥åŠ›ã‚’è¿”ã—ã¾ã™.
+ </para>
+ <para>
+ -有ç†æ•°ã®ç°¡å˜åŒ–ã¯,有ç†æ•°ã«é–¢ã™ã‚‹ã»ã¼æ¯Žå›žã®å‡¦ç†ã®å¾Œã«ã‚³ãƒ¼ãƒ«ã•ã‚Œã¾ã™.
+ <literal>simp_mode</literal>関数ã«ã‚ˆã‚Šã“ã®ç°¡å˜åŒ–ã®ã‚ªãƒ³/オフを切り替ãˆã‚‹
+ ã“ã¨ãŒã§ãã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+[n,d]=simp((s+1)*(s+2),(s+1)*(s-2))
+simp_mode(%F);hns=s/s
+simp_mode(%T);hns=s/s
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="trfmod">trfmod</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="simp_mode">simp_mode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/simp_mode.xml b/modules/polynomials/help/ja_JP/simp_mode.xml
new file mode 100755
index 000000000..d6941fdce
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/simp_mode.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="simp_mode">
+ <refnamediv>
+ <refname>simp_mode</refname>
+ <refpurpose>有ç†æ•°ã®ç°¡å˜åŒ–ã®ã‚ªãƒ³/オフを切り替ãˆã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>mod=simp_mode()
+ simp_mode(mod)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>mod</term>
+ <listitem>
+ <para>a boolean</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 有ç†æ•°ã«é–¢ã™ã‚‹å‡¦ç†ã®å¾Œã«ã»ã¼æ¯Žå›ž,有ç†æ•°ã®ç°¡å˜åŒ–ãŒè¡Œã‚ã‚Œã¾ã™.
+ <literal>simp_mode</literal> ã«ã‚ˆã‚Šã“ã®ç°¡å˜åŒ–ã®ã‚ªãƒ³/オフを切り替ãˆã‚‹ã“ã¨ãŒ
+ ã§ãã¾ã™.
+ </para>
+ <para>
+ <literal>simp_mode(%t)</literal> ã¯,有ç†æ•°ã®ç°¡å˜åŒ–をオンã«ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>simp_mode(%f)</literal> ã¯,有ç†æ•°ã®ç°¡å˜åŒ–をオフã«ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>mod=simp_mode()</literal> ã¯,カレントã®
+ 有ç†æ•°ã®ç°¡å˜åŒ–モードをmodã«è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+mod=simp_mode()
+simp_mode(%f);hns=s/s
+simp_mode(%t);hns=s/s
+simp_mode(mod);
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/sylm.xml b/modules/polynomials/help/ja_JP/sylm.xml
new file mode 100755
index 000000000..fe8b05fa3
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/sylm.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sylm">
+ <refnamediv>
+ <refname>sylm</refname>
+ <refpurpose>シルベスタ行列</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[S]=sylm(a,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>a,b</term>
+ <listitem>
+ <para>多項å¼</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>S</term>
+ <listitem>
+ <para>行列</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>sylm(a,b)</literal> ã¯,多項å¼<literal>a</literal>ãŠã‚ˆã³<literal>b</literal>
+ ã«é–¢é€£ã™ã‚‹ã‚·ãƒ«ãƒ™ã‚¹ã‚¿è¡Œåˆ—,ã™ãªã‚ã¡,
+ 以下ã®ã‚ˆã†ãªè¡Œåˆ—<literal>S</literal>を出力ã—ã¾ã™:
+ </para>
+ <para>
+ <literal>coeff( a*x + b*y )' = S * [coeff(x)';coeff(y)']</literal>.
+ </para>
+ <para>
+ <literal>S</literal>ã®æ¬¡å…ƒã¯<literal>degree(a)+degree(b)</literal>ã«ç­‰ã—ããªã‚Šã¾ã™.
+ </para>
+ <para>
+ <literal>a</literal> ãŠã‚ˆã³<literal>b</literal>ãŒè¦ç´„分解多項å¼ã®å ´åˆ,
+ </para>
+ <para>
+ <literal>rank(sylm(a,b))=degree(a)+degree(b))</literal> ã¨ãªã‚Šã¾ã™.
+ ã¾ãŸ,以下ã®å‘½ä»¤ã¯,
+ </para>
+ <programlisting role=""><![CDATA[
+u = sylm(a,b) \ eye(na+nb,1)
+x = poly(u(1:nb),'z','coeff')
+y = poly(u(nb+1:na+nb),'z','coeff')
+ ]]></programlisting>
+ <para>ã¹ã‚ºãƒ¼åˆ†è§£,ã¤ã¾ã‚Š,
+ <literal>a*x+b*y = 1</literal>ã¨ãªã‚‹ã‚ˆã†ãªæœ€å°æ¬¡æ•°ã®
+ <literal>x</literal> ãŠã‚ˆã³ <literal>y</literal>を計算ã—ã¾ã™.
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/systmat.xml b/modules/polynomials/help/ja_JP/systmat.xml
new file mode 100755
index 000000000..d0ac07ab4
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/systmat.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="systmat">
+ <refnamediv>
+ <refname>systmat</refname>
+ <refpurpose>システム行列</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[Sm]=systmat(Sl);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>Sl</term>
+ <listitem>
+ <para>
+ 線形システム (<literal>syslin</literal>リスト) ã¾ãŸã¯ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—タシステム
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Sm</term>
+ <listitem>
+ <para>行列ペンシル</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 状態空間形å¼ã®ç·šå½¢ã‚·ã‚¹ãƒ†ãƒ ã®ã‚·ã‚¹ãƒ†ãƒ è¡Œåˆ— <literal>Sl</literal> (<literal>syslin</literal> リスト)
+ (ユーティリティ関数).
+ </para>
+ <programlisting role=""><![CDATA[
+Sm = [-sI + A B;
+ [ C D]
+ ]]></programlisting>
+ <para>
+ 離散系ã®å ´åˆ(<literal>Sl=list('des',A,B,C,D,E)</literal>), <literal>systmat</literal> ã¯
+ 以下を返ã—ã¾ã™:
+ </para>
+ <programlisting role=""><![CDATA[
+Sm = [-sE + A B;
+ [ C D]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ss2des">ss2des</link>
+ </member>
+ <member>
+ <link linkend="sm2des">sm2des</link>
+ </member>
+ <member>
+ <link linkend="sm2ss">sm2ss</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ja_JP/varn.xml b/modules/polynomials/help/ja_JP/varn.xml
new file mode 100755
index 000000000..df7953105
--- /dev/null
+++ b/modules/polynomials/help/ja_JP/varn.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="varn">
+ <refnamediv>
+ <refname>varn</refname>
+ <refpurpose>多項å¼ã¾ãŸã¯æœ‰ç†åˆ†æ•°ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯å¤‰æ•°</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼出ã—手順</title>
+ <synopsis>[symb]=varn(p)
+ [pm]=varn(p,varname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>多項å¼ã®ã‹åˆç†çš„ãªç”»åˆ†ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>symb</term>
+ <listitem>
+ <para>文字列</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>varname</term>
+ <listitem>
+ <para>記å·å¤‰æ•° (文字列)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pm</term>
+ <listitem>
+ <para>多項å¼ã®ã‹åˆç†çš„ãªç”»åˆ†ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>symb=varn(p)</literal> ã¯,
+ 多項å¼<literal>p</literal>ã®è¨˜å·å¤‰æ•° <literal>symb</literal>ã‚’è¿”ã—ã¾ã™
+ (ã™ãªã‚ã¡,<literal>varn(poly(0,'x'))</literal> 㯠<literal>'x'</literal> ã§ã™).
+ </para>
+ <para>
+ <literal>varn(p,'s')</literal> ã¯,<literal>p</literal>ã¨
+ åŒã˜ä¿‚数を有ã—,<literal>'s'</literal>を記å·å¤‰æ•°ã¨ã™ã‚‹
+ 多項å¼è¡Œåˆ—ã‚’è¿”ã—ã¾ã™(変数åã®å¤‰æ›´).
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s = poly(0,'s'); p = [s^2+1,s];
+varn(p)
+varn(p,'x')
+
+f = %z / (%z-1); f = [f f^2]
+varn(f)
+varn(f,"x")
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="rlist">rlist</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>履歴</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.1</revnumber>
+ <revdescription>
+ <para>Extension to rationals</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/addchapter.sce b/modules/polynomials/help/pt_BR/addchapter.sce
new file mode 100755
index 000000000..172ce21be
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Polinômios",SCI+"/modules/polynomials/help/pt_BR",%T);
+
diff --git a/modules/polynomials/help/pt_BR/bezout.xml b/modules/polynomials/help/pt_BR/bezout.xml
new file mode 100755
index 000000000..df9477aec
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/bezout.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="bezout" xml:lang="en">
+ <refnamediv>
+ <refname>bezout</refname>
+ <refpurpose>equação de Bezout para polinômios ou inteiros</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento</title>
+ <synopsis>[thegcd,U]=bezout(p1,p2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1, p2</term>
+ <listitem>
+ <para>dois polinômios reais ou dois escalares inteiros (tipo igual a
+ 8)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>[thegcd,U]=bezout(p1,p2)</literal> computa o MDC
+ <literal>thegcd</literal> de <literal>p1</literal> e <literal>p2</literal>
+ e também uma matriz (2x2) unimodular <literal>U</literal> tal quet:
+ </para>
+ <para>
+ <literal>[p1,p2]*U = [thegcd,0]</literal>
+ </para>
+ <para>
+ O MMC de <literal>p1</literal> e <literal>p2</literal> é dado
+ por:
+ </para>
+ <para>
+ <literal>p1*U(1,2)</literal> (or
+ <literal>-p2*U(2,2)</literal>)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+// caso polinomial
+x=poly(0,'x');
+p1=(x+1)*(x-3)^5;p2=(x-2)*(x-3)^3;
+[thegcd,U]=bezout(p1,p2)
+det(U)
+clean([p1,p2]*U)
+thelcm=p1*U(1,2)
+lcm([p1,p2])
+
+// caso inteiro
+i1=int32(2*3^5); i2=int32(2^3*3^2);
+[thegcd,U]=bezout(i1,i2)
+V=int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]);
+[thegcd,U]=gcd(V)
+V*U
+lcm(V)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/cmndred.xml b/modules/polynomials/help/pt_BR/cmndred.xml
new file mode 100755
index 000000000..0d5296f21
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/cmndred.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cmndred" xml:lang="en">
+ <refnamediv>
+ <refname>cmndred</refname>
+ <refpurpose>forma de denominador comum</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[n,d]=cmndred(num,den)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>num, den</term>
+ <listitem>
+ <para>duas matrizes de polinômios de dimensões iguais</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>[n,d]=cmndred(num,den)</literal> computa uma matriz de
+ polinômios <literal>n</literal> e um polinômio denominador comum<literal>
+ d
+ </literal>
+ tais que:
+ </para>
+ <para>
+ <literal>n/d=num./den</literal>
+ </para>
+ <para>A matriz de razões de polinômios definida por
+ <literal>num./den</literal> é <literal>n/d</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/coeff.xml b/modules/polynomials/help/pt_BR/coeff.xml
new file mode 100755
index 000000000..7822302f8
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/coeff.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="coeff" xml:lang="en">
+ <refnamediv>
+ <refname>coeff</refname>
+ <refpurpose>coeficientes de matrizes de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[C]=coeff(Mp [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>Mp</term>
+ <listitem>
+ <para>matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>vetor (linha ou coluna) de inteiros dos graus selecionados
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>matriz grande dos coeficientes</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>C=coeff(Mp)</literal> retorna em uma matriz grande
+ <literal>C</literal> os coeficientes da matriz de polinômios
+ <literal>Mp</literal> . <literal>C</literal> é particionada como
+ <literal>C=[C0,C1,...,Ck]</literal> onde os <literal>Ci</literal> estão
+ dispostos em ordem crescente, <literal>k =
+ max(degree(Mp))
+ </literal>
+ </para>
+ <para>
+ <literal>C=coeff(Mp,v)</literal> retorna a matriz de coeficientes
+ com graus em <literal>v</literal> . (<literal>v</literal> é um vetor linha
+ ou coluna).
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="inv_coeff">inv_coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/coffg.xml b/modules/polynomials/help/pt_BR/coffg.xml
new file mode 100755
index 000000000..cd2891473
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/coffg.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="coffg" xml:lang="en">
+ <refnamediv>
+ <refname>coffg</refname>
+ <refpurpose>matriz inversa de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[Ns,d]=coffg(Fs)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>Fs</term>
+ <listitem>
+ <para>matriz quadrada de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>coffg</literal> computa <literal>Fs^-1</literal> onde
+ <literal>Fs</literal> é uma matriz de polinômios, pelo método dos
+ cofatores.
+ </para>
+ <para>
+ <literal>Fs</literal> inverse = <literal>Ns/d</literal>
+ </para>
+ <para>
+ <literal>d</literal> = denominador comum; <literal>Ns</literal> =
+ numerador (uma matriz de polinômios)
+ </para>
+ <para>(Para matrizes grandes, seja paciente... os resultados geralmente
+ são confiáveis)
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+a=[ s, s^2+1; s s^2-1];
+[a1,d]=coffg(a);
+(a1/d)-inv(a)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="invr">invr</link>
+ </member>
+ <member>
+ <link linkend="penlaur">penlaur</link>
+ </member>
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/colcompr.xml b/modules/polynomials/help/pt_BR/colcompr.xml
new file mode 100755
index 000000000..704a1b161
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/colcompr.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="colcompr" xml:lang="en">
+ <refnamediv>
+ <refname>colcompr</refname>
+ <refpurpose>compressão de colunas de matrizes de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[Y,rk,ac]=colcompr(A);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>matriz de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y</term>
+ <listitem>
+ <para>matriz de polinômios quadrada (base unimodular direita)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ posto normal de <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac</term>
+ <listitem>
+ <para>
+ <literal>Ac=A*Y</literal>, matriz de polinômios
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Compressão de colunas da matriz de polinômios <literal>A</literal>
+ (compressão para a esquerda).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s;s*(s+1)^2;2*s^2+s^3];
+[Y,rk,ac]=colcompr(p*p');
+p*p'*Y
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="rowcompr">rowcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/degree.xml b/modules/polynomials/help/pt_BR/degree.xml
new file mode 100755
index 000000000..d9d0790ce
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/degree.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="degree" xml:lang="en">
+ <refnamediv>
+ <refname>degree</refname>
+ <refpurpose>grau da matriz de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[D]=degree(M)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>M</term>
+ <listitem>
+ <para>matriz de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D</term>
+ <listitem>
+ <para>matriz de inteiros</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Retorna a matriz de graus mais elevados de
+ <literal>M</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/denom.xml b/modules/polynomials/help/pt_BR/denom.xml
new file mode 100755
index 000000000..a0c07161e
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/denom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="denom" xml:lang="en">
+ <refnamediv>
+ <refname>denom</refname>
+ <refpurpose>denominador</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>den=denom(r)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>r</term>
+ <listitem>
+ <para>matriz de polinômios, de razões de polinômios ou de
+ constantes.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>den</term>
+ <listitem>
+ <para>matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>den=denom(r)</literal> retorna o denominador de uma matriz
+ de razões de polinômios.
+ </para>
+ <para>Desde que razões de polinômios são representadas internamente como
+ <literal>r=list(['r','num','den','dt'],num,den,[])</literal>,
+ <literal>denom(r</literal>) é o mesmo que <literal>r(3)</literal>,
+ <literal>r('den')</literal> ou <literal>r.den</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="numer">numer</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/derivat.xml b/modules/polynomials/help/pt_BR/derivat.xml
new file mode 100755
index 000000000..0595ed529
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/derivat.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="derivat" xml:lang="en">
+ <refnamediv>
+ <refname>derivat</refname>
+ <refpurpose>derivada de matriz de razões de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>pd=derivat(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>matriz de polinômios ou de razões de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Computa a derivada da matriz de polinômios ou de funções racionais
+ em relação à variável livre.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+derivat(1/s) // -1/s^2;
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p1 = poly([1 -2 1], 'x', 'coeff')
+derivat(p1)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p2 = poly([1 -4 2], 'y', 'coeff')
+derivat(p2)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p3 = poly(ones(1, 10), 'z', 'coeff')
+derivat(p3)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+p4 = poly([-1 1], 't', 'roots')
+derivat(p4)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+s = %s; p5 = s^{-1} + 2 + 3*s
+derivat(p5)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/determ.xml b/modules/polynomials/help/pt_BR/determ.xml
new file mode 100755
index 000000000..1729ecdcc
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/determ.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="determ" xml:lang="en">
+ <refnamediv>
+ <refname>determ</refname>
+ <refpurpose>determinante de matrizes de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>res=determ(W [,k])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>W</term>
+ <listitem>
+ <para>matriz quadrada de polinômios reais </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>inteiro (limite superior para o grau do determinante de
+ W)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Retorna o determinante de uma matriz de polinômios reais (computação
+ feita por Transformada Rápida de Fourier (TRF) se W possuir tamanho maior
+ do que 2*2).
+ </para>
+ <para>
+ <literal>res=determ(W [,k])</literal><literal>k</literal> é um
+ inteiro maior do que o grau verdadeiro do determinante de
+ <literal>W</literal>.
+ </para>
+ <para>
+ O valor padrão de <literal>k</literal> é a menor potência de 2 que é
+ maior que <literal>n*max(degree(W))</literal>.
+ </para>
+ <para>Método (apenas se o tamanho de W for maior que 2*2) : avalia o
+ determinante de W para as freqüências de Fourier e aplica a TRF inversa
+ para os coeficientes do determinante.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+w=s*rand(10,10);
+determ(w)
+det(coeff(w,1))*s^10
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="detr">detr</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/detr.xml b/modules/polynomials/help/pt_BR/detr.xml
new file mode 100755
index 000000000..438afc7e1
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/detr.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="detr" xml:lang="en">
+ <refnamediv>
+ <refname>detr</refname>
+ <refpurpose>determinante polinomial</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>d=detr(h)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>h</term>
+ <listitem>
+ <para>matriz quadrada de polinômios ou de razões de
+ polinômios
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>d=detr(h)</literal> retorna o determinante
+ <literal>d</literal> da matriz de funções polinomiais ou racionais
+ <literal>h</literal>. É baseado no algoritmo de Leverrier.
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="det">det</link>
+ </member>
+ <member>
+ <link linkend="determ">determ</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/diophant.xml b/modules/polynomials/help/pt_BR/diophant.xml
new file mode 100755
index 000000000..8704911fd
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/diophant.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="diophant" xml:lang="en">
+ <refnamediv>
+ <refname>diophant</refname>
+ <refpurpose>equação (de Bezout) diofantina</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[x,err]=diophant(p1p2,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>p1p2</term>
+ <listitem>
+ <para>
+ vetor de polinômios <literal>p1p2 = [p1 p2]</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b</term>
+ <listitem>
+ <para>polinômio</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>vetor de polinômios [x1;x2]</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal> diophant</literal> resolve a equação de Bezout:
+ </para>
+ <para>
+ <literal>p1*x1+p2*x2=b</literal> com <literal>p1p2</literal> um
+ vetor de polinômios. Se a equação não for solúvel
+ </para>
+ <para>
+ de outro modo <literal>err=0</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');p1=(s+3)^2;p2=(1+s);
+x1=s;x2=(2+s);
+[x,err]=diophant([p1,p2],p1*x1+p2*x2);
+p1*x1+p2*x2-p1*x(1)-p2*x(2)
+ ]]></programlisting>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/factors.xml b/modules/polynomials/help/pt_BR/factors.xml
new file mode 100755
index 000000000..b61daaa0d
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/factors.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="factors" xml:lang="en">
+ <refnamediv>
+ <refname>factors</refname>
+ <refpurpose>fatoração numérica real</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[lnum,g]=factors(pol [,'flag'])
+ [lnum,lden,g]=factors(rat [,'flag'])
+ rat=factors(rat,'flag')
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>pol</term>
+ <listitem>
+ <para>polinômio real</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rat</term>
+ <listitem>
+ <para>razão de polinômios reais
+ (<literal>rat=pol1/pol2</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lnum</term>
+ <listitem>
+ <para>lista de polinômios (de graus 1 ou 2) </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lden</term>
+ <listitem>
+ <para>lista de polinômios (de graus 1 ou 2) </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>g</term>
+ <listitem>
+ <para>número real </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag</term>
+ <listitem>
+ <para>
+ string <literal>'c'</literal> ou <literal>'d'</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Retorna os fatores do polinômio <literal>pol</literal> na lista
+ <literal>lnum</literal> e o "ganho" g.
+ </para>
+ <para>Tem-se pol= g vezes o produto das entradas da lista
+ <literal>lnum</literal> (se <literal>flag</literal> não for fornecido). Se
+ <literal>flag='c'</literal> for dado, então tem-se <literal>|pol(i
+ omega)|
+ </literal>
+ =<literal>|g*prod(lnum_j(i omega)|</literal>. Se
+ <literal>flag='d'</literal> for dado, então tem-se <literal>|pol(exp(i
+ omega))|
+ </literal>
+ =<literal>|g*prod(lnum_i(exp(i omega))|</literal>. Se
+ o argumento de <literal>factors</literal> for uma razão
+ <literal>rat=pol1/pol2</literal>, os fatores do numerador
+ <literal>pol1</literal> e do denominador <literal>pol2</literal> são
+ retornados nas listas <literal>lnum</literal> e <literal>lden</literal>
+ respectivamente.
+ </para>
+ <para>
+ O "ganho" é retornado como <literal>g</literal>, i.e. tem-se: rat= g
+ vezes (produto das entradas de lnum) / (produto das entradas de
+ lden).
+ </para>
+ <para>
+ Se <literal>flag</literal> for <literal>'c'</literal>
+ (respectivamente, <literal>'d'</literal>), as raízes
+ <literal>pol</literal> serão refletidas em relação em relação ao eixo
+ imaginário (respectivamente, ao círculo unitário), i.e. os fatores em
+ <literal>lnum</literal> são polinômios estáveis.
+ </para>
+ <para>
+ A mesma coisa se <literal>factors</literal> for invocado com
+ argumentos racionais: as entradas em <literal>lnum</literal> e
+ <literal>lden</literal> são polinômios estáveis se <literal>flag</literal>
+ for dado. <literal>R2=factors(R1,'c')</literal> ou
+ <literal>R2=factors(R1,'d')</literal> com <literal>R1</literal> uma função
+ racional ou lista <literal>syslin</literal> SISO, então a saída
+ <literal>R2</literal> é uma transferência com com numerador e denominador
+ estáveis e com a mesma magnitude de <literal>R1</literal> ao longo do eixo
+ imaginário (<literal>'c'</literal>) ou do círculo unitário
+ (<literal>'d'</literal>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+n=poly([0.2,2,5],'z');
+d=poly([0.1,0.3,7],'z');
+R=syslin('d',n,d);
+R1=factors(R,'d')
+roots(R1('num'))
+roots(R1('den'))
+w=exp(2*%i*%pi*[0:0.1:1]);
+norm(abs(horner(R1,w))-abs(horner(R,w)))
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/hermit.xml b/modules/polynomials/help/pt_BR/hermit.xml
new file mode 100755
index 000000000..e4511c75f
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/hermit.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="hermit" xml:lang="en">
+ <refnamediv>
+ <refname>hermit</refname>
+ <refpurpose>forma hermitiana</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[Ar,U]=hermit(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>matriz de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar</term>
+ <listitem>
+ <para>matriz de polinômios triangular </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>matriz de polinômios unimodular</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Forma hermitiana: <literal>U</literal> é uma matriz unimodular tal
+ que <literal>A*U</literal> está na forma triangular de Hermite:
+ </para>
+ <para>
+ A variável de saída é <literal>Ar=A*U</literal>.
+ </para>
+ <para>Aviso: versão experimental</para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+p=[s, s*(s+1)^2, 2*s^2+s^3];
+[Ar,U]=hermit(p'*p);
+clean(p'*p*U), det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/horner.xml b/modules/polynomials/help/pt_BR/horner.xml
new file mode 100755
index 000000000..ecdca16e5
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/horner.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="horner" xml:lang="en">
+ <refnamediv>
+ <refname>horner</refname>
+ <refpurpose>avaliação polinomial/racional</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>horner(P,x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>P</term>
+ <listitem>
+ <para>matriz de polinômios ou de razões de polinômios</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>número real, polinômio ou razão de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Avalia a matriz de polinômios ou de razões de polinômios <literal>P
+ = P(s)
+ </literal>
+ quando a variável <literal>s</literal> do polinômio é
+ substituida por <literal>x</literal>:
+ </para>
+ <para>
+ <literal>horner(P,x)</literal>=<literal>P(x)</literal>
+ </para>
+ <para>
+ Exemplo (transformação bilinear): admita que <literal>P=
+ P(s)
+ </literal>
+ uma matriz de razões de polinômios, então a matriz de
+ razões de polinômios <literal>P((1+s)/(1-s))</literal> é obtida por
+ <literal>horner(P,(1+s)/(1-s))</literal>.
+ </para>
+ <para>Para avaliar uma matriz de razões de polinômios em dadas freqüências
+ use preferivelmente a primitiva <literal>freq</literal> .
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//avaliação de um polinômio para um vetor de números
+P=poly(1:3,'x')
+horner(P,[1 2 5])
+horner(P,[1 2 5]+%i)
+
+//avaliação de uma razão
+s=poly(0,'s');M=[s,1/s];
+horner(M,1)
+horner(M,%i)
+horner(M,1/s)
+
+//avaliação de um polinômio para uma matriz de números
+X= [1 2;3 4]
+p=poly(1:3,'x','c')
+m=horner(p, X)
+1*X.^0+2*X.^1+3*X.^2
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="freq">freq</link>
+ </member>
+ <member>
+ <link linkend="repfreq">repfreq</link>
+ </member>
+ <member>
+ <link linkend="evstr">evstr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/hrmt.xml b/modules/polynomials/help/pt_BR/hrmt.xml
new file mode 100755
index 000000000..7e0b2b834
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/hrmt.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="hrmt" xml:lang="en">
+ <refnamediv>
+ <refname>hrmt</refname>
+ <refpurpose>máximo divisor comum de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[pg,U]=hrmt(v)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>vetor linha de polinômios, i.e. matriz de polinômios
+ <literal>1</literal>x<literal>k</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pg</term>
+ <listitem>
+ <para>polinômio</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>matriz de polinômios unimodular</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>[pg,U]=hrmt(v)</literal> retorna uma matriz unimodular
+ <literal>U</literal> e <literal>pg</literal> = MDC do vetor linha de
+ polinômios <literal>v</literal> tais que <literal>v*U =
+ [pg,0]
+ </literal>
+ .
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+v=[x*(x+1),x^2*(x+1),(x-2)*(x+1),(3*x^2+2)*(x+1)];
+[pg,U]=hrmt(v);U=clean(U)
+det(U)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="htrianr">htrianr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/htrianr.xml b/modules/polynomials/help/pt_BR/htrianr.xml
new file mode 100755
index 000000000..f05a268fb
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/htrianr.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="htrianr" xml:lang="en">
+ <refnamediv>
+ <refname>htrianr</refname>
+ <refpurpose>triangularização de matrizes de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[Ar,U,rk]=htrianr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title> Parâmetros </title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ar</term>
+ <listitem>
+ <para>matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>U</term>
+ <listitem>
+ <para>matriz unimodular de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ inteiro, posto normal def <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Triangularização da matriz de polinômios
+ <literal>A</literal>.
+ </para>
+ <para>
+ <literal>A</literal> is <literal>[m,n]</literal> , <literal>m &lt;=
+ n
+ </literal>
+ .
+ </para>
+ <para>
+ <literal>Ar=A*U</literal>
+ </para>
+ <para>Aviso: há eliminação de termos "pequenos" (ver código da
+ função).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+M=[x;x^2;2+x^3]*[1,x-2,x^4];
+[Mu,U,rk]=htrianr(M)
+det(U)
+M*U(:,1:2)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hrmt">hrmt</link>
+ </member>
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/inv_coeff.xml b/modules/polynomials/help/pt_BR/inv_coeff.xml
new file mode 100755
index 000000000..50ab8f2f6
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/inv_coeff.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="inv_coeff" xml:lang="en">
+ <refnamediv>
+ <refname>inv_coeff</refname>
+ <refpurpose>constrói uma matriz de polinômios a partir de seus
+ coeficientes
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>[P]=inv_coeff(C,[,d,[name])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>matriz grande de coeficientes</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>d</term>
+ <listitem>
+ <para>grau da matriz de polinômios. Parâmetro opcional com valor
+ padrão <literal>d=-1+size(C,'c')/size(C,'r')</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>string fornecendo o nome da variável polinomial (valor padrão
+ <literal>'x'</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>P=inv_coeff(Mp,k)</literal>, quando <literal>k</literal> é
+ compatível com o tamanho de <literal>Mp</literal> size, retorna uma matriz
+ de polinômios de grau k. <literal>C=[C0,C1,...,Ck]</literal> and
+ <literal>P= C0 + C1*x +... +Ck*x^k</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+A=int(10*rand(2,6))
+// Construindo uma matriz de polinômios de grau 1
+P=inv_coeff(A,1)
+norm(coeff(P)-A)
+// Usando valor padrão para o grau
+P1=inv_coeff(A)
+norm(coeff(P1)-A)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/invr.xml b/modules/polynomials/help/pt_BR/invr.xml
new file mode 100755
index 000000000..4a6569f61
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/invr.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="invr" xml:lang="en">
+ <refnamediv>
+ <refname>invr</refname>
+ <refpurpose>inversão de matrizes (de razões de polinômios)</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>F = invr(H)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>matriz de polinômios ou de razões de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>F</term>
+ <listitem>
+ <para>matriz de polinômios ou de razões de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Se <literal>H</literal> é uma matriz de polinômios ou de razões de
+ polinômios, <literal>invr</literal> computa <literal>H^(-1)</literal>
+ utilizando o algoritmo de Leverrier (ver código da função).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s')
+H=[s,s*s+2;1-s,1+s]; invr(H)
+[Num,den]=coffg(H);Num/den
+H=[1/s,(s+1);1/(s+2),(s+3)/s];invr(H)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="glever">glever</link>
+ </member>
+ <member>
+ <link linkend="coffg">coffg</link>
+ </member>
+ <member>
+ <link linkend="inv">inv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/lcmdiag.xml b/modules/polynomials/help/pt_BR/lcmdiag.xml
new file mode 100755
index 000000000..c3e2fd12c
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/lcmdiag.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="lcmdiag" xml:lang="en">
+ <refnamediv>
+ <refname>lcmdiag</refname>
+ <refpurpose>fatoração diagonal por MMC</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[N,D]=lcmdiag(H)
+ [N,D]=lcmdiag(H,flag)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>matriz de razões de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>N</term>
+ <listitem>
+ <para>matriz de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>D</term>
+ <listitem>
+ <para>matriz de polinômios diagonal </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>flag</term>
+ <listitem>
+ <para>
+ string: <literal>'row'</literal> ou <literal>'col'</literal>
+ (padrão)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>[N,D]=lcmdiag(H,'row')</literal> computa uma fatoração
+ <literal>D*H=N</literal>, i.e. <literal>H=D^(-1)*N</literal> onde D é uma
+ matriz diagonal com D(k,k)=MMC da k-ésima linha de H('den').
+ </para>
+ <para>
+ <literal>[N,D]=lcmdiag(H)</literal> ou
+ <literal>[N,D]=lcmdiag(H,'col)</literal> retorna
+ <literal>H=N*D^(-1)</literal> com matriz diagonal D e D(k,k)=MMC da
+ k-ésima coluna de H('den')
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[1/s,(s+2)/s/(s+1)^2;1/(s^2*(s+2)),2/(s+2)];
+[N,D]=lcmdiag(H);
+N/D-H
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ <member>
+ <link linkend="bezout">bezout</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/ldiv.xml b/modules/polynomials/help/pt_BR/ldiv.xml
new file mode 100755
index 000000000..270e51fde
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/ldiv.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="ldiv" xml:lang="en">
+ <refnamediv>
+ <refname>ldiv</refname>
+ <refpurpose>divisão longa entre matrizes de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[x]=ldiv(n,d,k)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>n,d</term>
+ <listitem>
+ <para>duas matrizes de polinômios reais </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>inteiro</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>x=ldiv(n,d,k)</literal> fornece os <literal>k</literal>
+ primeiros coeficientes da divisão longa de <literal>n</literal> por
+ <literal>d</literal> i.e. the a expansão de Taylor da matriz de razões de
+ polinômios <literal>[nij(z)/dij(z)]</literal> aproximando-se do
+ infinito.
+ </para>
+ <para>
+ Os coeficientes de expansão de <literal>nij/dij</literal> são
+ armazenados em <literal>x((i-1)*n+k,j) k=1:n</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+wss=ssrand(1,1,3);[a,b,c,d]=abcd(wss);
+wtf=ss2tf(wss);
+x1=ldiv(numer(wtf),denom(wtf),5)
+x2=[c*b;c*a*b;c*a^2*b;c*a^3*b;c*a^4*b]
+wssbis=markp2ss(x1',5,1,1);
+wtfbis=clean(ss2tf(wssbis))
+x3=ldiv(numer(wtfbis),denom(wtfbis),5)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="arl2">arl2</link>
+ </member>
+ <member>
+ <link linkend="markp2ss">markp2ss</link>
+ </member>
+ <member>
+ <link linkend="pdiv">pdiv</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/numer.xml b/modules/polynomials/help/pt_BR/numer.xml
new file mode 100755
index 000000000..7a9fa45b9
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/numer.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="numer" xml:lang="en">
+ <refnamediv>
+ <refname>numer</refname>
+ <refpurpose>numerador</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>num=numer(R)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>R</term>
+ <listitem>
+ <para>matriz de polinômios, de razões de polinômios ou de constantes
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>num</term>
+ <listitem>
+ <para>matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Função utilitária. <literal>num=numer(R)</literal> retorna o
+ numerador <literal>num</literal> de uma matriz de funções racionais
+ <literal>R</literal> (<literal>R</literal> também pode ser uma matriz de
+ polinômios ou de constantes). <literal>numer(R)</literal> é equivalente a
+ <literal>R(2)</literal>, <literal>R('num')</literal> ou
+ <literal>R.num</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="denom">denom</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/pdiv.xml b/modules/polynomials/help/pt_BR/pdiv.xml
new file mode 100755
index 000000000..5ccbbf620
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/pdiv.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="pdiv" xml:lang="en">
+ <refnamediv>
+ <refname>pdiv</refname>
+ <refpurpose>divisão polinomial</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[R,Q]=pdiv(P1,P2)
+ [Q]=pdiv(P1,P2)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>P1</term>
+ <listitem>
+ <para>matriz de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>P2</term>
+ <listitem>
+ <para>polinômio ou matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>R,Q</term>
+ <listitem>
+ <para>duas matrizes de polinômios</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Divisão euclidiana elemento a elemento da matriz de polinômios
+ <literal>P1</literal> pelo polinômio <literal>P2</literal> ou pela matriz
+ de polinômios <literal>P2</literal>. <literal>Rij</literal> é a matriz de
+ restos, <literal>Qij</literal> é a matriz de quocientes e <literal>P1ij =
+ Qij*P2 + Rij
+ </literal>
+ ou <literal>P1ij = Qij*P2ij + Rij</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+x=poly(0,'x');
+p1=(1+x^2)*(1-x);p2=1-x;
+[r,q]=pdiv(p1,p2)
+p2*q-p1
+p2=1+x;
+[r,q]=pdiv(p1,p2)
+p2*q+r-p1
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ldiv">ldiv</link>
+ </member>
+ <member>
+ <link linkend="gcd">gcd</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/pol2str.xml b/modules/polynomials/help/pt_BR/pol2str.xml
new file mode 100755
index 000000000..07422088d
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/pol2str.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2013 - Samuel GOUGEON : upgrade for 5.5.0
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="pol2str" xml:lang="en">
+<refnamediv>
+ <refname>pol2str</refname>
+ <refpurpose>conversão de polinômio para string</refpurpose>
+</refnamediv>
+<refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[str] = pol2str(p)</synopsis>
+</refsynopsisdiv>
+<refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>Matriz ou hipermatriz polinômios com coeficientes reais ou complexos</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>str</term>
+ <listitem>
+ <para>string</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsection>
+<refsection>
+ <title>Descrição</title>
+ <para> Converte um polinômio para um string (função utilitária).</para>
+ <para>
+ <note>
+ O formato dos coeficientes de saída é definida através <link linkend="format">format(..)</link>.
+ </note>
+ </para>
+</refsection>
+<refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+pol2str(%z)
+
+p = poly ([1, 2, 3], "x","coeff");
+pol2str(p)
+
+p = (1+%i+%z)^(1:4)
+pol2str(p)
+ ]]></programlisting>
+</refsection>
+<refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="prettyprint">prettyprint</link>
+ </member>
+ <member>
+ <link linkend="sci2exp">sci2exp</link>
+ </member>
+ </simplelist>
+</refsection>
+<refsection role="history tag">
+ <title>Histórico</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.0</revnumber>
+ <revdescription>pol2str () estendido para polinômios com coeficientes complexos e para hipermatriz. Processamento de matriz vetorizado.</revdescription>
+ </revision>
+ </revhistory>
+</refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/polfact.xml b/modules/polynomials/help/pt_BR/polfact.xml
new file mode 100755
index 000000000..5fc18b36a
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/polfact.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Serge STEER
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="polfact" xml:lang="en">
+ <refnamediv>
+ <refname>polfact</refname>
+ <refpurpose>fatores mínimos</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[f]=polfact(p)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>polinômio </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>
+ vetor <literal>[f0 f1 ... fn]</literal> tal que
+ <literal>p=prod(f)</literal>
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>f0</term>
+ <listitem>
+ <para>constante</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fi</term>
+ <listitem>
+ <para>polinômio</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>f=polfact(p)</literal> retorna os valores mínimos de p,
+ i.e., <literal>f=[f0 f1 ... fn]</literal> tal que
+ <literal>p=prod(f)</literal>
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="lcm">lcm</link>
+ </member>
+ <member>
+ <link linkend="cmndred">cmndred</link>
+ </member>
+ <member>
+ <link linkend="factors">factors</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/poly.xml b/modules/polynomials/help/pt_BR/poly.xml
new file mode 100755
index 000000000..9cdf1a5dd
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/poly.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="poly" xml:lang="en">
+ <refnamediv>
+ <refname>poly</refname>
+ <refpurpose>definição de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>p=poly(a,x, ["flag"])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>a</term>
+ <listitem>
+ <para>matriz ou número real </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>String, o nome da variável simbólica. Se o string tiver mais
+ de 4 caracteres, apenas os quatro primeiros serão levados em
+ conta.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"flag"</term>
+ <listitem>
+ <para>string ("roots", "coeff"), valor padrão é "roots".</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <variablelist>
+ <varlistentry>
+ <term>Se a é uma matriz,</term>
+ <listitem>
+ <para>
+ <literal>p</literal> é o polinômio característico, i.e.,
+ <literal>determinant(x*eye()-a)</literal>, <literal>x</literal>
+ sendo a variável simbólica.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Se v é um vetor,</term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>poly(v,"x",["roots"])</literal> é o polinômio com
+ entradas de <literal>v</literal> como raízes e
+ <literal>"x"</literal> como variável formal (neste caso,
+ <literal>roots</literal> e <literal>poly</literal> são funções
+ inversas). Note que infinitas raízes fornecem zero coeficientes
+ de grau mais elevado.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>poly(v,"x","coeff")</literal> cria o polinômio
+ com símbolo <literal>"x"</literal> e com entradas de
+ <literal>v</literal> como coeficientes (v(1) é o termo constante
+ do polinômio). (aqui <literal>poly</literal> e
+ <literal>coeff</literal> são funções inversas).
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <literal>s=poly(0,"s")</literal> é a fonte para definir polinômios
+ com símbolo <literal>"s"</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,"s");
+p=1+s+2*s^2
+A=rand(2,2);
+poly(A,"x")
+//frações racionais
+h=(1+2*%s)/poly(1:4,'s','c')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="varn">varn</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ <member>
+ <link linkend="derivat">derivat</link>
+ </member>
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/rational.xml b/modules/polynomials/help/pt_BR/rational.xml
new file mode 100755
index 000000000..6743c4f27
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/rational.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="rational" xml:lang="en">
+ <refnamediv>
+ <refname>rational</refname>
+ <refpurpose>objeto do Scilab, razão de polinômios</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Um razão de polinômios <literal>r</literal> é um quociente entre
+ dois polinômios <literal>r=num/den</literal>. A representação interna de
+ uma razão de polinômios é uma lista.
+ <literal>r = rlist(num,den,[])</literal> é o mesmo
+ que <literal>r=num/den</literal>. Uma matriz de razões de polinômios pode
+ ser definida pela sintaxe usual, por exemplo:
+ <literal>[r11,r12;r21,r22]</literal> ié uma matriz 2x2 onde
+ <literal>rij</literal> são razões 1x1. Uma matriz de razões de polinômios
+ também pode ser definida como acima como uma lista
+ <literal>tlist(['r','num','den','dt'],num,den,[])</literal> com
+ <literal>num</literal> e <literal>den</literal> matrizes de
+ polinômios.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+H=Num./Den
+syslin('c',Num,Den)
+syslin('c',H)
+[Num1,Den1]=simp(Num,Den)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/residu.xml b/modules/polynomials/help/pt_BR/residu.xml
new file mode 100755
index 000000000..bbe0c17f5
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/residu.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="residu" xml:lang="en">
+ <refnamediv>
+ <refname>residu</refname>
+ <refpurpose>resíduo</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[V]=residu(P,Q1,Q2)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>P, Q1, Q2</term>
+ <listitem>
+ <para>polinômios ou matrizes de polinômios de coeficientes reais ou
+ complexos.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>V=residu(P,Q1,Q2)</literal> retorna a matriz
+ <literal>V</literal> tal que <literal>V(i,j)</literal> é a soma dos
+ resíduos da fração racional <literal>P(i,j)/(Q1(i,j)*Q2(i,j))</literal>
+ calculada nos zeros de <literal>Q1(i,j)</literal>.
+ </para>
+ <para>
+ <literal>Q1(i,j)</literal> e <literal>Q2(i,j)</literal> não devem
+ possuir raízes em comum.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+H=[s/(s+1)^2,1/(s+2)];N=numer(H);D=denom(H);
+w=residu(N.*horner(N,-s),D,horner(D,-s)); //N(s) N(-s) / D(s) D(-s)
+sqrt(sum(w)) //This is H2 norm
+h2norm(tf2ss(H))
+//
+p=(s-1)*(s+1)*(s+2)*(s+10);a=(s-5)*(s-1)*(s*s)*((s+1/2)**2);
+b=(s-3)*(s+2/5)*(s+3);
+residu(p,a,b)+531863/4410 //Exato
+z=poly(0,'z');a=z^3+0.7*z^2+0.5*z-0.3;b=z^3+0.3*z^2+0.2*z+0.1;
+atild=gtild(a,'d');btild=gtild(b,'d');
+residu(b*btild,z*a,atild)-2.9488038 //Exato
+a=a+0*%i;b=b+0*%i;
+real(residu(b*btild,z*a,atild)-2.9488038) //Caso complexo
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="pfss">pfss</link>
+ </member>
+ <member>
+ <link linkend="bdiag">bdiag</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/roots.xml b/modules/polynomials/help/pt_BR/roots.xml
new file mode 100755
index 000000000..a73585db0
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/roots.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="roots" xml:lang="en">
+ <refnamediv>
+ <refname>roots</refname>
+ <refpurpose>raízes de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[x]=roots(p)
+ [x]=roots(p,'e')
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>polinômio com coeficientes reais ou complexos ou vetor dos
+ coeficientes do polinômio em ordem de graus decrescentes (para
+ compatibilidade com o Matlab).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>x=roots(p)</literal> retorna no vetor de complexos
+ <literal>x</literal> as raízes do polinômio <literal>p</literal>. Para
+ polinômios reais de grau&lt;= 100 o algoritmo rápido RPOLY é utilizado. Em
+ outros casos, as raízes são computadas como os autovalores da matriz
+ companheira associada. Use <literal>x=roots(p,'e')</literal> para forçar
+ este algoritmo em qualquer caso.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+p=poly([0,10,1+%i,1-%i],'x');
+roots(p)
+A=rand(3,3);roots(poly(A,'x')) // avaliações por polinômios característicos
+spec(A)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="spec">spec</link>
+ </member>
+ <member>
+ <link linkend="companion">companion</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>References</title>
+ <para>O algoritmo RPOLY é descrito em "Algorithm 493: Zeros of a Real
+ Polynomial", ACM TOMS Volume 1, edição 2 (Junho 1975), pp. 178-189
+ </para>
+ <para>Jenkins, M. A. e Traub, J. F. (1970), A Three-Stage Algorithm for
+ Real Polynomials Using Quadratic Iteration, SIAM J. Numer. Anal., 7(1970),
+ 545-566.
+ </para>
+ <para>Jenkins, M. A. e Traub, J. F. (1970), Principles for Testing
+ Polynomial Zerofinding Programs. ACM TOMS 1, 1 (Março1975), pp.
+ 26-34
+ </para>
+ </refsection>
+ <refsection>
+ <title> Funções Utilizadas </title>
+ <para>O código fonte de rpoly.f pode ser achado no diretório
+ SCI/modules/polynomials/src/fortran de uma distribuição fonte do Scilab. A computação de
+ autovalores é feita utilizando-se os códigos do LAPACK DGEEV e ZGEEV.
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/rowcompr.xml b/modules/polynomials/help/pt_BR/rowcompr.xml
new file mode 100755
index 000000000..fb1ed8862
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/rowcompr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="rowcompr" xml:lang="en">
+ <refnamediv>
+ <refname>rowcompr</refname>
+ <refpurpose>compressão de linhas de uma matriz de polinômios</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[X,rk,Ac]=rowcompr(A)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>A</term>
+ <listitem>
+ <para>matriz de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Y</term>
+ <listitem>
+ <para>matriz de polinômios quadrada (base unimodular esquerda)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>rk</term>
+ <listitem>
+ <para>
+ posto normal de <literal>A</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Ac</term>
+ <listitem>
+ <para>
+ <literal>Ac=X*A</literal>, matriz de polinômios
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Compressão de linhas da matriz de polinômios
+ <literal>A</literal>.
+ </para>
+ <para>
+ <literal>X</literal> é uma base polinomial unimodular esquerda que
+ comprime as linhas de <literal>A</literal>. <literal>rk</literal> é o
+ posto normal de A.
+ </para>
+ <para> Aviso: há eliminação de termos "pequenos" (utilize com
+ cuidado!).
+ </para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="colcompr">colcompr</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/sfact.xml b/modules/polynomials/help/pt_BR/sfact.xml
new file mode 100755
index 000000000..ef86abb07
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/sfact.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="sfact" xml:lang="en">
+ <refnamediv>
+ <refname>sfact</refname>
+ <refpurpose>fatoração espectral em tempo discreto</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>F=sfact(P)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>P</term>
+ <listitem>
+ <para>matriz de polinômios reais</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Acha <literal>F</literal>, um fator espectral de
+ <literal>P</literal>. <literal>P</literal> é uma matriz de polinômios tal
+ que cada raiz de <literal>P</literal> possui uma imagem simétrica em
+ relação ao círculo unitário. O problema é singular se uma raiz estiver no
+ círculo unitário.
+ </para>
+ <para>
+ <literal>sfact(P)</literal> retorna uma matriz de polinômios
+ <literal>F(z)</literal> que é anti-estável e tal que
+ </para>
+ <para>
+ <literal>P = F(z)* F(1/z) *z^n</literal>
+ </para>
+ <para> Para polinômios escalares um algorimto específico é implementado.
+ Os algoritmos são implementados do livro de Kucera.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+//exemplo polinomial
+z=poly(0,'z');
+p=(z-1/2)*(2-z)
+w=sfact(p);
+w*numer(horner(w,1/z))
+
+//exemplo matricial
+F1=[z-1/2,z+1/2,z^2+2;1,z,-z;z^3+2*z,z,1/2-z];
+P=F1*gtild(F1,'d'); //P é simétrica
+F=sfact(P)
+roots(det(P))
+roots(det(gtild(F,'d'))) //as raízes estáveis
+roots(det(F)) //as raízes anti-estáveis
+clean(P-F*gtild(F,'d'))
+
+//exemplo de uso de tempo contínuo
+s=poly(0,'s');
+p=-3*(s+(1+%i))*(s+(1-%i))*(s+0.5)*(s-0.5)*(s-(1+%i))*(s-(1-%i));p=real(p);
+
+//p(s) = polinômio em s^2 , procura por f estável tal que p=f(s)*f(-s)
+w=horner(p,(1-s)/(1+s)); // transformação bilinear w=p((1-s)/(1+s))
+wn=numer(w); //tomando o numerador
+fn=sfact(wn);f=numer(horner(fn,(1-s)/(s+1))); //fator e transformação de volta
+f=f/sqrt(horner(f*gtild(f,'c'),0));f=f*sqrt(horner(p,0)); //normalização
+roots(f) //f é estável
+clean(f*gtild(f,'c')-p) //f(s)*f(-s) é p(s)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gtild">gtild</link>
+ </member>
+ <member>
+ <link linkend="fspecg">fspecg</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/simp.xml b/modules/polynomials/help/pt_BR/simp.xml
new file mode 100755
index 000000000..11e093fb8
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/simp.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="simp" xml:lang="en">
+ <refnamediv>
+ <refname>simp</refname>
+ <refpurpose>simplificação racional</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[N1,D1]=simp(N,D)
+ H1=simp(H)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>N,D</term>
+ <listitem>
+ <para>polinômios reais ou matrizes de polinômios reais</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>H</term>
+ <listitem>
+ <para>matriz de razões de polinômios (i.e matriz com entradas
+ <literal>n/d</literal> ,<literal>n</literal> e <literal>d</literal>
+ polinômios reais)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>[n1,d1]=simp(n,d)</literal> calcula dois polinômios
+ <literal>n1</literal> e <literal>d1</literal> tais que <literal>n1/d1 =
+ n/d
+ </literal>
+ .
+ </para>
+ <para>
+ Se <literal>N</literal> e <literal>D</literal> são matrizes de
+ polinômios, os cálculos são feitos elemento a elemento.
+ </para>
+ <para>
+ <literal>H1=simp(H)</literal> também é válido (cada entrada de
+ <literal>H</literal> é simplificada em <literal>H1</literal>).
+ </para>
+ <para>Cuidado:</para>
+ <para>
+ -Nenhum limiar é dado i.e. <literal>simp</literal> não pode forçar
+ uma simplificação.
+ </para>
+ <para>-Para sistemas lineares dinâmicos que incluem integrador(es), a
+ simplificação modifica o ganho estático. (<literal>H(0)</literal> para
+ sistemas contínuos <literal>H(1)</literal> para sistemas discretos)
+ </para>
+ <para>
+ -Para dados complexos, <literal>simp</literal> retorna sua(s)
+ entrada(s).
+ </para>
+ <para>-Uma simplificação racional é chamada após aproximadamente cada
+ operação sobre razões de polinômios. É possível alternar o modo de
+ simplificação entre "on" e "off" (ligado e desligado) utilizando a função
+ <literal>simp_mode</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+[n,d]=simp((s+1)*(s+2),(s+1)*(s-2))
+
+simp_mode(%F);hns=s/s
+simp_mode(%T);hns=s/s
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="trfmod">trfmod</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="clean">clean</link>
+ </member>
+ <member>
+ <link linkend="simp_mode">simp_mode</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/simp_mode.xml b/modules/polynomials/help/pt_BR/simp_mode.xml
new file mode 100755
index 000000000..89c83e0d2
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/simp_mode.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="simp_mode" xml:lang="en">
+ <refnamediv>
+ <refname>simp_mode</refname>
+ <refpurpose>modifica o modo de simplificação racional</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>mod=simp_mode()
+ simp_mode(mod)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>mod</term>
+ <listitem>
+ <para>um booleano</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>A simplificação racional é chamada após quase cada operação sobre
+ razões de polinômios. É possível alternar o modo de simplificação entre
+ "on" e "off" (ligado e desligado) utilizando a função
+ <literal>simp_mode</literal>.
+ </para>
+ <para>
+ <literal>simp_mode(%t)</literal> ajusta o modo de simplificação
+ racional para "on"
+ </para>
+ <para>
+ <literal>simp_mode(%f)</literal> ajusta o modo de simplificação
+ racional para "off"
+ </para>
+ <para>
+ <literal>mod=simp_mode()</literal> retorna em mod o modo de
+ simplificação racional corrente
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+mod=simp_mode()
+simp_mode(%f);hns=s/s
+simp_mode(%t);hns=s/s
+simp_mode(mod);
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/sylm.xml b/modules/polynomials/help/pt_BR/sylm.xml
new file mode 100755
index 000000000..21a48ed8e
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/sylm.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="sylm" xml:lang="en">
+ <refnamediv>
+ <refname>sylm</refname>
+ <refpurpose>matriz de Sylvester</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[S]=sylm(a,b)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>a,b</term>
+ <listitem>
+ <para>duas matrizes de polinômios </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>S</term>
+ <listitem>
+ <para>matriz</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>sylm(a,b)</literal> fornece a matriz de Sylvester associada
+ aos polinômios <literal>a</literal> e <literal>b</literal>, i.e. a matriz
+ <literal>S</literal> tal que:
+ </para>
+ <para>
+ <literal>coeff( a*x + b*y )' = S *
+ [coeff(x)';coeff(y)']
+ </literal>
+ .
+ </para>
+ <para>
+ A dimensão de <literal>S</literal> é igual a
+ <literal>degree(a)+degree(b)</literal>.
+ </para>
+ <para>
+ Se <literal>a</literal> e <literal>b</literal> são polinômios primos
+ entre si, então
+ </para>
+ <para>
+ <literal>rank(sylm(a,b))=degree(a)+degree(b))</literal> e as
+ instruções
+ </para>
+ <programlisting role=""><![CDATA[
+u = sylm(a,b) \ eye(na+nb,1)
+x = poly(u(1:nb),'z','coeff')
+y = poly(u(nb+1:na+nb),'z','coeff')
+ ]]></programlisting>
+ <para>
+ computam os fatores de Bezout <literal>x</literal> e
+ <literal>y</literal> de graus mínimos tais que <literal>a*x+b*y =
+ 1
+ </literal>
+ </para>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/systmat.xml b/modules/polynomials/help/pt_BR/systmat.xml
new file mode 100755
index 000000000..a945e3f6c
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/systmat.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="systmat" xml:lang="en">
+ <refnamediv>
+ <refname>systmat</refname>
+ <refpurpose>matriz sistema</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>[Sm]=systmat(Sl);</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>Sl</term>
+ <listitem>
+ <para>
+ sistema linear (lista <literal>syslin</literal> ) ou sistema
+ descritor
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Sm</term>
+ <listitem>
+ <para>feixe de matrizes</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Matriz sistema do sistema linear <literal>Sl</literal> (lista
+ <literal>syslin</literal>) em forma de espaço de estados (função
+ utilitária).
+ </para>
+ <programlisting role=""><![CDATA[
+Sm = [-sI + A B;
+ [ C D]
+ ]]></programlisting>
+ <para>Para um sistema descritor
+ (<literal>Sl=list('des',A,B,C,D,E)</literal>), <literal>systmat</literal>
+ retorna:
+ </para>
+ <programlisting role=""><![CDATA[
+Sm = [-sE + A B;
+ [ C D]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="ss2des">ss2des</link>
+ </member>
+ <member>
+ <link linkend="sm2des">sm2des</link>
+ </member>
+ <member>
+ <link linkend="sm2ss">sm2ss</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/pt_BR/varn.xml b/modules/polynomials/help/pt_BR/varn.xml
new file mode 100755
index 000000000..b4c8266c5
--- /dev/null
+++ b/modules/polynomials/help/pt_BR/varn.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="varn" xml:lang="pt">
+ <refnamediv>
+ <refname>varn</refname>
+ <refpurpose>variável simbólica de polinômios ou de frações racionais</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[symb]=varn(p)
+ [pm]=varn(p,varname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title> Parâmetros </title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>matriz de polinômios ou de frações racionais</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>symb</term>
+ <listitem>
+ <para>string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>var</term>
+ <listitem>
+ <para>variável simbólica (string) </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pm</term>
+ <listitem>
+ <para>matriz de polinômios ou de frações racionais</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>symb=varn(p)</literal> retorna em <literal>symb</literal> a
+ variável simbólica de <literal>p</literal> (i.e.
+ <literal>varn(poly(0,'x'))</literal> is <literal>'x'</literal>).
+ </para>
+ <para>
+ <literal>varn(p,'s')</literal> retorna uma matriz de polinômios com
+ os mesmos coeficientes que <literal>p</literal> mas com <literal>'s'
+ </literal>
+ como variável simbólica (mudança do nome de variável).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+s = poly(0,'s'); p = [s^2+1,s];
+varn(p)
+varn(p,'x')
+
+f = %z / (%z-1); f = [f f^2]
+varn(f)
+varn(f,"x")
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="rlist">rlist</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Histórico</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.1</revnumber>
+ <revdescription>
+ <para>Extensão de frações racionais</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ru_RU/addchapter.sce b/modules/polynomials/help/ru_RU/addchapter.sce
new file mode 100755
index 000000000..539f015e6
--- /dev/null
+++ b/modules/polynomials/help/ru_RU/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Polynomials",SCI+"/modules/polynomials/help/ru_RU",%T);
+
diff --git a/modules/polynomials/help/ru_RU/inv_coeff.xml b/modules/polynomials/help/ru_RU/inv_coeff.xml
new file mode 100755
index 000000000..31dcadeb5
--- /dev/null
+++ b/modules/polynomials/help/ru_RU/inv_coeff.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="inv_coeff">
+ <refnamediv>
+ <refname>inv_coeff</refname>
+ <refpurpose>поÑтроение матрицы полиномов по их коÑффициентам</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>[P]=inv_coeff(C,[,d,[name])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>C</term>
+ <listitem>
+ <para>Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð° коÑффициентов</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>d</term>
+ <listitem>
+ <para>
+ Ñтепень матрицы полиномов. Это необÑзательный параметр, у которого значение
+ по умолчанию <literal>d=-1+size(C,'c')/size(C,'r')</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>
+ Ñтроковое значение, указывающее Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð¹ переменной (значение по умолчанию <literal>'x'</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <literal>P=inv_coeff(Mp,k)</literal>, когда <literal>k</literal> ÑовмеÑтима Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ <literal>Mp</literal>,
+ возвращает полиномиальную матрицу Ñтепени <literal>k</literal>. <literal>C=[C0,C1,...,Ck]</literal> и
+ <literal>P= C0 + C1*x +... +Ck*x^k</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+A=int(10*rand(2,6))
+// Building a degree 1 polynomial matrix
+P=inv_coeff(A,1)
+norm(coeff(P)-A)
+// Using default value for degree
+P1=inv_coeff(A)
+norm(coeff(P1)-A)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="degree">degree</link>
+ </member>
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ru_RU/poly.xml b/modules/polynomials/help/ru_RU/poly.xml
new file mode 100755
index 000000000..e0d25792c
--- /dev/null
+++ b/modules/polynomials/help/ru_RU/poly.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="poly">
+ <refnamediv>
+ <refname>poly</refname>
+ <refpurpose>определение полинома</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>p = poly(a, vname, ["flag"])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>a</term>
+ <listitem>
+ <para>матрица или вещеÑтвенное чиÑло</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>vname</term>
+ <listitem>
+ <para>
+ Строка, Ð¸Ð¼Ñ Ñимвольной переменной. ЕÑли Ñтрока больше 4 Ñимволов, то из них
+ учитываютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ 4 первых.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"flag"</term>
+ <listitem>
+ <para>
+ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока ( <literal>"roots"</literal>,
+ <literal>"coeff"</literal>), значение по
+ умолчанию <literal>"roots"</literal>.
+ </para>
+ <para>
+ Также могут быть иÑпользованы ÑокращениÑ:
+ <literal>"r"</literal> Ð´Ð»Ñ <literal>"roots"</literal>
+ и <literal>"c"</literal> Ð´Ð»Ñ <literal>"coeff"</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ ЕÑли <literal>a</literal> - матрица, то
+ </term>
+ <listitem>
+ <para>
+ <varname>p</varname> ÑвлÑетÑÑ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸ÑтичеÑким полиномом, то еÑÑ‚ÑŒ
+ <code>determinant(x*eye()-a)</code>, где <literal>x</literal> ÑвлÑетÑÑ
+ Ñимвольной переменной.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ ЕÑли <literal>v</literal> - вектор, то
+ </term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>poly(v,"x",["roots"])</code> ÑвлÑетÑÑ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð¾Ð¼ Ñ ÐºÐ¾Ñ€Ð½Ñми, хранÑщимиÑÑ Ð² Ñлементах <varname>v</varname> и
+ <literal>"x"</literal> в качеÑтве формальной переменной. (Ð’ Ñтом Ñлучае
+ <function>roots</function> и <function>poly</function> ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼Ð¸ функциÑми).
+ <note>
+ Заметьте, что беÑконечные корни дают нулевые коÑффициенты наивыÑшей Ñтепени.
+ </note>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>poly(v,"x","coeff")</code> Ñоздаёт полином Ñ Ñимволом
+ <literal>"x"</literal> и Ñ ÐºÐ¾Ñффициентами, хранÑщимиÑÑ Ð² Ñлементах
+ <varname>v</varname> (<code>v(1)</code> - поÑтоÑнный член полинома). ЗдеÑÑŒ
+ <function>poly</function> и <function>coeff</function> ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼Ð¸ функциÑми.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <code>s=poly(0,"s")</code> ÑвлÑетÑÑ Ñеменем Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð¾Ð² Ñ Ñимволом
+ <literal>"s"</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,"s");
+p=1+s+2*s^2
+A=rand(2,2);
+poly(A,"x")
+//рациональные дроби
+h=(1+2*%s)/poly(1:4,'s','c')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="coeff">coeff</link>
+ </member>
+ <member>
+ <link linkend="roots">roots</link>
+ </member>
+ <member>
+ <link linkend="varn">varn</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ <member>
+ <link linkend="derivat">derivat</link>
+ </member>
+ <member>
+ <link linkend="matrices">матрицы</link>
+ </member>
+ <member>
+ <link linkend="rational">рациональное чиÑло</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ru_RU/rational.xml b/modules/polynomials/help/ru_RU/rational.xml
new file mode 100755
index 000000000..ef61eecff
--- /dev/null
+++ b/modules/polynomials/help/ru_RU/rational.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="rational">
+ <refnamediv>
+ <refname>рациональное чиÑло</refname>
+ <refpurpose>объекты Scilab, рациональное чиÑло в Scilab</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Рациональное чиÑло <literal>r</literal> ÑвлÑетÑÑ Ñ‡Ð°Ñтным двух полиномов <literal>r=num/den</literal>.
+ Внутреннее предÑтавление рационального чиÑло ÑвлÑетÑÑ ÑпиÑком.
+ <literal>r=rlist(num,den,[])</literal> -- Ñто то же Ñамое, что и <literal>r=num/den</literal>.
+ Матрица рациональных чиÑел может быть определена обычным ÑинтакÑиÑом,
+ например, <literal>[r11,r12;r21,r22]</literal> ÑвлÑетÑÑ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†ÐµÐ¹ размером 2x2, где <literal>rij</literal> -- рациональные
+ чиÑла размером 1x1.
+ Матрица рациональных чиÑел может быть, также определена в виде вышеупомÑнутого ÑпиÑка,
+ <literal>tlist(['r','num','den','dt'],num,den,[])</literal>, где <literal>num</literal> и <literal>den</literal> матрицы полиномов.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+H=Num./Den
+syslin('c',Num,Den)
+syslin('c',H)
+[Num1,Den1]=simp(Num,Den)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="simp">simp</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/help/ru_RU/varn.xml b/modules/polynomials/help/ru_RU/varn.xml
new file mode 100755
index 000000000..c1bc84453
--- /dev/null
+++ b/modules/polynomials/help/ru_RU/varn.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="varn">
+ <refnamediv>
+ <refname>varn</refname>
+ <refpurpose>СимволичеÑкие переменных полиномами или рациональные дроби</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>
+ [symb]=varn(p)
+ [pm]=varn(p, varname)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>p</term>
+ <listitem>
+ <para>Матрица полиномов или рациональных дробей</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>symb</term>
+ <listitem>
+ <para>ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>varname</term>
+ <listitem>
+ <para>ÑимволичеÑÐºÐ°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ (ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pm</term>
+ <listitem>
+ <para>Матрица полиномов или рациональных дробей</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <literal>symb=varn(p)</literal> возвращает в <literal>symb</literal> ÑимволичеÑкую
+ переменную полинома <literal>p</literal> (Ñ‚. е., еÑли
+ <literal>varn(poly(0,'x'))</literal>, то <literal>'x'</literal>).
+ </para>
+ <para>
+ <literal>varn(p,'s')</literal> возвращает матрицу полиномов Ñ Ñ‚ÐµÐ¼Ð¸ же коÑффициентами,
+ что и <literal>p</literal>, но Ñ <literal>'s'</literal> в качеÑтве ÑимволичеÑкой
+ переменой (Ñмена имени переменной).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+s = poly(0,'s'); p = [s^2+1,s];
+varn(p)
+varn(p,'x')
+
+f = %z / (%z-1); f = [f f^2]
+varn(f)
+varn(f,"x")
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="rlist">rlist</link>
+ </member>
+ <member>
+ <link linkend="horner">horner</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>ИÑториÑ</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5.1</revnumber>
+ <revdescription>
+ <para>РаÑширение Ð´Ð»Ñ Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ… дробей</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/polynomials/includes/dynlib_polynomials.h b/modules/polynomials/includes/dynlib_polynomials.h
new file mode 100755
index 000000000..06e464642
--- /dev/null
+++ b/modules/polynomials/includes/dynlib_polynomials.h
@@ -0,0 +1,28 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#ifndef __DYNLIB_POLYNOMIALS_H__
+#define __DYNLIB_POLYNOMIALS_H__
+
+#ifdef _MSC_VER
+#ifdef POLYNOMIALS_EXPORTS
+#define POLYNOMIALS_IMPEXP __declspec(dllexport)
+#else
+#define POLYNOMIALS_IMPEXP __declspec(dllimport)
+#endif
+#else
+#define POLYNOMIALS_IMPEXP
+#endif
+
+#endif /* __DYNLIB_POLYNOMIALS_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/includes/gw_polynomials.h b/modules/polynomials/includes/gw_polynomials.h
new file mode 100755
index 000000000..9cc0fd138
--- /dev/null
+++ b/modules/polynomials/includes/gw_polynomials.h
@@ -0,0 +1,40 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __GW_POLYNOMIALS__
+#define __GW_POLYNOMIALS__
+/*--------------------------------------------------------------------------*/
+#include "dynlib_polynomials.h"
+/*--------------------------------------------------------------------------*/
+POLYNOMIALS_IMPEXP int gw_polynomials(void);
+/*--------------------------------------------------------------------------*/
+POLYNOMIALS_IMPEXP int sci_poly_primitive(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_roots(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_degree(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_coeff(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_pppdiv(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_simp(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_psum(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_pprod(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_pdiag(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_ptriu(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_ptril(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_bezout(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_sfact(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_simp_mode(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_varn(char *fname, unsigned long fname_len);
+POLYNOMIALS_IMPEXP int sci_cleanp(char *fname, unsigned long fname_len);
+/*--------------------------------------------------------------------------*/
+#endif /* __GW_POLYNOMIALS__ */
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/polynomials/libscipolynomials-algo.la b/modules/polynomials/libscipolynomials-algo.la
new file mode 100755
index 000000000..21eb8f6af
--- /dev/null
+++ b/modules/polynomials/libscipolynomials-algo.la
@@ -0,0 +1,41 @@
+# libscipolynomials-algo.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname=''
+
+# Names of this library.
+library_names=''
+
+# The name of the static archive.
+old_library='libscipolynomials-algo.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscipolynomials-algo.
+current=
+age=
+revision=
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir=''
diff --git a/modules/polynomials/libscipolynomials.la b/modules/polynomials/libscipolynomials.la
new file mode 100755
index 000000000..9254e40aa
--- /dev/null
+++ b/modules/polynomials/libscipolynomials.la
@@ -0,0 +1,41 @@
+# libscipolynomials.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname=''
+
+# Names of this library.
+library_names=''
+
+# The name of the static archive.
+old_library='libscipolynomials.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscipolynomials.
+current=
+age=
+revision=
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir=''
diff --git a/modules/polynomials/license.txt b/modules/polynomials/license.txt
new file mode 100755
index 000000000..300833893
--- /dev/null
+++ b/modules/polynomials/license.txt
@@ -0,0 +1,22 @@
+Copyright:
+Copyright (c) 2008 - DIGITEO
+Copyright (c) 1989-2008 - INRIA
+
+License:
+This module must be used under the terms of the CeCILL.
+This module file is licensed as described in the file COPYING, which
+you should have received as part of this distribution. The terms
+are also available at
+http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+Eispack:
+========
+
+Files: src/fortran/balbak.f
+
+Copyright:
+1983 - Burton s. Garbow
+
+License:
+Public domain
diff --git a/modules/polynomials/locales/ca_ES.po b/modules/polynomials/locales/ca_ES.po
new file mode 100755
index 000000000..fffe3e92f
--- /dev/null
+++ b/modules/polynomials/locales/ca_ES.po
@@ -0,0 +1,128 @@
+# Catalan translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-04-19 18:11+0000\n"
+"Last-Translator: Marc Coll Carrillo <Unknown>\n"
+"Language-Team: Catalan <ca@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: ca\n"
+
+msgid "Polynomials"
+msgstr "Polinomis"
+
+msgid "Introduction"
+msgstr "Introducció"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser una matriu "
+"quadrada.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser un nombre "
+"decimal amb coma flotant, un polinomi o un vector de fraccions racionals.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser un polinomi.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser una fracció "
+"racional.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser un sistema "
+"d'entrada simple i sortida simple.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser un sistema "
+"dinàmic o un vector de polinomis.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: L'argument d'entrada és d'un tipus incorrecte: Ha de ser un vector de "
+"polinomis.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Nombre incorrecte d'arguments d'entrada: Han de ser %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: L'argument d'entrada #%d és d'un tipus inesperat.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d té una mida incorrecta: Ha de ser un vector "
+"fila.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: Els arguments d'entrada %d i %d són incompatibles.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser un "
+"d'aquests {%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s: tipus de dades del paràmetre d'entrada #%d incorrecte: s'esperava un "
+"polinomi.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: L'argument d'entrada #%d ha de ser un nombre real.\n"
diff --git a/modules/polynomials/locales/cs_CZ.po b/modules/polynomials/locales/cs_CZ.po
new file mode 100755
index 000000000..94acfc0f7
--- /dev/null
+++ b/modules/polynomials/locales/cs_CZ.po
@@ -0,0 +1,118 @@
+# Czech translation for scilab
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-09-24 19:25+0000\n"
+"Last-Translator: Zbyněk Schwarz <Unknown>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+
+msgid "Polynomials"
+msgstr "Polynomy"
+
+msgid "Introduction"
+msgstr "Úvod"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: Å patná velikost vstupního argumentu #%d: OÄekávána Ätvercová matice.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: Å patný typ vstupního argumentu #%d: OÄekáváno desetinné Äíslo, polynom, "
+"nebo pole racionálních zlomků.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: Å patný poÄet vstupních argumentů: oÄekáváno %d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr "%s: Å patná velikost vstupního argumentu #%d: OÄekáván mnohoÄlen.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: Å patná velikost vstupního argumentu #%d: OÄekáván racionální zlomek.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: Å patná velikost vstupního argumentu #%d: OÄekává systém jednoho vstupu a "
+"výstupu.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: Å patný typ vstupního argumentu #%d: OÄekáván lineární dynamický systém, "
+"nebo pole polynomů.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+"%s: Å patný typ argumentu #%d: OÄekáváno pole celých Äísel nebo polynom.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr "%s: Å patný typ vstupního argumentu: OÄekáváno pole polynomů.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Å patný poÄet vstupních argumentů: OÄekáván %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: NeÄekaný typ vstupního argumentu #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr "%s: Å patná velikost vstupního argumentu #%d: OÄekáván vektor Å™ady.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: nekompatibilní vstupní argumenty %d a %d\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr "%s: Špatná hodnota vstupního argumentu #%d: Musí být v sadě {%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+"%s: Å patný typ argumentu #%d: OÄekávána reálná matice nebo polynomy.\n"
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr "%s: Å patný typ argumentu #%d: OÄekáván Å™etÄ›zec.\n"
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr "%s: Å patná hodnota argumentu #%d: OÄekáváno %s nebo %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr "%s: Å patný typ vstupního argumentu #%d: OÄekáván polynom.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: Vstupní argument #%d musí být reálné Äíslo.\n"
diff --git a/modules/polynomials/locales/de_DE.po b/modules/polynomials/locales/de_DE.po
new file mode 100755
index 000000000..384cadb50
--- /dev/null
+++ b/modules/polynomials/locales/de_DE.po
@@ -0,0 +1,121 @@
+# German translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-01-31 16:41+0000\n"
+"Last-Translator: Niko K <Unknown>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: de\n"
+
+msgid "Polynomials"
+msgstr "Polynome"
+
+msgid "Introduction"
+msgstr "Einführung"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: falsche Größe für Eingangsargument #%d: eine N x N Matrix erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: falsche Größe für Eingangsargument #%d: eine Fließpunkt-Zahl, Polynom "
+"oder Datenfeld mit rationalen Brüchen erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr "%s: falsche Größe für Eingangsargument #%d: ein Polynom erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: falsche Größe für Eingangsargument #%d: ein reell-wertiger Bruch "
+"erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: falsche Größe für Eingangsargument #%d: ein System mit einzelnem Eingang "
+"und Ausgang erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: falscher Typ für Eingangsargument #%d: lineares dynamisches System oder "
+"Datenfeld mit Polynomen erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: falscher Typ für Eingangsargument: Datenfeld mit Polynomen erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: falsche Anzahl von Eingangsargumenten: %d erwartet.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: unerwarteter Typ für Eingangsargument #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: falsche Größe für Eingangsargument #%d: ein Reihenvektor erwartet.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: inkompatible Eingangsargumente %d und %d.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: falscher Wert für Eingangsargument #%d: muß sich im Satz {%s} befinden.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr "%s: Falscher Typ des Eingangsarguments #%d: Polynom erwartet.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: Eingangsargument #%d muß reell sein.\n"
diff --git a/modules/polynomials/locales/es_ES.po b/modules/polynomials/locales/es_ES.po
new file mode 100755
index 000000000..56693f1b2
--- /dev/null
+++ b/modules/polynomials/locales/es_ES.po
@@ -0,0 +1,128 @@
+# Spanish translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-09-09 18:11+0000\n"
+"Last-Translator: Jorge Catumba <jorgerev90@gmail.com>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: es\n"
+
+msgid "Polynomials"
+msgstr "Polinomios"
+
+msgid "Introduction"
+msgstr "Introducción"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba una matriz "
+"cuadrada.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un arreglo de "
+"decimales, polinomios o racionales.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba un "
+"polinomio.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba una fracción "
+"racional.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba un sistema "
+"de entrada/salida simple.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un sistema "
+"lineal dinámico o un arreglo polinómico.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: Tipo incorrecto de argumento de entrada: Se esperaba un arreglo "
+"polinómico.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Número incorrecto de argumento(s) de entrada: Se esperaban %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: Tipo inesperado para el argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: Tamaño incorrecto del argumento de entrada #%d: Se esperaba un vector "
+"fila.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: Argumentos de entrada %d y %d incompatibles.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: Valor incorrecto del argumento de entrada #%d: Debe estar en el conjunto "
+"{%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s: Tipo inválido del argumento de entrada #%d: Se esperaba polinomio.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: El argumento de entrada #%d debe ser real.\n"
diff --git a/modules/polynomials/locales/fr_FR.po b/modules/polynomials/locales/fr_FR.po
new file mode 100755
index 000000000..5b27ee7e0
--- /dev/null
+++ b/modules/polynomials/locales/fr_FR.po
@@ -0,0 +1,131 @@
+# French translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-09-16 09:48+0000\n"
+"Last-Translator: Julie PAUL <Unknown>\n"
+"Language-Team: French <fr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: fr\n"
+
+msgid "Polynomials"
+msgstr "Polynômes"
+
+msgid "Introduction"
+msgstr "Introduction"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Une matrice carrée "
+"attendue.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Un tableau de flottants, de "
+"polynômes ou de fractions rationnelles attendu.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s : Nombre erroné d'arguments d'entrée : %d attendus.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Un polynôme attendu.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Une fraction "
+"rationnelle attendue.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Un système mono-entrée, "
+"mono-sortie est attendu.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Un système dynamique linéaire "
+"ou un tableau de polynômes est attendu.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument n°%d : Un tableau d'entiers ou un polynôme "
+"attendu.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée : Un tableau de polynômes attendu.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s : Nombre erroné d'argument(s) d'entrée : %d attendu(s).\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s : Type inattendu de l'argument d'entrée n°%d\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s : Dimension erronée de l'argument d'entrée n°%d : Un vecteur ligne "
+"attendu.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s : Les arguments d'entrée n°%d et n°%d sont incompatibles.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s : Valeur erronée de l'argument d'entrée n°%d : Doit être dans l'ensemble "
+"{%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument n°%d : Une matrice réelle de polynômes "
+"attendue.\n"
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument n°%d : Une chaîne de caractères attendue.\n"
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr "%s : Valeur erronée de l'argument n°%d : %s ou %s attendu.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Un polynôme attendu.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s : L'argument d'entrée n°%d doit être réel.\n"
diff --git a/modules/polynomials/locales/it_IT.po b/modules/polynomials/locales/it_IT.po
new file mode 100755
index 000000000..e08d0c6cf
--- /dev/null
+++ b/modules/polynomials/locales/it_IT.po
@@ -0,0 +1,138 @@
+# Italian translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2015-02-14 21:44+0000\n"
+"Last-Translator: Carml <mighty.carml@gmail.com>\n"
+"Language-Team: Italian <it@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: it\n"
+
+msgid "Polynomials"
+msgstr "Polinomi"
+
+msgid "Introduction"
+msgstr "Introduzione"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era attesa una "
+"matrice quadrata.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: L' argomento in ingresso #%d è di tipo sbagliato: era atteso un numero "
+"in virgola mobile o un polinomio o un vettore di frazioni razionali.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi %d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un "
+"polinomio.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era attesa una "
+"frazione razionale.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un "
+"sistema con input e output singoli.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un sistema "
+"lineare dinamico o un vettore di polinomi.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un vettore "
+"di interi o uno polinomiale\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso è di tipo sbagliato: era atteso un vettore di "
+"polinomi.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: L'argomento in ingresso #%d è di tipo inatteso.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: L' argomento in ingresso #%d ha una dimensione sbagliata: era atteso un "
+"vettore riga.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: gli argomenti in ingresso %d e %d sono incompatibili\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: deve essere "
+"nell'insieme {%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una matrice "
+"reale o una di polinomi.\n"
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una "
+"stringa.\n"
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso %s o %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un "
+"polinomio.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: L'argomento in ingresso #%d deve essere reale.\n"
diff --git a/modules/polynomials/locales/ja_JP.po b/modules/polynomials/locales/ja_JP.po
new file mode 100755
index 000000000..ae2625370
--- /dev/null
+++ b/modules/polynomials/locales/ja_JP.po
@@ -0,0 +1,114 @@
+# Japanese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-09-21 05:52+0000\n"
+"Last-Translator: Rui Hirokawa <Unknown>\n"
+"Language-Team: Japanese <z-saito@guitar.ocn.ne.jp>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"X-Poedit-Country: Japan\n"
+"Language: ja\n"
+"X-Poedit-Language: Japanese\n"
+
+# File: etc/polynomials.start, line: 26
+msgid "Polynomials"
+msgstr "多項å¼"
+
+msgid "Introduction"
+msgstr "å°Žå…¥"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr "%s: 入力引数 #%d ã®å¤§ãã•ãŒæ­£ã—ãã‚ã‚Šã¾ã›ã‚“: 正方行列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr "%s: 入力引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 浮動å°æ•°ç‚¹æ•°ã¾ãŸã¯å¤šé …å¼ã¾ãŸã¯æœ‰ç†åˆ†æ•°é…列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: 入力引数ã®æ•°ãŒé–“é•ã£ã¦ã„ã¾ã™: %d 個ã®å¼•æ•°ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr "%s: 入力引数 #%d ã®å¤§ãã•ãŒé–“é•ã£ã¦ã„ã¾ã™: 多項å¼ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr "%s: 入力引数 #%d ã®å¤§ãã•ãŒé–“é•ã£ã¦ã„ã¾ã™: 有ç†åˆ†æ•°ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr "%s: 入力引数 #%d ã®å¤§ãã•ãŒé–“é•ã£ã¦ã„ã¾ã™: 1入力1出力システムを指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr "%s: 入力引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 線形動的システムã¾ãŸã¯å¤šé …å¼é…列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr "%s: 引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: æ•´æ•°é…列ã¾ãŸã¯å¤šé …å¼ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr "%s: 入力引数ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 多項å¼é…列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: 入力引数ã®æ•°ã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™: %d 個ã®å¼•æ•°ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: 入力引数 #%d ã«æƒ³å®šå¤–ã®åž‹ãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸ.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr "%s: 入力引数 #%d ã®å¤§ãã•ãŒé–“é•ã£ã¦ã„ã¾ã™: 行ベクトルを指定ã—ã¦ãã ã•ã„.\n"
+
+#
+# File: macros/inv_coeff.sci, line: 24
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: 入力引数 %d 㨠%d ã§äº’æ›æ€§ãŒã‚ã‚Šã¾ã›ã‚“。\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr "%s: 入力引数 #%d ã®å€¤ãŒæ­£ã—ãã‚ã‚Šã¾ã›ã‚“: é›†åˆ {%s} ã«å«ã¾ã‚Œã‚‹å€¤ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr "%s: 引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 実数行列ã¾ãŸã¯å¤šé …å¼ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr "%s: 引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 文字列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr "%s: 引数 #%d ã®å€¤ãŒé–“é•ã£ã¦ã„ã¾ã™: %s ã¾ãŸã¯ %s を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr "%s: 入力引数 #%dã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 多項å¼ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: 入力引数 #%d ã¯å®Ÿæ•°ã§ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“.\n"
diff --git a/modules/polynomials/locales/pl_PL.po b/modules/polynomials/locales/pl_PL.po
new file mode 100755
index 000000000..b8d3cc410
--- /dev/null
+++ b/modules/polynomials/locales/pl_PL.po
@@ -0,0 +1,125 @@
+# Polish translation for scilab
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2011-10-20 14:11+0000\n"
+"Last-Translator: Grzegorz Szostek <Unknown>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: pl\n"
+
+msgid "Polynomials"
+msgstr "Wielomianów"
+
+msgid "Introduction"
+msgstr "Wprowadzenie"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: Nieprawidłowy rozmiar parametru wejściowego nr %d: oczekiwana macierz "
+"kwadratowa.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego nr %d: Oczekiwano liczby "
+"rzeczywistej, wielomianu lub racjonalnej części tablicy.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s: Nieprawidłowy rozmiar parametru wejściowego nr %d: oczekiwano "
+"wielomiany.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: Zły rozmiar parametru wejściowego nr %d: oczekiwana racjonalna część .\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: Zły rozmiar parametru wejściowego nr %d: pojedyncze wejście, system "
+"oczekuje pojedynczego wyjścia.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego nr %d: Oczekiwano liniowego "
+"układu dynamicznego lub tablicy wielomianów.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: Niewłaściwy typ dla argumentu wejściowego: Oczekiwana jest tablica "
+"wielomianów.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Nieprawidłowa liczba argumentów wejściowych: oczekiwano %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: Nieoczekiwany typ argument wejściowy nr %d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: Zły rozmiar parametru wejściowego nr %d: oczekiwany wektor wierszowy.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: argumenty wejściowe %d oraz % d są niezgodne.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: Nieprawidłowa wartość parametru wejściowego nr %d: Musi być ze zbioru "
+"{%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr "%s: Nieprawidłowy typ argumentu #%d: Oczekiwano wielomianu.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: Parametr wejściowy nr %d musi być wartością rzeczywistą.\n"
diff --git a/modules/polynomials/locales/polynomials.pot b/modules/polynomials/locales/polynomials.pot
new file mode 100755
index 000000000..b7e3ffd63
--- /dev/null
+++ b/modules/polynomials/locales/polynomials.pot
@@ -0,0 +1,165 @@
+# Localization of the module polynomials-macros
+# Please see in SCI/tools/localization for localization management
+# Copyright (C) 2007-2008 - INRIA
+# Copyright (C) 2008-2011 - DIGITEO
+# Copyright (C) 2012-2014 - Scilab-Enterprises
+# This file is distributed under the same license as the Scilab package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"Last-Translator: Vincent COUVERT <vincent.couvert@scilab-enterprises.com>\n"
+"Language-Team: Scilab Localization <localization@lists.scilab.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Revision-Date: 2015-03-27 13:54+0100\n"
+
+# File: demos/polynomials.dem.gateway.sce, line: 10
+msgid "Polynomials"
+msgstr ""
+
+#
+# File: demos/polynomials.dem.gateway.sce, line: 12
+msgid "Introduction"
+msgstr ""
+
+#
+# File: macros/coffg.sci, line: 23
+# File: macros/coffg.sci, line: 36
+# File: macros/determ.sci, line: 25
+# File: macros/detr.sci, line: 24
+# File: macros/hermit.sci, line: 22
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+
+#
+# File: macros/coffg.sci, line: 47
+# File: macros/denom.sci, line: 27
+# File: macros/derivat.sci, line: 59
+# File: macros/determ.sci, line: 22
+# File: macros/detr.sci, line: 35
+# File: macros/invr.sci, line: 92
+# File: macros/numer.sci, line: 23
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+
+#
+# File: macros/detr.sci, line: 17
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#
+# File: macros/factors.sci, line: 22
+# File: macros/polfact.sci, line: 25
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+
+#
+# File: macros/factors.sci, line: 27
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+
+#
+# File: macros/factors.sci, line: 41
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+
+#
+# File: macros/factors.sci, line: 53
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+
+#
+# File: macros/gcd.sci, line: 18
+# File: macros/gcd.sci, line: 23
+# File: macros/lcm.sci, line: 18
+# File: macros/lcm.sci, line: 23
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#
+# File: macros/hermit.sci, line: 18
+# File: macros/htrianr.sci, line: 20
+# File: macros/polfact.sci, line: 22
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+
+#
+# File: macros/horner.sci, line: 29
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#
+# File: macros/horner.sci, line: 117
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr ""
+
+#
+# File: macros/hrmt.sci, line: 18
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+
+#
+# File: macros/inv_coeff.sci, line: 24
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr ""
+
+#
+# File: macros/invr.sci, line: 56
+# File: macros/invr.sci, line: 88
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+
+#
+# File: macros/lcmdiag.sci, line: 19
+#, c-format
+msgid "%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#
+# File: macros/lcmdiag.sci, line: 30
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#
+# File: macros/lcmdiag.sci, line: 46
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#
+# File: macros/pol2str.sci, line: 12
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+
+#
+# File: macros/polfact.sci, line: 29
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr ""
diff --git a/modules/polynomials/locales/pt_BR.po b/modules/polynomials/locales/pt_BR.po
new file mode 100755
index 000000000..c92e6d35e
--- /dev/null
+++ b/modules/polynomials/locales/pt_BR.po
@@ -0,0 +1,129 @@
+# Brazilian Portuguese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-01-06 15:25+0000\n"
+"Last-Translator: RodolfoRG <rodolforg@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: pt_BR\n"
+
+msgid "Polynomials"
+msgstr "Polinômios"
+
+msgid "Introduction"
+msgstr "Introdução"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se uma "
+"matriz quadrada.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se uma matriz "
+"de números reais, de polinômios ou frações racionais.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um "
+"polinômio.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se uma "
+"fração racional.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um "
+"sistema de única entrada e única saída.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um sistema "
+"dinâmico linear ou uma matriz de polinômios.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada: esperava-se uma matriz de "
+"polinômios.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Quantidade incorreta de argumentos de entrada: esperava-se %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: Tipo inesperado para o argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: Tamanho incorreto para o argumento de entrada #%d: esperava-se um vetor "
+"linha.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: Os argumentos de entrada #%d e #%d estão incompatíveis\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: Valor incorreto para o argumento de entrada #%d: deve pertencer ao "
+"conjunto {%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um "
+"polinômio.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: O argumento de entrada #%d deve ser um número real.\n"
diff --git a/modules/polynomials/locales/ru_RU.po b/modules/polynomials/locales/ru_RU.po
new file mode 100755
index 000000000..b9aefa007
--- /dev/null
+++ b/modules/polynomials/locales/ru_RU.po
@@ -0,0 +1,123 @@
+# Russian translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-09-17 15:59+0000\n"
+"Last-Translator: Stanislav V. Kroter <krotersv@gmail.com>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: ru\n"
+
+msgid "Polynomials"
+msgstr "Полиномы"
+
+msgid "Introduction"
+msgstr "Введение"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: Ðеверный размер входного параметра â„–%d: ожидалаÑÑŒ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: Ðеверный тип входного параметра â„–%d: ожидалоÑÑŒ чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой, "
+"полином или маÑÑив рациональных дробей.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: Ðеверное количеÑтво входных аргументов: ожидалоÑÑŒ %d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr "%s: Ðеверный размер входного параметра â„–%d: ожидалÑÑ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: Ðеверный размер входного параметра â„–%d: ожидалаÑÑŒ Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ñ€Ð¾Ð±ÑŒ.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: Ðеверный размер входного параметра â„–%d: ожидалаÑÑŒ ÑиÑтема Ñ Ð¾Ð´Ð½Ð¸Ð¼ входом "
+"и одним выходом.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: Ðеверный тип входного параметра â„–%d: ожидалаÑÑŒ Ð»Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑÐºÐ°Ñ "
+"ÑиÑтема или маÑÑив полиномов.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+"%s: Ðеверный тип аргумента â„–%d: ожидалÑÑ Ð¼Ð°ÑÑив целых чиÑел или полином.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr "%s: Ðеверный тип входного параметра: ожидалÑÑ Ð¼Ð°ÑÑив полиномов.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Ðеверное количеÑтво входных параметров: ожидалоÑÑŒ %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: Ðеверный тип входного параметра â„–%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: Ðеверный размер входного параметра â„–%d: ожидалÑÑ Ð²ÐµÐºÑ‚Ð¾Ñ€-Ñтрока.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: неÑовмеÑтимые входные параметры %d и %d\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: Ðеверное значение входного параметра â„–%d: должно быть из множеÑтва "
+"{%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+"%s: Ðеверный тип аргумента â„–%d: ожидалаÑÑŒ вещеÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð° полиномов.\n"
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr "%s: Ðеверный тип аргумента â„–%d: ожидалоÑÑŒ Ñтроковое значение.\n"
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr "%s: Ðеверное значение аргумента â„–%d: ожидалоÑÑŒ %s или %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s: Ðеверный тип входного аргумента â„–%d: ожидалÑÑ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼ (polynomial).\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: Входной параметр â„–%d должен быть вещеÑтвенным чиÑлом.\n"
diff --git a/modules/polynomials/locales/uk_UA.po b/modules/polynomials/locales/uk_UA.po
new file mode 100755
index 000000000..6ac199ad9
--- /dev/null
+++ b/modules/polynomials/locales/uk_UA.po
@@ -0,0 +1,133 @@
+# Ukrainian translation for scilab
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the scilab package.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+# Yuri Chornoivan <yurchor@gmail.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-09-15 06:56+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
+"Language-Team: Ukrainian <translation@linux.org.ua>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: uk\n"
+
+msgid "Polynomials"
+msgstr "Поліноми"
+
+msgid "Introduction"
+msgstr "Ð’Ñтуп"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr ""
+"%s: помилкова розмірніÑÑ‚ÑŒ вхідного параметра â„–%d: Ñлід викориÑтовувати "
+"квадратну матрицю.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра â„–%d: Ñлід викориÑтовувати чиÑло з "
+"рухомою комою, поліном або маÑив з раціональних дробів.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr "%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: мало бути %d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr ""
+"%s: помилкова розмірніÑÑ‚ÑŒ вхідного параметра â„–%d: Ñлід викориÑтовувати "
+"поліном.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr ""
+"%s: помилкова розмірніÑÑ‚ÑŒ тип вхідного параметра â„–%d: Ñлід викориÑтовувати "
+"раціональний дріб.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr ""
+"%s: помилкова розмірніÑÑ‚ÑŒ вхідного параметра â„–%d: Ñлід викориÑтовувати "
+"ÑиÑтему з одним входом Ñ– одним виходом.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра â„–%d: Ñлід викориÑтовувати лінійну "
+"динамічну ÑиÑтему або маÑив поліномів.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+"%s: помилковий тип параметра â„–%d: мало бути викориÑтано маÑив або поліном.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра: Ñлід викориÑтовувати маÑив "
+"поліномів.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: мало бути %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: неочікуваний тип вхідного параметра №%d.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr ""
+"%s: помилковий розмір вхідного параметра â„–%d: Ñлід викориÑтовувати вектор-"
+"Ñ€Ñдок.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: вхідні параметри %d Ñ– %d неÑуміÑні\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr ""
+"%s: помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ параметра â„–%d: Ñлід викориÑтовувати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
+"з набору {%s}.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+"%s: помилковий тип параметра â„–%d: мало бути викориÑтано тип матриці з "
+"поліномів з дійÑними коефіцієнтами.\n"
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr "%s: помилковий тип параметра â„–%d: мало бути викориÑтано Ñ€Ñдок.\n"
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+"%s: помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° â„–%d: мало бути викориÑтано %s або %s.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра â„–%d: Ñлід викориÑтовувати поліном.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: вхідний параметр â„–%d має бути дійÑним чиÑлом.\n"
diff --git a/modules/polynomials/locales/zh_CN.po b/modules/polynomials/locales/zh_CN.po
new file mode 100755
index 000000000..d845e306b
--- /dev/null
+++ b/modules/polynomials/locales/zh_CN.po
@@ -0,0 +1,109 @@
+# Simplified Chinese translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-03-04 07:45+0000\n"
+"Last-Translator: Wesh <Unknown>\n"
+"Language-Team: Simplified Chinese <zh_CN@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: \n"
+
+msgid "Polynomials"
+msgstr "多项å¼"
+
+msgid "Introduction"
+msgstr "入门"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr "%s:输入å‚æ•°#%d的大å°é”™è¯¯ï¼šåº”该为一个方阵。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr "%s:输入å‚æ•°#%d的类型错误:应该为一个浮点数ã€å¤šé¡¹å¼æˆ–者有ç†åˆ†æ•°æ•°ç»„。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr "%s:输入å‚æ•°#%d的大å°é”™è¯¯ï¼šåº”该为一个多项å¼ã€‚\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr "%s:输入å‚æ•°#%d的大å°é”™è¯¯ï¼šåº”该为一个有ç†åˆ†æ•°ã€‚\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr "%s:输入å‚æ•°#%d的大å°é”™è¯¯ï¼šåº”该为一个å•è¾“å…¥ã€å•è¾“出系统。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr "%s:输入å‚æ•°#%d的类型错误:应该为线性动æ€ç³»ç»Ÿæˆ–多项å¼æ•°ç»„。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr "%s:输入å‚数的类型错误:应该为多项å¼æ•°ç»„。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s:输入å‚数的数目错误:应该为%d。\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s:输入å‚æ•°#%d的类型错误。\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr "%s:输入å‚æ•°#%d的大å°é”™è¯¯ï¼šåº”该为一个行å‘é‡ã€‚\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s:输入å‚æ•°%då’Œ%dä¸å…¼å®¹\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr "%s:输入å‚æ•°#%d的值错误:必须在集åˆ{%s}中。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr "%s:第%d个输入å‚数的类型错误:应该为多项å¼ã€‚\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s:输入å‚æ•°#%d必须为实数。\n"
diff --git a/modules/polynomials/locales/zh_TW.po b/modules/polynomials/locales/zh_TW.po
new file mode 100755
index 000000000..e2bcb73e7
--- /dev/null
+++ b/modules/polynomials/locales/zh_TW.po
@@ -0,0 +1,109 @@
+# Traditional Chinese translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2011-12-13 07:26+0000\n"
+"Last-Translator: TzuYuan Lin <Unknown>\n"
+"Language-Team: Traditional Chinese <zh_TW@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: \n"
+
+msgid "Polynomials"
+msgstr "多項å¼"
+
+msgid "Introduction"
+msgstr "簡介"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A square matrix expected.\n"
+msgstr "%s: 第 %d 個輸入åƒæ•¸é•·åº¦éŒ¯èª¤: 應為一方陣.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: A floating point number or polynomial "
+"or rational fraction array expected.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸åž‹æ…‹éŒ¯èª¤: 應為一實數, 多項å¼æˆ–有ç†åˆ†å¼é™£åˆ—.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument: %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A polynomial expected.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸é•·åº¦éŒ¯èª¤: 應為一多項å¼.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A rational fraction expected.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸é•·åº¦éŒ¯èª¤: 應為一有ç†åˆ†å¼é™£åˆ—.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong size for input argument #%d: A single input, single output system "
+"expected.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸é•·åº¦éŒ¯èª¤: 應為一 SISO 系統.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: Linear dynamical system or polynomial "
+"array expected.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸åž‹æ…‹éŒ¯èª¤: 應為一 線性動態系統或多項å¼é™£åˆ—.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument: Polynomial array expected.\n"
+msgstr "%s: 輸入åƒæ•¸åž‹æ…‹éŒ¯èª¤: 應為一多項å¼é™£åˆ—.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: 輸入åƒæ•¸æ•¸ç›®éŒ¯èª¤:應為 %d.\n"
+
+#, c-format
+msgid "%s: Unexpected type for input argument #%d.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸ä¹‹åž‹æ…‹éŒ¯èª¤.\n"
+
+#, c-format
+msgid "%s: Wrong size for input argument #%d: A row vector expected.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸é•·åº¦éŒ¯èª¤: 應為一行å‘é‡.\n"
+
+#, c-format
+msgid "%s: incompatible input arguments %d and %d\n"
+msgstr "%s: 第 %d åŠ ç¬¬ %d 輸入åƒæ•¸ä¸ç›¸å®¹.\n"
+
+#, c-format
+msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"
+msgstr "%s: 第 %d 個輸入åƒæ•¸æ•¸å€¼éŒ¯èª¤: æ‡‰åœ¨é›†åˆ {%s} 之內.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for argument #%d: String expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong value for argument #%d: %s or %s expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: Polynomial expected.\n"
+msgstr "%s: 第 #%d 的輸入åƒæ•¸çš„資料型態錯誤: 應該是一個多項å¼.\n"
+
+#, c-format
+msgid "%s: Input argument #%d must be real.\n"
+msgstr "%s: 第 %d 輸入åƒæ•¸æ‡‰ç‚ºå¯¦æ•¸.\n"
diff --git a/modules/polynomials/macros/buildmacros.bat b/modules/polynomials/macros/buildmacros.bat
new file mode 100755
index 000000000..64bdd6d01
--- /dev/null
+++ b/modules/polynomials/macros/buildmacros.bat
@@ -0,0 +1,11 @@
+rem Scilab ( http://mwww.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) ????-2008 - INRIA - Allan CORNET
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+@..\..\..\bin\scilex -nwni -ns -e exec('buildmacros.sce');quit; \ No newline at end of file
diff --git a/modules/polynomials/macros/buildmacros.sce b/modules/polynomials/macros/buildmacros.sce
new file mode 100755
index 000000000..3b3d3c72e
--- /dev/null
+++ b/modules/polynomials/macros/buildmacros.sce
@@ -0,0 +1,17 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Allan CORNET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+//------------------------------------
+if (isdef("genlib") == %f) then
+ exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce");
+end
+//------------------------------------
+genlib("polynomialslib","SCI/modules/polynomials/macros",%f,%t);
+//------------------------------------
diff --git a/modules/polynomials/macros/chepol.bin b/modules/polynomials/macros/chepol.bin
new file mode 100755
index 000000000..7c573d9f2
--- /dev/null
+++ b/modules/polynomials/macros/chepol.bin
Binary files differ
diff --git a/modules/polynomials/macros/chepol.sci b/modules/polynomials/macros/chepol.sci
new file mode 100755
index 000000000..522170482
--- /dev/null
+++ b/modules/polynomials/macros/chepol.sci
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA - F.D
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function Tn=chepol(n,var)
+ //Chebychev polynomial
+ // n :Polynomial order
+ // var :Polynomial variable (character string)
+ // Tn :Polynomial in var
+ //
+ //!
+ if n==0 then
+ Tn=poly(1,var,"coeff"),
+ elseif n==1 then
+ Tn=poly(0,var);
+ else
+ T0=poly(1,var,"coeff");
+ T1=poly(0,var)
+ for k=2:n
+ Tn=2*poly(0,var)*T1-T0
+ [T1,T0]=(Tn,T1);
+ end
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/cleanmacros.bat b/modules/polynomials/macros/cleanmacros.bat
new file mode 100755
index 000000000..6294097b5
--- /dev/null
+++ b/modules/polynomials/macros/cleanmacros.bat
@@ -0,0 +1,13 @@
+rem Scilab ( http://mwww.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) ????-2008 - INRIA - Allan CORNET
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+@del *.bin 2>NUL
+@del lib 2>NUL
+@del names 2>NUL \ No newline at end of file
diff --git a/modules/polynomials/macros/cmndred.bin b/modules/polynomials/macros/cmndred.bin
new file mode 100755
index 000000000..84f8da2f8
--- /dev/null
+++ b/modules/polynomials/macros/cmndred.bin
Binary files differ
diff --git a/modules/polynomials/macros/cmndred.sci b/modules/polynomials/macros/cmndred.sci
new file mode 100755
index 000000000..ba80d9f82
--- /dev/null
+++ b/modules/polynomials/macros/cmndred.sci
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [n,d]=cmndred(num,den)
+ //Syntax: [num,den]=cmndred(num,den)
+ //
+ //Given the transfert matrix defined by num./den, cmndred computes
+ //polynomial matrix n and a common denominator d such that
+ //n/d=num./den
+ //!
+ [m1,n1]=size(num)
+ d=1;for dk=matrix(den,1,m1*n1),d=lcm([d,dk]),end
+ for l=1:m1
+ for k=1:n1
+ n(l,k)=num(l,k)*pdiv(d,den(l,k));
+ end;
+ end;
+endfunction
diff --git a/modules/polynomials/macros/coffg.bin b/modules/polynomials/macros/coffg.bin
new file mode 100755
index 000000000..c33255677
--- /dev/null
+++ b/modules/polynomials/macros/coffg.bin
Binary files differ
diff --git a/modules/polynomials/macros/coffg.sci b/modules/polynomials/macros/coffg.sci
new file mode 100755
index 000000000..edba924a7
--- /dev/null
+++ b/modules/polynomials/macros/coffg.sci
@@ -0,0 +1,49 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA - Francois DELBECQUE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [Ns,d]=coffg(Fs)
+ // [Ns,d]=coffg(Fs) computes Fs^-1 where Fs is a polynomial
+ // or rational matrix by co-factors method.
+ // d = common denominator; Ns = numerator (matrix polynomial)
+ // Fs inverse = Ns/d.
+ // (Be patient...results are generally reliable)
+ // See also det, detr, invr, penlaur, glever, leverrier
+ //!
+ //
+ if or(typeof(Fs)==["polynomial" "constant"]) then
+ [n,np]=size(Fs);
+ if n<>np then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A square matrix expected.\n"),"coffg",1))
+ end
+ d=det(Fs) // common denominator
+ n1=n;
+ for kk=1:n1,for l=1:n1,
+ signe=(-1)^(kk+l);
+ col=[1:kk-1,kk+1:n1];row=[1:l-1,l+1:n1];
+ Ns(kk,l)=-signe*det(Fs(row,col))
+ end;end
+ Ns=-Ns;
+ elseif typeof(Fs)=="rational" then
+ [n,np]=size(Fs);
+ if n<>np then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A square matrix expected.\n"),"coffg",1))
+ end
+ d=det(Fs) // common denominator
+ n1=n;
+ for kk=1:n1,for l=1:n1,
+ signe=(-1)^(kk+l);
+ col=[1:kk-1,kk+1:n1];row=[1:l-1,l+1:n1];
+ Ns(kk,l)=-signe*det(Fs(row,col))
+ end;end
+ Ns=-Ns;
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"detr",1))
+ end
+endfunction
diff --git a/modules/polynomials/macros/colcompr.bin b/modules/polynomials/macros/colcompr.bin
new file mode 100755
index 000000000..4af35776e
--- /dev/null
+++ b/modules/polynomials/macros/colcompr.bin
Binary files differ
diff --git a/modules/polynomials/macros/colcompr.sci b/modules/polynomials/macros/colcompr.sci
new file mode 100755
index 000000000..4a67d7adf
--- /dev/null
+++ b/modules/polynomials/macros/colcompr.sci
@@ -0,0 +1,22 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [Y,rk,Ac]=colcompr(A);
+ //[Y,rk,Ac]=colcompr(A);
+ //column compression of polynomial matrix A
+ //(left compression)
+ //Y = right unimodular base
+ //rk = normal rank of A
+ //Ac = A*Y
+ //see rowcompr
+ //!
+ [m,n]=size(A);
+ [Ac,Y,rk]=htrianr(A);
+endfunction
diff --git a/modules/polynomials/macros/denom.bin b/modules/polynomials/macros/denom.bin
new file mode 100755
index 000000000..277b04611
--- /dev/null
+++ b/modules/polynomials/macros/denom.bin
Binary files differ
diff --git a/modules/polynomials/macros/denom.sci b/modules/polynomials/macros/denom.sci
new file mode 100755
index 000000000..856b5be14
--- /dev/null
+++ b/modules/polynomials/macros/denom.sci
@@ -0,0 +1,29 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// ...
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function den=denom(r)
+ //returns the denominator of a rational matrix
+ //%Syntax: den=denom(r)
+ //with
+ //r: rational function matrix (may be polynomial or scalar matrix)
+ //den: polynomial matrix
+ //!
+ select typeof(r)
+ case "constant" then
+ den=ones(r);
+ case "polynomial" then
+ den=ones(r);
+ case "rational" then
+ den=r.den
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"denom",1))
+ end
+endfunction
diff --git a/modules/polynomials/macros/derivat.bin b/modules/polynomials/macros/derivat.bin
new file mode 100755
index 000000000..caa4e5f8c
--- /dev/null
+++ b/modules/polynomials/macros/derivat.bin
Binary files differ
diff --git a/modules/polynomials/macros/derivat.sci b/modules/polynomials/macros/derivat.sci
new file mode 100755
index 000000000..56ca58a66
--- /dev/null
+++ b/modules/polynomials/macros/derivat.sci
@@ -0,0 +1,63 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [p] = derivat(p)
+ //pd=derivat(p) computes the derivative of the polynomial or rational
+ //function marix relative to the dummy variable
+ //
+
+ select typeof(p)
+
+ case "constant" then
+ p = 0*p; // includes case p == []
+
+ case "polynomial" then
+ var = varn(p); // dummy variable
+ [m,n]=size(p);
+ deg = degree(p);
+ degmax = max(deg);
+
+ if (degmax < n*m)
+ x = poly(0, var);
+ pd = zeros(p) * x;
+ for i = 1:degmax
+ pd = pd + coeff(p,i) * i * x^(i-1);
+ end
+ p = pd;
+ else
+ for i=1:m
+ for j=1:n
+ pij=p(i,j);
+ nij=deg(i,j);
+ if (nij==0) then
+ p(i,j)=0;
+ else
+ pij=coeff(pij).*(0:nij);
+ p(i,j)=poly(pij(2:nij+1),var,"c");
+ end
+ end
+ end
+ end
+
+ case "rational" then
+ num = p.num;
+ den = p.den;
+
+ num = derivat(num) .* den - num .* derivat(den);
+ den = den.^2;
+
+ p.num = num;
+ p.den = den;
+
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"derivat",1))
+
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/determ.bin b/modules/polynomials/macros/determ.bin
new file mode 100755
index 000000000..e2e663d4b
--- /dev/null
+++ b/modules/polynomials/macros/determ.bin
Binary files differ
diff --git a/modules/polynomials/macros/determ.sci b/modules/polynomials/macros/determ.sci
new file mode 100755
index 000000000..efa7a90ca
--- /dev/null
+++ b/modules/polynomials/macros/determ.sci
@@ -0,0 +1,106 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA - Francois DELBECQUE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function res=determ(W,k)
+
+ // determinant of a polynomial or rational matrix by FFT
+ // W=square polynomial matrix
+ // k=``predicted'' degree of the determinant of W i.e. k is
+ // an integer larger or equal to the actual degree of W.
+ // Method: evaluate the determinant of W for the Fourier frequencies
+ // and apply inverse fft to the coefficients of the determinant.
+ // See also detr
+
+ if and(typeof(W)<>["rational","polynomial","constant"]) then
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"determ",1))
+ end
+ if size(W,1)<>size(W,2) then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A square matrix expected.\n"),"determ",1))
+ end
+
+ if W==[] then
+ res=1;
+ return;
+ end;
+
+
+ n1=size(W,1)
+
+ // small cases
+
+ if n1==1 then
+ res=W;
+ return;
+ elseif n1==2 then
+ res = W(1,1)*W(2,2) - W(1,2)*W(2,1);
+ return;
+ end
+
+ //upper bound of the determinant degree
+
+ maj = n1*max(degree(W))+1;
+
+ if argn(2)==1 then
+ k=1;
+ while k < maj,
+ k=2*k;
+ end
+ end
+
+ // Default Values
+ e=0*ones(k,1);
+ e(2)=1;
+
+ // Paramètres de clean
+ epsa=1.d-10;
+ epsr=0;//no relative rounding
+
+ if k==1 then
+ ksi=1;
+ else
+ ksi=fft(e,-1);
+ end
+
+ fi=[];
+
+ if ~isreal(W,0) then
+ // Cas Complexe
+ for kk=1:k,
+ fi=[fi,det(horner(W,ksi(kk)))];
+ end
+ Temp0 = poly(fft(fi,1),varn(W),"c");
+ Temp1 = clean(real(Temp0),epsa,epsr)+%i*clean(imag(Temp0),epsa,epsr);
+
+ else
+ // Cas Réel
+ for kk=1:k,fi=[fi,det(freq(W,ones(W),ksi(kk)))];end
+ Temp1 = clean(real(poly(fft(fi,1),varn(W),"c")),epsa,epsr);
+ end
+
+ if argn(2)==1 then
+
+ // Cas où k est défini dans les paramètres d'entrée.
+ // On va maintenant annuler tous les coefficients
+ // dont le degré est supérieur à maj
+
+ Temp2 = coeff(Temp1);
+ for i=1:maj,
+ Temp2(i) = 0;
+ end
+ res = Temp1 - poly(Temp2,varn(W),"coeff");
+ return;
+
+ else
+ // Cas où k n'est pas défini dans les paramètres d'entrée
+ res = Temp1;
+ return;
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/detr.bin b/modules/polynomials/macros/detr.bin
new file mode 100755
index 000000000..94005dbc0
--- /dev/null
+++ b/modules/polynomials/macros/detr.bin
Binary files differ
diff --git a/modules/polynomials/macros/detr.sci b/modules/polynomials/macros/detr.sci
new file mode 100755
index 000000000..da7058c11
--- /dev/null
+++ b/modules/polynomials/macros/detr.sci
@@ -0,0 +1,37 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [d]=detr(h)
+ //[d]=detr(h) computes the determinant of a polynomial or
+ //rational function matrix h using Leverrier's method
+ //!
+ rhs = argn(2);
+ if rhs <> 1 then
+ error(msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "detr", 1));
+ end
+
+ tof=typeof(h)
+ if or(tof==["polynomial","constant", "rational"]) then
+ [m,n]=size(h);
+ if m<>n then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A square matrix expected.\n"),"detr",1))
+ end
+ f=eye(n,n);
+ for k=1:n-1,
+ b=h*f,
+ d=-sum(diag(b))/k
+ f=b+eye(n,n)*d,
+ end
+ d=-sum(diag(h*f))/n;
+ if 2*int(n/2)<>n then d=-d;end
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"detr",1))
+ end
+endfunction
diff --git a/modules/polynomials/macros/diophant.bin b/modules/polynomials/macros/diophant.bin
new file mode 100755
index 000000000..a4c1fbd96
--- /dev/null
+++ b/modules/polynomials/macros/diophant.bin
Binary files differ
diff --git a/modules/polynomials/macros/diophant.sci b/modules/polynomials/macros/diophant.sci
new file mode 100755
index 000000000..d052415bc
--- /dev/null
+++ b/modules/polynomials/macros/diophant.sci
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [x,err]=diophant(p1p2,b)
+ //solves diophantine equation p1*x1+p2*x2=b
+ //with p1p2 a polynomial vector [p1 p2]
+ //b polynomial
+ //x polynomial vector [x1;x2]
+ //if the equation is uncompatible err=||p1*x1+p2*x2-b||/||b||
+ //else err=0
+ //!
+ p1=p1p2(1);p2=p1p2(2)
+ [x,u]=bezout(p1,p2)
+ p1=u(2,2);p2=u(1,2)//
+ if degree(x)==0 then
+ x=b*u(:,1)
+ err=0
+ else
+ [r,q]=pdiv(b,x)
+ err=norm(coeff(b-x*q),2)/norm(coeff(b),2)
+ x=q*u(:,1)
+ end
+endfunction
diff --git a/modules/polynomials/macros/factors.bin b/modules/polynomials/macros/factors.bin
new file mode 100755
index 000000000..8974f7871
--- /dev/null
+++ b/modules/polynomials/macros/factors.bin
Binary files differ
diff --git a/modules/polynomials/macros/factors.sci b/modules/polynomials/macros/factors.sci
new file mode 100755
index 000000000..76447ba45
--- /dev/null
+++ b/modules/polynomials/macros/factors.sci
@@ -0,0 +1,55 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [lnum,lden,g]=factors(P,flag)
+ //Given a polynomial or rational P, returns in list lnum polynomials of
+ //degree 1 or two which are the factors of numerators of P.
+ // and in lden the factors of denominator of P. g is the gain.
+ // if flag=='c' unstable roots are reflected vs the imaginary axis
+ // if flag=='d' unstable roots are reflected vs unit circle
+ [LHS,RHS]=argn(0);
+ if RHS==1 then flag=[];end
+ select typeof(P)
+ case "polynomial" then
+ if size(P,"*")<>1 then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A polynomial expected.\n"),"factors",1))
+ end
+ [lnum,lden]=pfactors(P,flag);
+ case "rational" then
+ if size(P,"*")<>1 then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A rational fraction expected.\n"),"factors",1))
+ end
+ [lnum,gn]=pfactors(P.num,flag);
+ [lden,gd]=pfactors(P.den,flag);
+ g=gn/gd;
+ if LHS==1 then
+ num=g;
+ for k=lnum;num=num.*k;end
+ den=1;
+ for k=lden;den=den.*k;end
+ lnum=syslin(P.dt,num,den);return
+ end
+ case "state-space" then
+ if size(P,"*")<>1 then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A single input, single output system expected.\n"),"factors",1))
+ end
+
+ P=ss2tf(P)
+ [lnum,gn]=pfactors(P.num,flag);
+ [lden,gd]=pfactors(P.den,flag);g=gn/gd;
+ if LHS==1 then
+ num=g;for k=lnum;num=num.*k;end
+ den=1;for k=lden;den=den.*k;end
+ lnum=syslin(P.dt,num,den);return
+ end
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: Linear dynamical system or polynomial array expected.\n" ),"factors",1))
+ end
+endfunction
diff --git a/modules/polynomials/macros/gcd.bin b/modules/polynomials/macros/gcd.bin
new file mode 100755
index 000000000..66145fe9b
--- /dev/null
+++ b/modules/polynomials/macros/gcd.bin
Binary files differ
diff --git a/modules/polynomials/macros/gcd.sci b/modules/polynomials/macros/gcd.sci
new file mode 100755
index 000000000..ee9f47a80
--- /dev/null
+++ b/modules/polynomials/macros/gcd.sci
@@ -0,0 +1,58 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [x, uu] = gcd(p)
+ //Given a polynomial vector p, [pgcd,u]=gcd(p) computes the gcd
+ //of components and a unimodular matrix (with polynomial inverse) u,
+ //with minimal degree such that [p1 p2]*u=[0 ... 0 pgcd]
+ //!
+
+ if type(p)<>1 & type(p)<>2 & type(p)<>8 then
+ error(msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "gcd", 1));
+ end
+
+ if type(p)==1 then
+ if floor(p)<>p then
+ error(msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "gcd", 1));
+ else
+ p = iconvert(p,4);
+ end
+ end
+
+ [lhs,rhs]=argn(0)
+ if type(p)==8 then
+ if lhs==2 then [x,uu]=%i_gcd(p), else x=%i_gcd(p), end
+ return
+ end
+
+ [m, n] = size(p)
+ mn = m*n
+ p = matrix(p, 1, mn)
+ x = p(1);
+ uu = 1
+ for l = 2:mn,
+ [x, u] = bezout(x, p(l)),
+ if lhs==2 then
+ uu = [uu(:, 1:l-2) uu(:, l-1)*u(1, [2 1])]; uu(l, l-1:l) = u(2, [2 1]);
+ end
+ end,
+ if lhs==1 then return end
+ for l = mn:-1:2
+ pivot = uu(l, l-1);
+ for k = l:mn
+ [r, q] = pdiv(uu(l, k), pivot)
+ if coeff(q)<>0 then
+ uu(1:l-1, k) = uu(1:l-1, k)-q*uu(1:l-1, l-1)
+ uu(l, k) = r;
+ end
+ end
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/hermit.bin b/modules/polynomials/macros/hermit.bin
new file mode 100755
index 000000000..23a29226c
--- /dev/null
+++ b/modules/polynomials/macros/hermit.bin
Binary files differ
diff --git a/modules/polynomials/macros/hermit.sci b/modules/polynomials/macros/hermit.sci
new file mode 100755
index 000000000..150f23abe
--- /dev/null
+++ b/modules/polynomials/macros/hermit.sci
@@ -0,0 +1,39 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [a,u]=hermit(a)
+ //[A,U]=hermit(A)
+ //Hermite form: U is an unimodular matrix such that A*U is
+ //triangular. The output value of A is A*U.
+ //Warning: Experimental version
+ //!
+ if type(a)>2 then
+ error(msprintf(gettext("%s: Wrong type for input argument: Polynomial array expected.\n"),"hermit"))
+ end
+ [m,n]=size(a);
+ if m<>n then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A square matrix expected.\n" ),"hermit",1))
+ end
+ [a,u]=htrianr(a)
+ for l=n-1:-1:1
+ dl(l:n)=degree(a(l,l:n));
+ for k=l+1:n
+ if dl(k)>=dl(l) then
+ all=a(l,l);
+ if norm(coeff(all),1) > 1.d-10 then
+ [r,q]=pdiv(a(l,k),a(l,l))
+ if l>1 then a(1:l-1,k)=a(1:l-1,k)-a(1:l-1,l)*q;end
+ a(l,k)=r
+ u(:,k)=u(:,k)-u(:,l)*q
+ end
+ end
+ end
+ end
+endfunction
diff --git a/modules/polynomials/macros/horner.bin b/modules/polynomials/macros/horner.bin
new file mode 100755
index 000000000..a1c927b64
--- /dev/null
+++ b/modules/polynomials/macros/horner.bin
Binary files differ
diff --git a/modules/polynomials/macros/horner.sci b/modules/polynomials/macros/horner.sci
new file mode 100755
index 000000000..506ada334
--- /dev/null
+++ b/modules/polynomials/macros/horner.sci
@@ -0,0 +1,120 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [r] = horner(p,x)
+ // horner(P,x) evaluates the polynomial or rational matrix P = P(s)
+ // when the variable s of the polynomial is replaced by x
+ // x can be a scalar or polynomial or rational matrix.
+ // Example: bilinear transform; Assume P = P(s) is a rational matrix
+ // then the rational matrix P((1+s)/(1-s)) is obtained by
+ // horner(P,(1+s)/(1-s));
+ // To evaluate a rational matrix at given frequencies use
+ // preferably the freq primitive ;
+ // See also: freq, repfreq.
+ // Improvements:
+ // Special cases aded to improve efficiency:
+ // - p = row vector, x = column vector
+ // - p = column vector, x = row vector
+ // - x = scalar
+ //!
+ //
+ if (argn(2) <> 2) then
+ error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"horner",2))
+ end
+
+ if (size(x, "*") == 0 | size(p, "*") == 0) then
+ r = []
+ return
+ end
+
+ tp = type(p)
+
+ if (tp <= 2) then
+ // tp <= 2 <=> matrix of reals, complexes or polynomials
+ [m,n] = size(p)
+
+ if (m == -1) then
+ indef=%t, m=1, n=1, p=p+0
+ else
+ indef=%f
+ end
+
+ [mx,nx] = size(x)
+
+ if (m*n == 1) then
+ // special case: p = 1x1 polynomial, x = matrix
+ cp = coeff(p)
+ r = cp($) * ones(x)
+ for (k = degree(p) : -1 : 1)
+ r = r .* x + cp(k)
+ end
+
+ elseif (n*mx == 1)
+ // p = one column, x = one row
+ nd = max(degree(p));
+ r = zeros(p) * x;
+ for (k = nd : -1: 0)
+ c = coeff(p, k);
+ r = r .* (ones(p) * x) + c * ones(x);
+ end
+
+ elseif (m*nx == 1)
+ // p = one row, x = one column
+ nd = max(degree(p));
+ r = x * zeros(p);
+ for (k = nd : -1: 0)
+ c = coeff(p, k);
+ r = r .* (x * ones(p))+ ones(x) * c;
+ end
+
+ elseif (mx*nx == 1)
+ // p = matrix, x = scalar
+ nd = max(degree(p));
+ r = zeros(p);
+ for (k = nd : -1: 0)
+ c = coeff(p, k);
+ r = r * x + c;
+ end
+
+ else
+ // other cases
+ r = []
+ for (l = 1 : m)
+ rk = []
+ for (k = 1 : n)
+ plk = p(l,k)
+ d = degree(plk)
+ rlk = coeff(plk,d) * ones(x); // for the case horner(1,x)
+ for (kk = 1 : d)
+ rlk = rlk .* x + coeff(plk,d-kk)
+ end
+ rk = [rk, rlk]
+ end
+ r = [r; rk]
+ end
+ end
+
+ if (indef) then
+ r = r * eye()
+ end
+
+ elseif (typeof(p) == "rational") then
+ r = horner(p(2),x) ./ horner(p(3),x)
+
+ elseif (tp == 129) then
+ // implicit polynomial for indexing
+ r = horner(p(:),x)
+ r = r(1) : r(2) : r(3)
+
+ else
+ error(msprintf(gettext("%s: Unexpected type for input argument #%d.\n"),"horner",1))
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/hrmt.bin b/modules/polynomials/macros/hrmt.bin
new file mode 100755
index 000000000..439eab760
--- /dev/null
+++ b/modules/polynomials/macros/hrmt.bin
Binary files differ
diff --git a/modules/polynomials/macros/hrmt.sci b/modules/polynomials/macros/hrmt.sci
new file mode 100755
index 000000000..9cff1de0c
--- /dev/null
+++ b/modules/polynomials/macros/hrmt.sci
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [pg,U]=hrmt(v)
+ // Syntax: [pg,U]=hrmt(v)
+ // Finds unimodular U and pg = gcd of a row of polynomials v
+ // such that v*U = [pg,0]
+ //!
+ [n,m]=size(v)
+ if n>1 then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A row vector expected.\n"),"hrmt",1))
+ end
+ pg=v(1)
+ U=eye(m,m)
+ for k=2:m
+ [pg,uk]=bezout(pg,v(k))
+ U(:,k-1:k)=U(:,k-1:k)*uk(:,[2 1])
+ end
+endfunction
diff --git a/modules/polynomials/macros/htrianr.bin b/modules/polynomials/macros/htrianr.bin
new file mode 100755
index 000000000..ba6b58256
--- /dev/null
+++ b/modules/polynomials/macros/htrianr.bin
Binary files differ
diff --git a/modules/polynomials/macros/htrianr.sci b/modules/polynomials/macros/htrianr.sci
new file mode 100755
index 000000000..422a1d454
--- /dev/null
+++ b/modules/polynomials/macros/htrianr.sci
@@ -0,0 +1,55 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [A,U,rk]=htrianr(A)
+ //[A,U,rk]=htrianr(a)
+ //triangularization of polynomial matrix A. A is [m,n], m<=n.
+ //U=right unimodular basis
+ //the output value of A equals A*U
+ //rk=normal rank of A
+ //Warning: there is an elimination of neglectable terms
+ //!
+ if type(A)>2 then
+ error(msprintf(gettext("%s: Wrong type for input argument: Polynomial array expected.\n"),"htrianr"))
+ end
+ A=clean(A);
+ [m,n]=size(A);U=eye(n,n);
+ l1=n+1;
+ for l=m:-1:max((m-n),1)
+ l1=l1-1;
+ if l1<>0 then
+ Al=A(l,1:l1);
+ if norm(coeff(Al),1) > 1.d-10 then
+ [pg,Ul]=hrmt(Al);
+ Ul=clean(Ul,1.d-10);
+ A(l,1:l1)=[0*ones(1,l1-1) pg];
+ U(:,1:l1)=U(:,1:l1)*Ul;
+ if l>1 then
+ A(1:l-1,1:l1)=A(1:l-1,1:l1)*Ul;
+ end
+ else
+ l1=l1+1
+ end
+ end
+ end
+ U=clean(U,1.d-10);
+ k0=0;k1=0;tol=norm(coeff(A),1);
+ v=[];w=[];
+ for k=1:n
+ if max(abs(coeff(A(:,k)))) <= sqrt(%eps)*tol then
+ k0=k0+1;v=[v,k];
+ else
+ k1=k1+1,w=[w,k];
+ end
+ end
+ ww=[v,w];
+ A=A(:,ww);U=U(:,ww);
+ rk=n-k0;
+endfunction
diff --git a/modules/polynomials/macros/inv_coeff.bin b/modules/polynomials/macros/inv_coeff.bin
new file mode 100755
index 000000000..2455a7546
--- /dev/null
+++ b/modules/polynomials/macros/inv_coeff.bin
Binary files differ
diff --git a/modules/polynomials/macros/inv_coeff.sci b/modules/polynomials/macros/inv_coeff.sci
new file mode 100755
index 000000000..f79a1db93
--- /dev/null
+++ b/modules/polynomials/macros/inv_coeff.sci
@@ -0,0 +1,29 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [P]=inv_coeff(c,d,name)
+ // inverse function of coeff
+ rhs=argn(2);
+ if rhs <= 2 ; name = "x";end
+
+ [n,m]=size(c);
+ if rhs <= 1 ; d = (m/n-1) ; end
+ if d==m-1 then
+ P=[];
+ for l=1:n, P=[P;poly(c(l,:),name,"coeff")];end
+ return,
+ end
+ if modulo(m,d+1) <> 0 then
+ error(msprintf(_("%s: incompatible input arguments %d and %d\n"),"inv_coeff",1,2))
+ end
+ p=poly(0,name);
+ P=p.^(0:d)';
+ P=c*(P.*.eye(m/(d+1),m/(d+1)))
+endfunction
diff --git a/modules/polynomials/macros/invr.bin b/modules/polynomials/macros/invr.bin
new file mode 100755
index 000000000..b26737dc1
--- /dev/null
+++ b/modules/polynomials/macros/invr.bin
Binary files differ
diff --git a/modules/polynomials/macros/invr.sci b/modules/polynomials/macros/invr.sci
new file mode 100755
index 000000000..7df115487
--- /dev/null
+++ b/modules/polynomials/macros/invr.sci
@@ -0,0 +1,94 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [f,d]=invr(h,flag)
+ //if h is a scalar, polynomial or rational fonction matrix, invr
+ //computes h^(-1).
+ //!
+ if argn(2)==1 then
+ flag="C";
+ end
+ lhs=argn(1)
+ select typeof(h)
+ case "constant" then
+ f=inv(h);
+ case "polynomial" then //POLYNOMIAL MATRIX
+ [m,n]=size(h);
+ if m<>n then error(20),end
+ ndeg=max(degree(h));
+ if ndeg==1 then //MATRIX PENCIL
+ E=coeff(h,1);A=-coeff(h,0);
+ if norm(E-eye(E),1) < 100*%eps then
+ // sI -A
+ [num,den]=coff(A,varn(h));f=num/den;
+ else
+ [Bfs,Bis,chis]=glever(E,A,varn(h));
+ f=Bfs/chis - Bis;
+ if lhs==2 then
+ d=lcm(f("den"));
+ f=f*d;f=f("num");
+ end
+ end
+ else // GENERAL POLYNOMIAL MATRIX
+ select flag
+ case "L"
+ f=eye(n,n);
+ for k=1:n-1,
+ b=h*f,
+ d=-sum(diag(b))/k
+ f=b+eye(n,n)*d,
+ end;
+ d=sum(diag(h*f))/n,
+ if degree(d)==0 then d=coeff(d),end,
+ if lhs==1 then f=f/d;end
+ case "C"
+ [f,d]=coffg(h);
+ if degree(d)==0 then d=coeff(d),end
+ if lhs==1 then f=f/d;end
+ else
+ error(msprintf(gettext("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"),..
+ "invr",2,"''C'',''D''"))
+ end;
+ end
+ case "rational" then
+ [m,n]=size(h(2));
+ if m<>n then error(20),end
+ select flag
+ case "L" // Leverrier
+ f=eye(n,n);
+ for k=1:n-1,
+ b=h*f,
+ d=0;for l=1:n,d=d+b(l,l),end,d=-d/k;
+ f=b+eye(n,n)*d,
+ end;
+ b=h*f;d=0;for l=1:n,d=d+b(l,l),end;d=d/n,
+ if lhs==1 then f=f/d;end
+ case "A" // lcm of all denominator entries
+ denh=lcm(h("den"));
+ Num=h*denh;Num=Num("num");
+ [N,d]=coffg(Num);
+ f=N*denh;
+ if lhs==1 then f=f/d;end
+ case "C"// default method by polynomial inverse
+ [Nh,Dh]=lcmdiag(h); //h=Nh*inv(Dh); Dh diagonal;
+ [N,d]=coffg(Nh);
+ f=Dh*N;
+ if lhs==1 then f=f/d;end
+ case "Cof"// cofactors method
+ [f,d]=coffg(h);
+ if lhs==1 then f=f/d;end
+ else
+ error(msprintf(gettext("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"),..
+ "invr",2,"''L'',''A'',''C'',''Cof''"))
+ end;
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"invr",1))
+ end;
+endfunction
diff --git a/modules/polynomials/macros/lcm.bin b/modules/polynomials/macros/lcm.bin
new file mode 100755
index 000000000..c6d7405f9
--- /dev/null
+++ b/modules/polynomials/macros/lcm.bin
Binary files differ
diff --git a/modules/polynomials/macros/lcm.sci b/modules/polynomials/macros/lcm.sci
new file mode 100755
index 000000000..f07900011
--- /dev/null
+++ b/modules/polynomials/macros/lcm.sci
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [p, fact] = lcm(p)
+ //p=lcm(p) computes the lcm of polynomial vector p
+ //[pp,fact]=lcm(p) computes besides the vector fact of factors
+ //such that p.*fact=pp*ones(p)
+ //!
+
+ if type(p)<>1 & type(p)<>2 & type(p)<>8 then
+ error(msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "lcm", 1));
+ end
+
+ if type(p)==1 then
+ if floor(p)<>p then
+ error(msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "lcm", 1));
+ else
+ p = iconvert(p,4);
+ end
+ end
+
+ if type(p)==8 then
+ if argn(1)==2 then [p, fact] = %i_lcm(p), else p = %i_lcm(p), end
+ return
+ end
+
+ [m, n] = size(p),
+ p = matrix(p, m*n, 1),
+ p0 = p(1); fact = 1;
+ for l = 2:m*n,
+ [u, v] = simp(p0, p(l)),
+ p0 = p0*v,
+ fact = [v*fact, u],
+ end,
+ fact = matrix(fact, m, n),
+ p = p0;
+
+endfunction
diff --git a/modules/polynomials/macros/lcmdiag.bin b/modules/polynomials/macros/lcmdiag.bin
new file mode 100755
index 000000000..0a9a822d9
--- /dev/null
+++ b/modules/polynomials/macros/lcmdiag.bin
Binary files differ
diff --git a/modules/polynomials/macros/lcmdiag.sci b/modules/polynomials/macros/lcmdiag.sci
new file mode 100755
index 000000000..28d82ed5a
--- /dev/null
+++ b/modules/polynomials/macros/lcmdiag.sci
@@ -0,0 +1,49 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [N,D]=lcmdiag(H,flag)
+ //returns N and diagonal D
+ //such that:
+ // flag='row' => H=D^(-1)*N and D(k,k)=lcm of kth row of H('den')
+ // flag='col' => H=N*D^(-1) and D(k,k)=lcm of kth col of H('den')
+ // default flag = 'col'
+
+ if (type(H)<>2 & type(H)<>16) then
+ error(msprintf(_("%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"), "lcmdiag", 1));
+ end
+
+ Num = H("num");
+ Den = H("den");
+ [m, n] = size(H);
+ D = []; N = [];
+ [lhs, rhs] = argn(0);
+ if rhs==1 then
+ flag = "col";
+ elseif type(flag)<>10 then
+ error(msprintf(_("%s: Wrong type for argument #%d: String expected.\n"), "lcmdiag", 2));
+ end
+ select flag
+ case "row"
+ for k = 1:m
+ [pgcd, fact] = lcm(Den(k, :)); //H(k,:)=(Num(k,:).*fact)/pgcd
+ D = diag([diag(D); pgcd]);
+ N = [N; Num(k, :).*fact];
+ end
+ case "col"
+ for k = 1:n
+ [pgcd, fact] = lcm(Den(:, k));
+ D = diag([diag(D); pgcd]);
+ N = [N, Num(:, k).*fact];
+ end
+ else
+ error(msprintf(_("%s: Wrong value for argument #%d: %s or %s expected.\n"), "lcmdiag", 2, "row", "col"));
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/lib b/modules/polynomials/macros/lib
new file mode 100755
index 000000000..5d6472147
--- /dev/null
+++ b/modules/polynomials/macros/lib
Binary files differ
diff --git a/modules/polynomials/macros/names b/modules/polynomials/macros/names
new file mode 100755
index 000000000..a6315f673
--- /dev/null
+++ b/modules/polynomials/macros/names
@@ -0,0 +1,28 @@
+chepol
+cmndred
+coffg
+colcompr
+denom
+derivat
+determ
+detr
+diophant
+factors
+gcd
+hermit
+horner
+hrmt
+htrianr
+inv_coeff
+invr
+lcm
+lcmdiag
+numer
+pdiv
+pfactors
+pol2des
+pol2str
+polfact
+rowcompr
+sylm
+systmat
diff --git a/modules/polynomials/macros/numer.bin b/modules/polynomials/macros/numer.bin
new file mode 100755
index 000000000..af0ca3fa6
--- /dev/null
+++ b/modules/polynomials/macros/numer.bin
Binary files differ
diff --git a/modules/polynomials/macros/numer.sci b/modules/polynomials/macros/numer.sci
new file mode 100755
index 000000000..299c1cbe7
--- /dev/null
+++ b/modules/polynomials/macros/numer.sci
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function num=numer(r)
+ //returns the numerator num of a rational function matrix r (r may be
+ //also a scalar or polynomial matrix
+ //!
+ select typeof(r)
+ case "constant" then
+ num=r;
+ case "polynomial" then
+ num=r;
+ case "rational" then
+ num=r.num
+ else
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"),"numer",1))
+ end
+
+endfunction
diff --git a/modules/polynomials/macros/pdiv.bin b/modules/polynomials/macros/pdiv.bin
new file mode 100755
index 000000000..fce62aff6
--- /dev/null
+++ b/modules/polynomials/macros/pdiv.bin
Binary files differ
diff --git a/modules/polynomials/macros/pdiv.sci b/modules/polynomials/macros/pdiv.sci
new file mode 100755
index 000000000..2c95716ec
--- /dev/null
+++ b/modules/polynomials/macros/pdiv.sci
@@ -0,0 +1,42 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [R,Q]=pdiv(P1,P2)
+ // Element wise euclidan division of a polynomial matrix
+ // by a polynomial
+ // This is just a loop for the primitive pppdiv
+ //!
+ [lhs,rhs]=argn(0);
+ [n,m]=size(P1);
+ [n1,m1]=size(P2);
+ // Special case for constant matrices
+ if type(P1)==1&type(P2)==1 then
+ Q=P1./P2;R=0*P1;
+ if lhs==1 then R=Q; end
+ return;
+ end
+ R=[],Q=[]
+ if n1==1 & m1==1 then
+ for l=1:n,
+ for k=1:m,
+ [rlk,qlk]=pppdiv(P1(l,k),P2),R(l,k)=rlk;Q(l,k)=qlk;
+ end;
+ end
+ if lhs==1 then R=Q;end
+
+ return;
+ end
+ for l=1:n,
+ for k=1:m,
+ [rlk,qlk]=pppdiv(P1(l,k),P2(l,k)),R(l,k)=rlk;Q(l,k)=qlk;
+ end;
+ end
+ if lhs==1 then R=Q; end
+endfunction
diff --git a/modules/polynomials/macros/pfactors.bin b/modules/polynomials/macros/pfactors.bin
new file mode 100755
index 000000000..0240ec103
--- /dev/null
+++ b/modules/polynomials/macros/pfactors.bin
Binary files differ
diff --git a/modules/polynomials/macros/pfactors.sci b/modules/polynomials/macros/pfactors.sci
new file mode 100755
index 000000000..a807bd940
--- /dev/null
+++ b/modules/polynomials/macros/pfactors.sci
@@ -0,0 +1,84 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [resn,g]=pfactors(pol,flag)
+ // Given polynomial pol returns in list resn polynomials of
+ // degree 1 or two which are the factors of pol.
+ // One has pol= g times product of entries of resn
+ // if flag=='c' unstable roots are reflected vs the imaginary axis
+ // if flag=='d' unstable roots are reflected vs unit circle
+ w=roots(pol);
+ n=size(w,"*");
+ if n==0 then resn=list();g=coeff(pol);return;end
+ co=coeff(pol);g=co(n+1);
+ resn=list();
+ [LHS,RHS]=argn(0);
+ if RHS==1 then flag=[];end
+ if flag==[] then RHS=1;end
+ if RHS==1 then
+ kk=1;k=1;
+ while %T
+ if abs(imag(w(kk)))<=%eps then
+ resn(k)=poly(w(kk),varn(pol));
+ kk=kk+1;k=k+1;
+ if kk>n then return;end
+ end
+ if abs(imag(w(kk)))>%eps then
+ resn(k)=real(poly([w(kk),w(kk+1)],varn(pol)));
+ kk=kk+2;k=k+1;
+ if kk>n then return;end
+ end
+ end
+ end //RHS=1
+ if RHS==2 then
+ kk=1;k=1;
+ if flag=="c" then
+ while %T
+ if abs(imag(w(kk)))<=%eps then
+ resn(k)=poly(-abs(w(kk)),varn(pol));
+ kk=kk+1;k=k+1;
+ if kk>n then return;end
+ end
+ if abs(imag(w(kk)))>%eps then
+ if real(w(kk))<0 then
+ resn(k)=real(poly([w(kk),w(kk+1)],varn(pol)));
+ else ;
+ resn(k)=real(poly([-w(kk),-w(kk+1)],varn(pol)));
+ end
+ kk=kk+2;k=k+1;
+ if kk>n then return;end
+ end
+ end
+ end //'c'
+ if flag=="d" then
+ while %T
+ wkk=w(kk);
+ if abs(imag(wkk))<=%eps then
+ [themin,which]=min([abs(wkk),1/(abs(wkk))]);
+ if which==2 then g=-g*real(wkk);end
+ resn(k)=poly(sign(real(wkk))*themin,varn(pol));
+ kk=kk+1;k=k+1;
+ if kk>n then return;end
+ end
+ if abs(imag(wkk))>%eps then
+ if abs(wkk)<1 then
+ resn(k)=real(poly([wkk,w(kk+1)],varn(pol)));
+ else ;
+ // g=g*wkk*w(kk+1); w(kk+1)= conj(wkk)
+ g=g*abs(wkk)^2;
+ zp=[wkk,w(kk+1)];resn(k)=real(poly(ones(zp)./zp,varn(pol)));
+ end
+ kk=kk+2;k=k+1;
+ if kk>n then return;end
+ end
+ end
+ end //'d'
+ end //RHS=2
+endfunction
diff --git a/modules/polynomials/macros/pol2des.bin b/modules/polynomials/macros/pol2des.bin
new file mode 100755
index 000000000..7a46e002f
--- /dev/null
+++ b/modules/polynomials/macros/pol2des.bin
Binary files differ
diff --git a/modules/polynomials/macros/pol2des.sci b/modules/polynomials/macros/pol2des.sci
new file mode 100755
index 000000000..699f1af1e
--- /dev/null
+++ b/modules/polynomials/macros/pol2des.sci
@@ -0,0 +1,21 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [N,B,C]=pol2des(Ds)
+ // Given the polynomial matrix Ds= D_0 +D_1 s +D_2 s^2 + ... +D_k s^k,
+ // pol2des returns three matrices N,B,C (with N nilpotent) such that
+ // Ds = C (sN-Eye)^-1 B
+ //!
+ if type(Ds)==1 then Ds=Ds+0*poly(0,"s")*Ds;end
+ dg=max(degree(Ds))+1;
+ [nout,nin]=size(Ds);
+ [Sl]=markp2ss(coeff(Ds),dg,nout,nin);
+ N=Sl(2);B=-Sl(3);C=Sl(4)
+endfunction
diff --git a/modules/polynomials/macros/pol2str.bin b/modules/polynomials/macros/pol2str.bin
new file mode 100755
index 000000000..eeeaadc4d
--- /dev/null
+++ b/modules/polynomials/macros/pol2str.bin
Binary files differ
diff --git a/modules/polynomials/macros/pol2str.sci b/modules/polynomials/macros/pol2str.sci
new file mode 100755
index 000000000..05b47fcd4
--- /dev/null
+++ b/modules/polynomials/macros/pol2str.sci
@@ -0,0 +1,56 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Samuel GOUGEON
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function S = pol2str(p)
+ if type(p) <> 2 & (typeof(p)~="hypermat" | type(p(:))~=2) then
+ msg = _("%s: Wrong type for input argument #%d: Polynomial expected.\n")
+ error(msprintf(msg, "pol2str", 1));
+ end
+ sp = size(p)
+ p = p(:)
+ d = max(degree(p))
+ c = coeff(p)
+ cr = real(c)
+ ci = imag(c)
+ S = stripblanks(string(c))
+ k = find(c==0)
+ S(k) = ""
+ k = find(cr~=0 & ci~=0)
+ k2 = find(k>length(p))
+ S(k(k2)) = "+("+S(k(k2))+")"
+ k = find((cr>0 & ci==0) | (cr==0 & ci>0))
+ S(k) = "+"+S(k)
+ vn = varn(p)
+ clear ci cr k2
+ for j = 2:(d+1)
+ if j==2 then
+ e = vn
+ else
+ e = vn+msprintf("^%d",j-1)
+ end
+ km1 = find(c(:,j)==-1)
+ if km1~=[]
+ S(km1,j) = "-"+e
+ end
+ kp1 = find(c(:,j)==1)
+ if kp1~=[]
+ S(kp1,j) = "+"+e
+ end
+ ko = find(c(:,j)~=-1 & c(:,j)~=0 & c(:,j)~=1)
+ if ko~=[]
+ S(ko,j) = S(ko,j)+"*"+e
+ end
+ end
+ S = strcat(S,"","c")
+ k = find(part(S,1)=="+")
+ S(k) = part(S(k),2:$)
+ k = find(S=="")
+ S(k) = "0"
+ S = matrix(S,sp)
+endfunction
diff --git a/modules/polynomials/macros/polfact.bin b/modules/polynomials/macros/polfact.bin
new file mode 100755
index 000000000..82284998b
--- /dev/null
+++ b/modules/polynomials/macros/polfact.bin
Binary files differ
diff --git a/modules/polynomials/macros/polfact.sci b/modules/polynomials/macros/polfact.sci
new file mode 100755
index 000000000..225c7e852
--- /dev/null
+++ b/modules/polynomials/macros/polfact.sci
@@ -0,0 +1,46 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [f]=polfact(p)
+ // Minmal factors of p
+ // f=polfact(p)
+ //
+ // p : polynomial
+ // f : vector [f0 f1 ... fn] such that p=prod(f)
+ // - f0 constant
+ // - fi polynomial
+ //!
+ //
+ if type(p)>2 then
+ error(msprintf(gettext("%s: Wrong type for input argument: Polynomial array expected.\n"),"polfact"))
+ end
+ if size(p,"*")<>1 then
+ error(msprintf(gettext("%s: Wrong size for input argument #%d: A polynomial expected.\n"),"polfact",1))
+ end
+
+ if norm(imag(coeff(p)))<>0 then
+ error(msprintf(gettext("%s: Input argument #%d must be real.\n"),"polfact",1))
+ end
+ p=real(p)
+ n=degree(p);f=coeff(p,n);
+ if n==0 then return,end
+ var=varn(p);
+ r=roots(p);[s,k]=gsort(abs(r));r=r(k)
+ k=1;
+ while k<=n do,
+ if imag(r(k))<>0 then
+ f=[f,real(poly(r(k:k+1),var))]
+ k=k+2
+ else
+ f=[f,poly(r(k),var)]
+ k=k+1
+ end
+ end
+endfunction
diff --git a/modules/polynomials/macros/rowcompr.bin b/modules/polynomials/macros/rowcompr.bin
new file mode 100755
index 000000000..986a5e861
--- /dev/null
+++ b/modules/polynomials/macros/rowcompr.bin
Binary files differ
diff --git a/modules/polynomials/macros/rowcompr.sci b/modules/polynomials/macros/rowcompr.sci
new file mode 100755
index 000000000..2acdfd125
--- /dev/null
+++ b/modules/polynomials/macros/rowcompr.sci
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [X,rk,Ac]=rowcompr(A)
+ //[X,rk,Ac]=rowcompr(A)
+ //row compression of polynomial matrix A (toward the bottom)
+ //X left polynomial unimodular base
+ //rk=normal rank of A
+ //Ac = X*A
+ //Warning: elimination of neglected terms
+ //!
+ [n,m]=size(A);
+ [Ac,U,rk]=htrianr(A');
+ Ac=Ac';
+ X=U';
+ X=X(n:-1:1,:)
+ Ac=Ac(n:-1:1,:)
+endfunction
diff --git a/modules/polynomials/macros/sylm.bin b/modules/polynomials/macros/sylm.bin
new file mode 100755
index 000000000..d40fa8643
--- /dev/null
+++ b/modules/polynomials/macros/sylm.bin
Binary files differ
diff --git a/modules/polynomials/macros/sylm.sci b/modules/polynomials/macros/sylm.sci
new file mode 100755
index 000000000..69ecc64b0
--- /dev/null
+++ b/modules/polynomials/macros/sylm.sci
@@ -0,0 +1,29 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [s]=sylm(a,b)
+ //[s]=sylm(a,b) gives the Sylvester matrix associated to polynomials
+ //a and b, i.e. the matrix s such that:
+ // coeff( a*x + b*y )' = s * [coeff(x)';coeff(y)']
+ //dimension of s is equal to degree(a)+degree(b)
+ //If a and b are coprime polynomials
+ //(rank(sylm(a,b))=degree(a)+degree(b)) the instructions
+ // u = sylm(a,b) \ eye(na+nb,1)
+ // x = poly(u(1:nb),'z','coeff')
+ // y = poly(u(nb+1:na+nb),'z','coeff')
+ //compute Bezout factors x et y of minimal degree de degre minimal
+ //such that a*x+b*y=1
+ //!
+ na=degree(a);a=coeff(a)';
+ nb=degree(b);b=coeff(b)';
+ s(na+nb,na+nb)=0;
+ for i=1:nb,s(i:na+i,i)=a,end
+ for i=1:na,s(i:nb+i,nb+i)=b,end
+endfunction
diff --git a/modules/polynomials/macros/systmat.bin b/modules/polynomials/macros/systmat.bin
new file mode 100755
index 000000000..3e1f16562
--- /dev/null
+++ b/modules/polynomials/macros/systmat.bin
Binary files differ
diff --git a/modules/polynomials/macros/systmat.sci b/modules/polynomials/macros/systmat.sci
new file mode 100755
index 000000000..123a16b03
--- /dev/null
+++ b/modules/polynomials/macros/systmat.sci
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [Sm]=systmat(Sl);
+ // System matrix of the linear system Sl (syslin list)
+ // in state-space form.
+ // Sm = [-sE + A B;
+ // [ C D]
+ // To get the zeros use det or detr (for square systems)
+ //!
+ ty=Sl(1);
+ ty=ty(1);
+ if ty=="lss" then
+ if Sl(7)=="d" then
+ s=poly(0,"z");
+ else
+ s=poly(0,"s");
+ end
+ Sm=[-s*eye(Sl(2))+Sl(2),Sl(3);Sl(4),Sl(5)];
+ return
+ end
+ if part(ty,1)=="d" then
+ s=poly(0,"s");
+ Sm=[-s*Sl(6)+Sl(2),Sl(3);Sl(4),Sl(5)];
+ return
+ end
+endfunction
diff --git a/modules/polynomials/polynomials.iss b/modules/polynomials/polynomials.iss
new file mode 100755
index 000000000..fede264c4
--- /dev/null
+++ b/modules/polynomials/polynomials.iss
@@ -0,0 +1,45 @@
+;
+; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+; Copyright (C) INRIA - Allan CORNET
+; Copyright (C) DIGITEO - 2010 - Allan CORNET
+;
+; This file must be used under the terms of the CeCILL.
+; This source file is licensed as described in the file COPYING, which
+; you should have received as part of this distribution. The terms
+; are also available at
+; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+;
+;--------------------------------------------------------------------------------------------------------------
+; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required)
+;
+;--------------------------------------------------------------------------------------------------------------
+; polynomials module
+;--------------------------------------------------------------------------------------------------------------
+;
+#define POLYNOMIALS "polynomials"
+;
+Source: bin\{#POLYNOMIALS}.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+Source: bin\{#POLYNOMIALS}_f.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#POLYNOMIALS}\license.txt; DestDir: {app}\modules\{#POLYNOMIALS}; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#POLYNOMIALS}\sci_gateway\{#POLYNOMIALS}_gateway.xml; DestDir: {app}\modules\{#POLYNOMIALS}\sci_gateway; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#POLYNOMIALS}\etc\{#POLYNOMIALS}.quit; DestDir: {app}\modules\{#POLYNOMIALS}\etc; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\etc\{#POLYNOMIALS}.start; DestDir: {app}\modules\{#POLYNOMIALS}\etc; Components: {#COMPN_SCILAB}
+;
+;Source: modules\{#POLYNOMIALS}\includes\*.h; DestDir: {app}\modules\{#POLYNOMIALS}\includes; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#POLYNOMIALS}\macros\buildmacros.sce; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\macros\buildmacros.bat; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\macros\cleanmacros.bat; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\macros\lib; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\macros\names; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\macros\*.bin; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#POLYNOMIALS}\macros\*.sci; DestDir: {app}\modules\{#POLYNOMIALS}\macros; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#POLYNOMIALS}\demos\*.*; DestDir: {app}\modules\{#POLYNOMIALS}\demos; Flags: recursesubdirs; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#POLYNOMIALS}\tests\*.*; DestDir: {app}\modules\{#POLYNOMIALS}\tests; Flags: recursesubdirs; Components: {#COMPN_SCILAB} and {#COMPN_TESTS}
+;
+;--------------------------------------------------------------------------------------------------------------
diff --git a/modules/polynomials/sci_gateway/c/.deps/.dirstamp b/modules/polynomials/sci_gateway/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/.dirstamp
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo
new file mode 100755
index 000000000..05c4ad406
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo
@@ -0,0 +1,274 @@
+sci_gateway/c/libscipolynomials_la-gw_polynomials.lo: \
+ sci_gateway/c/gw_polynomials.c /usr/include/stdc-predef.h \
+ includes/gw_polynomials.h includes/dynlib_polynomials.h \
+ ../../modules/core/includes/callFunctionFromGateway.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/callFunctionFromGateway.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo
new file mode 100755
index 000000000..fdd7d9c8d
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo
@@ -0,0 +1,62 @@
+sci_gateway/c/libscipolynomials_la-sci_bezout.lo: \
+ sci_gateway/c/sci_bezout.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo
new file mode 100755
index 000000000..5908e0450
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_cleanp.lo: \
+ sci_gateway/c/sci_cleanp.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo
new file mode 100755
index 000000000..099ae9101
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_coeff.lo: \
+ sci_gateway/c/sci_coeff.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo
new file mode 100755
index 000000000..e69dca0d7
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_degree.lo: \
+ sci_gateway/c/sci_degree.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo
new file mode 100755
index 000000000..f419ba091
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo
@@ -0,0 +1,60 @@
+sci_gateway/c/libscipolynomials_la-sci_diag.lo: sci_gateway/c/sci_diag.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo
new file mode 100755
index 000000000..4cfc6aafd
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_div.lo: sci_gateway/c/sci_div.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo
new file mode 100755
index 000000000..85dd8b60b
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo
@@ -0,0 +1,60 @@
+sci_gateway/c/libscipolynomials_la-sci_poly.lo: sci_gateway/c/sci_poly.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo
new file mode 100755
index 000000000..4fa01ef31
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo
@@ -0,0 +1,60 @@
+sci_gateway/c/libscipolynomials_la-sci_prod.lo: sci_gateway/c/sci_prod.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo
new file mode 100755
index 000000000..9f8ad699f
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo
@@ -0,0 +1,62 @@
+sci_gateway/c/libscipolynomials_la-sci_roots.lo: \
+ sci_gateway/c/sci_roots.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo
new file mode 100755
index 000000000..d142dfe91
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo
@@ -0,0 +1,62 @@
+sci_gateway/c/libscipolynomials_la-sci_sfact.lo: \
+ sci_gateway/c/sci_sfact.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo
new file mode 100755
index 000000000..c2ed02293
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_simp.lo: sci_gateway/c/sci_simp.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo
new file mode 100755
index 000000000..141d6c695
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo
@@ -0,0 +1,62 @@
+sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo: \
+ sci_gateway/c/sci_simp_mode.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo
new file mode 100755
index 000000000..66339332e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_sum.lo: sci_gateway/c/sci_sum.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo
new file mode 100755
index 000000000..b25f510d2
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo
@@ -0,0 +1,60 @@
+sci_gateway/c/libscipolynomials_la-sci_tril.lo: sci_gateway/c/sci_tril.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo
new file mode 100755
index 000000000..9047a2bfa
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo
@@ -0,0 +1,60 @@
+sci_gateway/c/libscipolynomials_la-sci_triu.lo: sci_gateway/c/sci_triu.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo
new file mode 100755
index 000000000..a3eecd299
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo
@@ -0,0 +1,61 @@
+sci_gateway/c/libscipolynomials_la-sci_varn.lo: sci_gateway/c/sci_varn.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h includes/gw_polynomials.h \
+ includes/dynlib_polynomials.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_polynomials.h:
+
+includes/dynlib_polynomials.h:
diff --git a/modules/polynomials/sci_gateway/c/.dirstamp b/modules/polynomials/sci_gateway/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.dirstamp
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.o
new file mode 100755
index 000000000..a6bbb051e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.o
new file mode 100755
index 000000000..df9859a0e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.o
new file mode 100755
index 000000000..636bb4f89
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.o
new file mode 100755
index 000000000..9e91becb6
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.o
new file mode 100755
index 000000000..d904d2122
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.o
new file mode 100755
index 000000000..77d1920b3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.o
new file mode 100755
index 000000000..64d121b08
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.o
new file mode 100755
index 000000000..db4442c66
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.o
new file mode 100755
index 000000000..c632d150e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.o
new file mode 100755
index 000000000..6c7b142bc
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.o
new file mode 100755
index 000000000..15085ffa0
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.o
new file mode 100755
index 000000000..08300b3e6
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.o
new file mode 100755
index 000000000..432e10607
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.o
new file mode 100755
index 000000000..3de28d3d8
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.o
new file mode 100755
index 000000000..24efec6f9
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.o
new file mode 100755
index 000000000..84bee6b41
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.o
new file mode 100755
index 000000000..55bd5b678
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/c/gw_polynomials.c b/modules/polynomials/sci_gateway/c/gw_polynomials.c
new file mode 100755
index 000000000..f9114f4e0
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/gw_polynomials.c
@@ -0,0 +1,59 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+
+#include "gw_polynomials.h"
+#include "callFunctionFromGateway.h"
+#include "api_scilab.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+static int sci_notused(char *fname, unsigned long fname_len)
+{
+ /* not used */
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+static gw_generic_table Tab[] =
+{
+ {sci_poly_primitive, "poly"},
+ {sci_roots, "roots"},
+ {sci_degree, "degree"},
+ {sci_coeff, "coeff"},
+ {sci_notused, ""}, /* not used but required primitives order (short cut fin,fun) */
+ {sci_pppdiv, "pppdiv"},
+ {sci_simp, "simp"},
+ {sci_psum, "sum"},
+ {sci_pprod, "prod"},
+ {sci_pdiag, "diag"},
+ {sci_ptriu, "triu"},
+ {sci_ptril, "tril"},
+ {sci_bezout, "bezout"},
+ {sci_sfact, "sfact"},
+ {sci_simp_mode, "simp_mode"},
+ {sci_varn, "varn"},
+ {sci_cleanp, "cleanp"}
+};
+/*--------------------------------------------------------------------------*/
+int gw_polynomials(void)
+{
+ callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab));
+
+ if (pvApiCtx == NULL)
+ {
+ pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx));
+ }
+
+ pvApiCtx->pstName = (char*)Tab[Fin - 1].name;
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo
new file mode 100755
index 000000000..8e519f64f
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-gw_polynomials.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-gw_polynomials.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo
new file mode 100755
index 000000000..557d0625d
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_bezout.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_bezout.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo
new file mode 100755
index 000000000..0349fca1b
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_cleanp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_cleanp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo
new file mode 100755
index 000000000..9f52ef861
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_coeff.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_coeff.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo
new file mode 100755
index 000000000..40c6c1695
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_degree.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_degree.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo
new file mode 100755
index 000000000..6c0f035ba
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_diag.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_diag.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo
new file mode 100755
index 000000000..da0340274
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_div.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_div.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo
new file mode 100755
index 000000000..be259b290
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_poly.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_poly.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo
new file mode 100755
index 000000000..9232c8fe4
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_prod.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_prod.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo
new file mode 100755
index 000000000..a10d0db18
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_roots.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_roots.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo
new file mode 100755
index 000000000..9023fe73a
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_sfact.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_sfact.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo
new file mode 100755
index 000000000..850b7a11e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_simp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_simp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo
new file mode 100755
index 000000000..69cb17fa6
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_simp_mode.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo
new file mode 100755
index 000000000..4f413b210
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_sum.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_sum.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo
new file mode 100755
index 000000000..476224aa3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_tril.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_tril.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo
new file mode 100755
index 000000000..6b0f3bf7d
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_triu.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_triu.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo
new file mode 100755
index 000000000..2f8774dba
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscipolynomials_la-sci_varn.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscipolynomials_la-sci_varn.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/c/sci_bezout.c b/modules/polynomials/sci_gateway/c/sci_bezout.c
new file mode 100755
index 000000000..56f95b9eb
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_bezout.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intbez)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_bezout(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intbez)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_cleanp.c b/modules/polynomials/sci_gateway/c/sci_cleanp.c
new file mode 100755
index 000000000..a3a3c2415
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_cleanp.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intpclean)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_cleanp(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intpclean)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_coeff.c b/modules/polynomials/sci_gateway/c/sci_coeff.c
new file mode 100755
index 000000000..58eb7fdf8
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_coeff.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intcoeff)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_coeff(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intcoeff)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_degree.c b/modules/polynomials/sci_gateway/c/sci_degree.c
new file mode 100755
index 000000000..0e856d23b
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_degree.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intdegree)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_degree(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intdegree)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_diag.c b/modules/polynomials/sci_gateway/c/sci_diag.c
new file mode 100755
index 000000000..f63433850
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_diag.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intpdiag)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_pdiag(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intpdiag)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_div.c b/modules/polynomials/sci_gateway/c/sci_div.c
new file mode 100755
index 000000000..1f2809fc3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_div.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intpdiv)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_pppdiv(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intpdiv)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_poly.c b/modules/polynomials/sci_gateway/c/sci_poly.c
new file mode 100755
index 000000000..63fb3f8ce
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_poly.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intpoly)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_poly_primitive(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intpoly)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_prod.c b/modules/polynomials/sci_gateway/c/sci_prod.c
new file mode 100755
index 000000000..779ba48cb
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_prod.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intpprod)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_pprod(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intpprod)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_roots.c b/modules/polynomials/sci_gateway/c/sci_roots.c
new file mode 100755
index 000000000..8b4bfa820
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_roots.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(introots)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_roots(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(introots)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_sfact.c b/modules/polynomials/sci_gateway/c/sci_sfact.c
new file mode 100755
index 000000000..627474c38
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_sfact.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intsfact)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_sfact(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intsfact)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_simp.c b/modules/polynomials/sci_gateway/c/sci_simp.c
new file mode 100755
index 000000000..829724bc3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_simp.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intsimp)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_simp(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intsimp)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_simp_mode.c b/modules/polynomials/sci_gateway/c/sci_simp_mode.c
new file mode 100755
index 000000000..ecaee9e68
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_simp_mode.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intsimpmd)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_simp_mode(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intsimpmd)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_sum.c b/modules/polynomials/sci_gateway/c/sci_sum.c
new file mode 100755
index 000000000..86df6fa4e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_sum.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intpsum)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_psum(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intpsum)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_tril.c b/modules/polynomials/sci_gateway/c/sci_tril.c
new file mode 100755
index 000000000..acf28e7f1
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_tril.c
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intptriu)(int *job, int *id);
+/*--------------------------------------------------------------------------*/
+int sci_ptril(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ int job = 0;
+ C2F(intptriu)(&job, id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_triu.c b/modules/polynomials/sci_gateway/c/sci_triu.c
new file mode 100755
index 000000000..4fbe99611
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_triu.c
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_polynomials.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intptriu)(int *job, int *id);
+/*--------------------------------------------------------------------------*/
+int sci_ptriu(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ int job = 1;
+ C2F(intptriu)(&job, id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/c/sci_varn.c b/modules/polynomials/sci_gateway/c/sci_varn.c
new file mode 100755
index 000000000..82d9908e8
--- /dev/null
+++ b/modules/polynomials/sci_gateway/c/sci_varn.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "machine.h"
+#include "gw_polynomials.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intvarn)(int *id);
+/*--------------------------------------------------------------------------*/
+int sci_varn(char *fname, unsigned long fname_len)
+{
+ static int id[6];
+ C2F(intvarn)(id);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/polynomials/sci_gateway/fortran/.deps/.dirstamp b/modules/polynomials/sci_gateway/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.deps/.dirstamp
diff --git a/modules/polynomials/sci_gateway/fortran/.dirstamp b/modules/polynomials/sci_gateway/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.dirstamp
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/polops.o b/modules/polynomials/sci_gateway/fortran/.libs/polops.o
new file mode 100755
index 000000000..20b83c840
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/polops.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.o
new file mode 100755
index 000000000..b76a9ea3b
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.o
new file mode 100755
index 000000000..9309cb75c
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.o
new file mode 100755
index 000000000..090e85bb1
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.o
new file mode 100755
index 000000000..cf935c4ba
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_div.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_div.o
new file mode 100755
index 000000000..b27de7b61
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_div.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.o
new file mode 100755
index 000000000..a14bba60e
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.o
new file mode 100755
index 000000000..07b2e6fc3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.o
new file mode 100755
index 000000000..b576885f3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.o
new file mode 100755
index 000000000..ac0039da2
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.o
new file mode 100755
index 000000000..12ad51e1f
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.o
new file mode 100755
index 000000000..66c01579c
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.o
new file mode 100755
index 000000000..e46e3fdf6
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.o
new file mode 100755
index 000000000..5bf790c1f
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.o
new file mode 100755
index 000000000..f5c936f89
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.o
new file mode 100755
index 000000000..facb58ca4
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.o
new file mode 100755
index 000000000..a0ea3a888
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.o
new file mode 100755
index 000000000..2aab1bc59
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.o
Binary files differ
diff --git a/modules/polynomials/sci_gateway/fortran/polops.f b/modules/polynomials/sci_gateway/fortran/polops.f
new file mode 100755
index 000000000..bac9cd8f5
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/polops.f
@@ -0,0 +1,2213 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING,
+c which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine polops
+c =================================================================
+c ===
+c
+c operations on polynomial matrices
+c
+c =================================================================
+c ===
+c
+ include 'stack.h'
+c
+
+ integer plus,minus,star,dstar,slash,bslash,dot,colon
+ integer quote,equal,less,great,insert,extrac
+c
+ double precision sr,si,e1,e2,st
+ integer vol,var1(4),var2(4),var3(4),var4(4),volr,rhs1,top0,op
+ integer topin
+ logical chkvar
+ integer sadr,iadr
+ integer colonid(nsiz)
+c
+ data plus/45/,minus/46/,star/47/,dstar/62/,slash/48/
+ data bslash/49/,dot/51/,colon/44/,quote/53/
+ data equal/50/,less/59/,great/60/,insert/2/,extrac/3/
+ data colonid/673720364,673720360,673720360,673720360,
+ $ 673720360,673720360/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ op=fin
+c
+ fun=0
+ lw=lstk(top+1)
+ topin=top
+
+ if(op.eq.dstar) goto 80
+ if(op.eq.dstar+dot) goto 70
+
+ if(op.eq.colon) goto 200
+ if(op.eq.extrac) goto 130
+ if(op.eq.insert) goto 120
+c
+
+ top0=top+1-rhs
+ rhs1=rhs
+
+c
+ var2(1)=0
+ it2=0
+ if(rhs.eq.1) goto 05
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ if(istk(il2).gt.2) goto 03
+ m2=istk(il2+1)
+ n2=istk(il2+2)
+ it2=istk(il2+3)
+ mn2=m2*n2
+ if(istk(il2).ne.1) then
+ id2=il2+8
+ call icopy(4,istk(il2+4),1,var2,1)
+ l2r=sadr(id2+mn2+1)
+ vol=istk(id2+mn2)-1
+ l2i=l2r+vol
+ l3r=lw
+ goto 03
+ else
+ l2r=sadr(il2+4)
+ l2i=l2r+mn2
+ id2=iadr(lw)
+ l3r=sadr(id2+mn2+1)
+ err=l3r-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call ivimp(1,mn2+1,1,istk(id2))
+ l3r=l3r+1
+ endif
+ 03 continue
+
+ top = top-1
+ 05 il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).gt.2) goto 10
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ mn1 = m1*n1
+ if(istk(il1).ne.1) then
+ id1=il1+8
+ call icopy(4,istk(il1+4),1,var1,1)
+c
+ if(var2(1).eq.0) call icopy(4,var1,1,var2,1)
+ if(op.ne.equal.and.op.ne.less+great) then
+ if(.not.chkvar(var1,var2)) then
+ fin=-fin
+ top=top+1
+ return
+ endif
+ endif
+c
+ l1r=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+ l1i=l1r+vol
+ else
+ l1r=sadr(il1+4)
+ l1i=l1r+mn1
+ call icopy(4,var2,1,var1,1)
+ id1=iadr(l3r)
+ l3r=sadr(id1+mn1+1)
+ err=l3r-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call ivimp(1,mn1+1,1,istk(id1))
+ l3r=l3r+1
+ lw=l3r
+ endif
+c
+ 10 it3=max(it1,it2)
+
+c
+ goto (60,120,130,65) op
+ if (op .eq. quote.or.op .eq. quote+dot) goto 110
+ if (rhs .eq. 1 .and. op .eq. minus) goto 101
+ if (op .eq. plus .or. op .eq. minus) go to 20
+ if (op .eq. star.or. op.eq.star+dot) go to 40
+ if(op.eq.slash.or.op.eq.slash+dot) goto 150
+ if(op.eq.bslash.or.op.eq.bslash+dot) goto 155
+ if(op.eq.equal.or.op.eq.less+great) goto 160
+c
+c operations non implantees
+ top=top0-1+rhs
+ fin=-fin
+ return
+c
+c addition et soustraction
+c
+ 20 continue
+ vol=istk(id2+mn2)-1
+ if(op.eq.minus.and.vol.gt.0) call dscal(vol*(it2+1),-1.0d+0
+ $ ,stk(l2r),1)
+ if(m1.eq.1.and.n1.eq.1.and.mn2.gt.1) then
+c . p+P , p-P
+c . p*ones(P) is generated
+ n=istk(id1+1)-istk(id1)
+ istk(il1+1)=m2
+ istk(il1+2)=n2
+ m1=m2
+ n1=n2
+ mn1=m1*n1
+ l=l1r
+c
+ id1=iadr(l3r)
+ l1r=sadr(id1+mn2+1)
+ vol=mn1*n
+ l1i=l1r+vol
+ l3r=l1i+vol*it1
+ err=l3r-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ l1=l1r
+ istk(id1)=1
+ do 21 i=1,mn1
+ istk(id1+i)=istk(id1-1+i)+n
+ call unsfdcopy(n,stk(l),1,stk(l1),1)
+ if(it1.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l1+vol),1)
+ l1=l1+n
+ 21 continue
+ elseif(m2.eq.1.and.n2.eq.1.and.mn1.gt.1) then
+c . P+p, P-p
+c . p*ones(P) is generated
+ n=istk(id2+1)-istk(id2)
+ m2=abs(m1)
+ n2=abs(n1)
+ mn2=m2*n2
+ l=l2r
+c
+ id2=iadr(l3r)
+ l2r=sadr(id2+mn1+1)
+ vol=mn2*n
+ l2i=l2r+vol
+ l3r=l2i+vol*it2
+ err=l3r-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ l2=l2r
+ istk(id2)=1
+ do 22 i=1,mn2
+ istk(id2+i)=istk(id2-1+i)+n
+ call unsfdcopy(n,stk(l),1,stk(l2),1)
+ if(it2.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l2+vol),1)
+ l2=l2+n
+ 22 continue
+ elseif(mn1.eq.0) then
+c . []+P, []-P
+ call icopy(9+mn2,istk(il2),1,istk(il1),1)
+ l1=sadr(il1+9+mn2)
+ vol=(istk(id2+mn2)-1)*(it2+1)
+ call unsfdcopy(vol,stk(l2r),1,stk(l1),1)
+ lstk(top+1)=l1+vol
+ goto 999
+ elseif(mn2.eq.0) then
+c . P+[] , P-[]
+ goto 999
+ elseif(m1.lt.0) then
+c eye*p+A
+c . p*eye(A) is generated
+ n=istk(id1+1)-istk(id1)
+ istk(il1+1)=m2
+ istk(il1+2)=n2
+ m1=abs(m2)
+ n1=abs(n2)
+ mn1=m1*n1
+ l=l1r
+
+ id1=iadr(l3r)
+ l1r=sadr(id1+mn2+1)
+ vol=min(n1,m1)*(n-1)+mn2
+ l1i=l1r+vol
+ l3r=l1i+vol*it1
+ err=l3r-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(vol*(it1+1),0.0d+0,stk(l1r),1)
+ l1=l1r
+ do 23 i=1,min(n1,m1)
+ call unsfdcopy(n,stk(l),1,stk(l1),1)
+ if(it1.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l1+vol),1)
+ l1=l1+n+m1
+ 23 continue
+ l1=id1
+ istk(l1)=1
+ do 25 j=1,n1
+ do 24 i=1,m1
+ l1=l1+1
+ istk(l1)=istk(l1-1)+1
+ if(i.eq.j) istk(l1)=istk(l1)+n-1
+ 24 continue
+ 25 continue
+ elseif(m2.lt.0) then
+c A+eye*p
+c . p*eye(A) is generated
+ m2=abs(m1)
+ n2=abs(n1)
+ l=l2r
+ id=id2
+ n=istk(id+1)-istk(id)
+ id2=iadr(l3r)
+ l2r=sadr(id2+mn1+1)
+ vol=m2*(n-1)+mn1
+ l2i=l2r+vol
+ l3r=l2i+vol*it2
+ err=l3r-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(vol*(it2+1),0.0d+0,stk(l2r),1)
+ l2=l2r
+ do 26 i=1,min(n2,m2)
+ call unsfdcopy(n,stk(l),1,stk(l2),1)
+ if(it2.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l2+vol),1)
+ l2=l2+n+m2
+ 26 continue
+ l2=id2
+ istk(l2)=1
+ do 28 j=1,n2
+ do 27 i=1,m2
+ l2=l2+1
+ istk(l2)=istk(l2-1)+1
+ if(i.eq.j) istk(l2)=istk(l2)+n-1
+ 27 continue
+ 28 continue
+ elseif(m1.eq.m2.and.n1.eq.n2) then
+c . P1+P2 P1-P2
+ else
+ if (op.eq.plus) then
+ call error(8)
+ else
+ call error(9)
+ endif
+ return
+ endif
+
+c
+ id3=iadr(l3r)
+ l3r=sadr(id3+mn1+1)
+ vol=0
+ do 31 k=1,mn1
+ vol=vol+max(istk(id1+k)-istk(id1+k-1),istk(id2+k)
+ $ -istk(id2+k-1))
+ 31 continue
+ l3i=l3r+vol
+ err=l3i+vol*it3-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ goto (32,33,34) it1+2*it2
+ call dmpad(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m2,stk(l3r),
+ & istk(id3),m1,n1)
+ call dmpadj(stk(l3r),istk(id3),m1,n1)
+ goto 35
+ 32 call wdmpad(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),istk(id2),
+ & m2,stk(l3r),stk(l3i),istk(id3),m1,n1)
+ call wmpadj(stk(l3r),stk(l3i),istk(id3),m1,n1)
+ goto 35
+ 33 call wdmpad(stk(l2r),stk(l2i),istk(id2),m2,stk(l1r),istk(id1),
+ & m1,stk(l3r),stk(l3i),istk(id3),m1,n1)
+ call wmpadj(stk(l3r),stk(l3i),istk(id3),m1,n1)
+ goto 35
+ 34 call wmpad(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i),
+ & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,n1)
+ call wmpadj(stk(l3r),stk(l3i),istk(id3),m1,n1)
+ 35 continue
+ istk(il1)=2
+ istk(il1+1)=m1
+ istk(il1+2)=n1
+ istk(il1+3)=it3
+ call icopy(4,var1,1,istk(il1+4),1)
+ vol=istk(id3+m1*n1)-1
+ call icopy(mn1+1,istk(id3),1,istk(il1+8),1)
+ l1r=sadr(il1+9+mn1)
+ call unsfdcopy(vol,stk(l3r),1,stk(l1r),1)
+ if(it3.eq.1) call unsfdcopy(vol,stk(l3i),1,stk(l1r+vol),1)
+ lstk(top+1)=l1r+vol*(it3+1)
+ goto 999
+c
+c multiplications
+c
+ 40 if(mn1.eq.0.or.mn2.eq.0) then
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ lstk(top+1)=sadr(il1+4)+1
+ goto 999
+ endif
+ indef=0
+ if(m1.lt.0) then
+ if(mn2.eq.1) then
+ indef=1
+ else
+ call error(14)
+ return
+ endif
+ elseif(m2.lt.0) then
+ if(mn1.eq.1) then
+ indef=1
+ else
+ call error(14)
+ return
+ endif
+ endif
+ m1=abs(m1)
+ n1=abs(n1)
+ m2=abs(m2)
+ n2=abs(n2)
+ if(mn1.gt.1.and.mn2.gt.1 .and. op.gt.dot) then
+c . a.*b
+ if(m1.ne.m2.or.n1.ne.n2) then
+ call error(10)
+ return
+ endif
+ m3=m1
+ n3=n1
+ n1=0
+ vol=istk(id1+mn1)+istk(id2+mn2)-mn2-2
+ elseif(mn1.eq.1) then
+c . cst*b or cst.*b
+ m1=0
+ n1=m2
+ m3=m2
+ n3=n2
+ vol=istk(id2+mn2)-1+mn2*(istk(id1+1)-2)
+ elseif(mn2.eq.1) then
+c . a*cst or a.*cst
+ n2=0
+ m3=m1
+ n3=n1
+ vol=istk(id1+mn1)-1+mn1*(istk(id2+1)-2)
+ else
+c . a*b
+ if(n1.ne.m2) then
+ call error(10)
+ return
+ endif
+ m3=m1
+ n3=n2
+c . estimate result size
+ vol=0
+ do 46 i=1,m3
+ j1=id2-m2
+ do 45 j=1,n3
+ j1=j1+m2
+ k1=id1-m1
+ mx=0
+ do 44 k=1,n1
+ k1=k1+m1
+ ll1=istk(i+k1)-istk(i-1+k1)
+ ll2=istk(k+j1)-istk(k-1+j1)
+ mx=max(mx,ll1+ll2)
+ 44 continue
+ vol=vol+mx-1
+ 45 continue
+ 46 continue
+ endif
+
+c
+ id3=iadr(l3r)
+ l3r=sadr(id3+m3*n3+1)
+ l3i=l3r+vol
+ err=l3i+it3*vol-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c
+ m=max(1,m1)
+ goto (51,52,53) it1+2*it2
+ call dmpmu(stk(l1r),istk(id1),m,stk(l2r),istk(id2),m2,
+ & stk(l3r),istk(id3),m1,n1,n2)
+ call dmpadj(stk(l3r),istk(id3),m3,n3)
+ goto 55
+ 51 call wdmpmu(stk(l1r),stk(l1i),istk(id1),m,stk(l2r),istk(id2),
+ & m2,stk(l3r),stk(l3i),istk(id3),m1,n1,n2)
+ call wmpadj(stk(l3r),stk(l3i),istk(id3),m3,n3)
+ goto 55
+ 52 continue
+ call dwmpmu(stk(l1r),istk(id1),m,stk(l2r),stk(l2i),istk(id2),
+ & m2,stk(l3r),stk(l3i),istk(id3),m1,n1,n2)
+ call wmpadj(stk(l3r),stk(l3i),istk(id3),m3,n3)
+ goto 55
+ 53 call wmpmu(stk(l1r),stk(l1i),istk(id1),m,stk(l2r),stk(l2i),
+ & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,n1,n2)
+ call wmpadj(stk(l3r),stk(l3i),istk(id3),m3,n3)
+ goto 55
+c
+ 55 if(istk(il1).eq.1) id1=il1+8
+ l1r=sadr(id1+m3*n3+1)
+ call icopy(m3*n3+1,istk(id3),1,istk(id1),1)
+ vol=istk(id1+m3*n3)-1
+ call unsfdcopy(vol,stk(l3r),1,stk(l1r),1)
+ if(it3.eq.1) call unsfdcopy(vol,stk(l3i),1,stk(l1r+vol),1)
+ lstk(top+1)=l1r+vol*(it3+1)
+ istk(il1)=2
+ istk(il1+1)=m3
+ istk(il1+2)=n3
+ istk(il1+3)=it3
+ call icopy(4,var1,1,istk(il1+4),1)
+
+ if(indef.eq.0) goto 999
+ istk(il1+1)=-1
+ istk(il1+2)=-1
+ goto 999
+c
+c concatenation [a b]
+c
+ 60 continue
+ if(m1.lt.0.or.m2.lt.0) then
+ call error(14)
+ return
+ endif
+ if(m2.eq.0) then
+ return
+ elseif(m1.eq.0)then
+ call unsfdcopy(lstk(top+2)-lstk(top+1),stk(lstk(top+1)),1,
+ & stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+lstk(top+2)-lstk(top+1)
+ return
+ elseif(m1.ne.m2) then
+ call error(5)
+ return
+ endif
+c
+ id3=iadr(l3r)
+ l3r=sadr(id3+mn1+mn2+1)
+ vol=istk(id1+mn1)+istk(id2+mn2)-2
+ l3i=l3r+vol
+ lw=l3i+vol*it3
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ goto (61,62,63) it1+2*it2
+ call dmpcnc(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m1,
+ & stk(l3r),istk(id3),m1,n1,n2,1)
+ goto 64
+ 61 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),st,
+ & istk(id2),m1,stk(l3r),stk(l3i),istk(id3),m1,n1,n2,3)
+ goto 64
+ 62 call wmpcnc(stk(l1r),st,istk(id1),m1,stk(l2r),stk(l2i),
+ & istk(id2),m1,stk(l3r),stk(l3i),istk(id3),m1,n1,n2,2)
+ goto 64
+ 63 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i),
+ & istk(id2),m1,stk(l3r),stk(l3i),istk(id3),m1,n1,n2,1)
+ goto 64
+c
+ 64 istk(il1)=2
+ istk(il1+1)=m1
+ istk(il1+2)=n1+n2
+ istk(il1+3)=it3
+ call icopy(mn1+mn2+1,istk(id3),1,istk(il1+8),1)
+ l1r=sadr(il1+9+mn1+mn2)
+ call unsfdcopy(vol*(it3+1),stk(l3r),1,stk(l1r),1)
+ call icopy(4,var1,1,istk(il1+4),1)
+ lstk(top+1)=l1r+vol*(it3+1)
+ goto 999
+c
+c concatenation [a;b]
+ 65 if(n1.lt.0.or.n2.lt.0) then
+ call error(14)
+ return
+ endif
+ if(n2.eq.0) then
+ goto 999
+ elseif(n1.eq.0)then
+ call unsfdcopy(lstk(top+2)-lstk(top+1),stk(lstk(top+1)),1,
+ & stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+lstk(top+2)-lstk(top+1)
+ goto 999
+ elseif(n1.ne.n2) then
+ call error(6)
+ return
+ endif
+ m=m1+m2
+ mn=m*n1
+c
+ id3=iadr(l3r)
+ l3r=sadr(id3+mn+1)
+ vol=istk(id1+mn1)+istk(id2+mn2)-2
+ l3i=l3r+vol
+ lw=l3i+vol*it3
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ goto (66,67,68) it1+2*it2
+ call dmpcnc(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m2,
+ & stk(l3r),istk(id3),m1,m2,n2,-1)
+ goto 69
+ 66 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),st,
+ & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,m2,n2,-3)
+ goto 69
+ 67 call wmpcnc(stk(l1r),st,istk(id1),m1,stk(l2r),stk(l2i),
+ & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,m2,n2,-2)
+ goto 69
+ 68 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i),
+ & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,m2,n2,-1)
+ goto 69
+c
+ 69 istk(il1)=2
+ istk(il1+1)=m
+ istk(il1+2)=n1
+ istk(il1+3)=it3
+ call icopy(mn1+mn2+1,istk(id3),1,istk(il1+8),1)
+ l1r=sadr(il1+9+mn1+mn2)
+ call unsfdcopy(vol*(it3+1),stk(l3r),1,stk(l1r),1)
+ call icopy(4,var1,1,istk(il1+4),1)
+ lstk(top+1)=l1r+vol*(it3+1)
+ goto 999
+c
+c puissance .^
+c
+ 70 il2=iadr(lstk(top))
+ m2=istk(il2+1)
+ n2=istk(il2+2)
+ top=top-1
+ if(istk(il2).ne.1.or.istk(il2+3).ne.0) then
+ call error(30)
+ return
+ endif
+ mn2=istk(il2+1)*istk(il2+2)
+ if (mn2.eq.0) then
+ il1=iadr(lstk(top))
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ lstk(top+1)=sadr(il1+4)+1
+ return
+ endif
+ l2=sadr(il2+4)
+c
+ il1=iadr(lstk(top))
+ m1=abs(istk(il1+1))
+ n1=abs(istk(il1+2))
+ it1=istk(il1+3)
+ mn1=m1*n1
+ id1=il1+8
+ l1r=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+ l1i=l1r+vol
+c
+ if (mn2 .gt. 1) then
+ m=m2
+ n=n2
+ inc2=1
+ if (mn1 .eq.1) then
+ inc1=0
+ elseif(m1.eq.m2.and.n1.eq.n2) then
+ inc1=1
+ else
+ call error(30)
+ return
+ endif
+ else
+ inc2=0
+ inc1=1
+ m=m1
+ n=n1
+ endif
+ mn=m*n
+c
+ idr=iadr(lw)
+ lr=sadr(idr+mn+1)
+ err=lr-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ istk(idr)=1
+ do 71 i=0,mn-1
+ i1=i*inc1
+ i2=i*inc2
+ nexp=int(stk(l2+i2))
+ if(dble(nexp).ne.stk(l2+i2)) then
+ call error(30)
+ return
+ elseif(nexp.lt.0) then
+ fin=-fin
+ top=top+1
+ return
+ endif
+ istk(idr+i+1)=istk(idr+i)+
+ $ (istk(id1+i1+1)-istk(id1+i1)-1)*nexp+1
+ 71 continue
+
+ nr=istk(idr+mn)-1
+ err=lr+nr*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+
+ do 73 i=1,mn
+ i1=(i-1)*inc1
+ i2=(i-1)*inc2
+ nexp=int(stk(l2+i2))
+ l1=l1r+istk(id1+i1)-1
+ l=lr+istk(idr+i-1)-1
+
+ ni=istk(id1+i1+1)-istk(id1+i1)
+ if(nexp.gt.0) then
+ call unsfdcopy(ni,stk(l1),1,stk(l),1)
+ if(it1.eq.1) call unsfdcopy(ni,stk(l1+vol),1,stk(l+nr),1)
+ else
+ stk(l)=1.0d0
+ if(it1.eq.1) stk(l+nr)=0.0d0
+ endif
+ mi=ni-1
+ if(nexp.gt.1) then
+ do 72 ne=2,nexp
+ if(it1.eq.0) then
+ call dpmul1(stk(l),mi,stk(l1),ni-1,stk(l))
+ else
+ call wpmul1(stk(l),stk(l+nr),mi,stk(l1),
+ & stk(l1+vol),ni-1,stk(l),stk(l+nr))
+ endif
+ mi=mi+ni-1
+ 72 continue
+ endif
+ 73 continue
+ istk(il1+1)=m
+ istk(il1+2)=n
+ istk(il1+3)=it1
+ call icopy(mn+1,istk(idr),1,istk(id1),1)
+ l1=sadr(id1+mn+1)
+ call unsfdcopy(nr*(it1+1),stk(lr),1,stk(l1),1)
+ lstk(top+1)=l1+nr*(it1+1)
+ goto 999
+
+c puissance de matrice
+ 80 continue
+ il2=iadr(lstk(top))
+ mn2=istk(il2+1)*istk(il2+2)
+ il1=iadr(lstk(top-1))
+ m1=abs(istk(il1+1))
+ n1=abs(istk(il1+2))
+ it1=istk(il1+3)
+ mn1=m1*n1
+
+ if(mn1.eq.1) goto 70
+ if(mn2.gt.1) then
+ fin=-fin
+ return
+ endif
+ if(m1.ne.n1) then
+ if(mn2.eq.1.and.(m1.eq.1.or.n1.eq.1)) then
+ call msgs(116)
+ goto 70
+ endif
+ err=1
+ call error(20)
+ return
+ endif
+ fin=-fin
+ return
+c
+ 101 vol=istk(id1+mn1)-1
+c multiplication par -1
+ call dscal(vol*(it1+1),-1.0d+0,stk(l1r),1)
+ goto 999
+c
+c transposition
+ 110 continue
+ vol=istk(id1+mn1)-1
+ if(abs(m1).eq.1.or.abs(n1).eq.1) then
+ if(it1.eq.1.and.op.ne.quote+dot) then
+ call dscal(vol,-1.0d0,stk(l1i),1)
+ endif
+ istk(il1+1)=n1
+ istk(il1+2)=m1
+ goto 999
+ endif
+
+ id2=iadr(lstk(top+1))
+ l2r=sadr(id2+mn1+1)
+ l2i=l2r+vol
+ err=l2r+vol*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ if(it1.eq.1) goto 111
+ call dmptra(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m1,n1)
+ goto 112
+ 111 call wmptra(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i),
+ & istk(id2),m1,n1)
+ 112 istk(il1+1)=n1
+ istk(il1+2)=m1
+ call icopy(mn1+1,istk(id2),1,istk(id1),1)
+ call unsfdcopy(vol*(it1+1),stk(l2r),1,stk(l1r),1)
+ if (it1.eq.1.and.op.ne.quote+dot) then
+ call dscal(vol,-1.0d0,stk(l1r+vol),1)
+ endif
+ goto 999
+c
+c
+c insertion
+c
+ 120 continue
+ if(rhs.gt.4) then
+ top=topin
+ fin=-fin
+ return
+ endif
+ if(rhs.eq.4) goto 124
+c arg3(arg1)=arg2
+c
+c get arg3
+ var3(1)=0
+ il3=iadr(lstk(top))
+ if(istk(il3).lt.0) il3=iadr(istk(il3+1))
+ m3=istk(il3+1)
+ n3=istk(il3+2)
+ it3=istk(il3+3)
+ mn3=m3*n3
+ if(istk(il3).eq.2) then
+ id3=il3+8
+ call icopy(4,istk(il3+4),1,var3,1)
+ l3r=sadr(id3+mn3+1)
+ vol=istk(id3+mn3)-1
+ l3i=l3r+vol
+ elseif(istk(il3).eq.1) then
+ l3r=sadr(il3+4)
+ l3i=l3r+mn3
+ id3=iadr(lw)
+ lw=sadr(id3+mn3+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call ivimp(1,mn3+1,1,istk(id3))
+ endif
+c get arg2
+ top=top-1
+ var2(1)=0
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ if(istk(il2).eq.0) then
+ call error(220)
+ return
+ endif
+ m2=istk(il2+1)
+ n2=istk(il2+2)
+ it2=istk(il2+3)
+ mn2=m2*n2
+ if(istk(il2).eq.2) then
+ id2=il2+8
+ call icopy(4,istk(il2+4),1,var2,1)
+ l2r=sadr(id2+mn2+1)
+ vol=istk(id2+mn2)-1
+ l2i=l2r+vol
+ else
+ l2r=sadr(il2+4)
+ l2i=l2r+mn2
+ id2=iadr(lw)
+ lw=sadr(id2+mn2+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call ivimp(1,mn2+1,1,istk(id2))
+ endif
+ if(var2(1).eq.0) call icopy(4,var3,1,var2,1)
+ if(.not.chkvar(var2,var3)) then
+ fin=-fin
+ top=top+1
+ call error(278)
+ return
+ endif
+c get arg1
+ top=top-1
+ il1=iadr(lstk(top))
+ ilrs=il1
+ if(il1.lt.0) il1=iadr(istk(il1))
+ if(istk(il1).eq.0) then
+ call error(220)
+ return
+ endif
+ if (istk(il1).eq.10.or.istk(il1).eq.15) then
+ top=topin
+ fin=-fin
+ return
+ endif
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+c
+ if (m2.eq.0) then
+c . arg3(arg1)=[]
+ if(m1.eq.-1) then
+c . arg3(:)=[] -->[]
+ istk(ilrs)=1
+ istk(ilrs+1)=0
+ istk(ilrs+2)=0
+ istk(ilrs+3)=0
+ lstk(top+1)=sadr(ilrs+4)+1
+ goto 999
+ elseif(m1.eq.0) then
+c . arg3([])=[] --> arg3
+ volr=istk(id3+mn3)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m3
+ istk(ilrs+2)=n3
+ istk(ilrs+3)=it3
+ call icopy(4,var2,1,istk(ilrs+4),1)
+ call icopy(mn3+1,istk(id3),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn3)
+ call unsfdcopy(volr*(it3+1),stk(l3r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it3+1)
+ goto 999
+ else
+c . arg3(arg1)=[] --> arg3(compl(arg1))
+ call indxgc(il1,mn3,ilr,mi,mx,lw)
+ if(err.gt.0) return
+ l2r=l3r
+ l2i=l3i
+ n2=n3
+ m2=m3
+ mn2=m2*n2
+ it2=it3
+ id2=id3
+ ili=ilr
+c . call extraction
+ goto 131
+ endif
+ elseif(m2.lt.0.or.m3.lt.0) then
+c . arg3=eye,arg2=eye
+ call error(14)
+ return
+ elseif(m1.lt.0) then
+c . arg3(:)=arg2
+ if(mn2.ne.mn3) then
+ if(mn2.eq.1) goto 121
+ call error(15)
+ return
+ endif
+c . reshape arg2 according to arg3
+ volr=lstk(top+2)-lstk(top+1)
+c . copy arg2
+ call unsfdcopy(volr,stk(lstk(top+1)),1,stk(lstk(top)),1)
+
+c . change dimensions
+ istk(ilrs+1)=m3
+ istk(ilrs+2)=n3
+ lstk(top+1)=lstk(top)+volr
+ goto 999
+ endif
+ 121 call indxg(il1,mn3,ili,mi,mxi,lw,1)
+ if(err.gt.0) return
+ if(mi.eq.0) then
+c . arg3([])=arg2
+ if(mn2.eq.1) then
+c . arg3([])=c --> arg3
+ volr=istk(id3+mn3)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m3
+ istk(ilrs+2)=n3
+ istk(ilrs+3)=it3
+ call icopy(4,var2,1,istk(ilrs+4),1)
+ call icopy(mn3+1,istk(id3),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn3)
+ call unsfdcopy(volr*(it3+1),stk(l3r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it3+1)
+ goto 999
+ else
+ call error(15)
+ return
+ endif
+ endif
+ inc2=1
+ if(mi.ne.mn2) then
+ if(mn2.eq.1) then
+ inc2=0
+ else
+ call error(15)
+ return
+ endif
+ endif
+c
+ if (n3.gt.1.and.m3.gt.1) then
+c . arg3 is not a vector
+ if(n2.gt.1.and.m2.gt.1) then
+ call error(15)
+ return
+ endif
+ if(mxi.gt.m3*n3) then
+ call error(21)
+ return
+ endif
+ mr=m3
+ nr=n3
+ elseif (n3.le.1.and.n2.le.1) then
+c . arg3 and arg2 are column vectors
+ mr=max(m3,mxi)
+ nr=max(n3,1)
+
+ elseif (m3.le.1.and.m2.le.1) then
+c . row vectors
+ nr=max(n3,mxi)
+ mr=max(m3,1)
+ else
+c . arg3 and arg2 dimensions dont agree
+ call error(15)
+ return
+ endif
+c
+ itr=max(it2,it3)
+ mnr=mr*nr
+c set result pointers
+ idr=iadr(lw)
+ ilr=idr+mr*nr+1
+ lr=sadr(ilr)
+ ilw=ilr
+ err=sadr(ilr+mr*nr+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call mpinsp(istk(id3),m3*n3,1,istk(ili),mi,1,1,istk(id2),m2*n2,1
+ $ ,istk(idr),mr*nr,1,1,istk(ilw),err)
+ if(err.gt.0) then
+ call error(15)
+ return
+ endif
+ volr=istk(idr)
+c set result coefficients
+ li=lr+volr
+ lw=li+volr*itr
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c
+ if(it2.eq.0) then
+ if(it3.eq.0) then
+ call dmpins(stk(l3r),istk(id3),m3*n3,1,stk(l2r),istk(id2),
+ $ m2*n2,1,stk(lr),istk(idr),mr*nr,1)
+ else
+ l2i=lw
+ lw=l2i+istk(id2+mn2)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(istk(id2+mn2)-1,0.0d+0,stk(l2i),1)
+ call wmpins(stk(l3r),stk(l3i),istk(id3),m3*n3,1,
+ $ stk(l2r),stk(l2i),istk(id2),m2*n2,1,stk(lr),
+ $ stk(lr+volr),istk(idr),mr*nr,1)
+ endif
+ else
+ if(it3.eq.0) then
+ l3i=lw
+ lw=l3i+istk(id3+mn3)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(istk(id3+mn3)-1,0.0d+0,stk(l3i),1)
+ call wmpins(stk(l3r),stk(l3i),istk(id3),m3*n3,1,
+ $ stk(l2r),stk(l2i),istk(id2),m2*n2,1,stk(lr),
+ $ stk(lr+volr),istk(idr),mr*nr,1)
+ else
+ call wmpins(stk(l3r),stk(l3i),istk(id3),m3*n3,1,
+ $ stk(l2r),stk(l2i),istk(id2),m2*n2,1,stk(lr),
+ $ stk(lr+volr),istk(idr),mr*nr,1)
+ endif
+ endif
+c set output variable
+ il1=iadr(lstk(top))
+ istk(il1)=2
+ istk(il1+1)=mr
+ istk(il1+2)=nr
+ istk(il1+3)=itr
+ call icopy(4,var2,1,istk(il1+4),1)
+ call icopy(mr*nr+1,istk(idr),1,istk(il1+8),1)
+ l1=sadr(il1+mr*nr+9)
+ call unsfdcopy(volr*(itr+1),stk(lr),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(itr+1)
+ goto 999
+c
+ 124 continue
+c arg4(arg1,arg2)=arg3
+c get arg4
+ var4(1)=0
+ il4=iadr(lstk(top))
+ if(istk(il4).lt.0) il4=iadr(istk(il4+1))
+ m4=istk(il4+1)
+ n4=istk(il4+2)
+ it4=istk(il4+3)
+ mn4=m4*n4
+ if(istk(il4).eq.2) then
+ id4=il4+8
+ call icopy(4,istk(il4+4),1,var4,1)
+ l4r=sadr(id4+mn4+1)
+ vol=istk(id4+mn4)-1
+ l4i=l4r+vol
+ else
+ l4r=sadr(il4+4)
+ l4i=l4r+mn4
+ id4=iadr(lw)
+ lw=sadr(id4+mn4+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call ivimp(1,mn4+1,1,istk(id4))
+ endif
+ top=top-1
+c get arg3
+ var3(1)=0
+ il3=iadr(lstk(top))
+ if(istk(il3).lt.0) il3=iadr(istk(il3+1))
+ if(istk(il3).eq.0) then
+ call error(220)
+ return
+ endif
+ m3=istk(il3+1)
+ n3=istk(il3+2)
+ it3=istk(il3+3)
+ mn3=m3*n3
+ if(istk(il3).eq.2) then
+ id3=il3+8
+ call icopy(4,istk(il3+4),1,var3,1)
+ l3r=sadr(id3+mn3+1)
+ vol=istk(id3+mn3)-1
+ l3i=l3r+vol
+ else
+ l3r=sadr(il3+4)
+ l3i=l3r+mn3
+ id3=iadr(lw)
+ lw=sadr(id3+mn3+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call ivimp(1,mn3+1,1,istk(id3))
+ endif
+ if(var3(1).eq.0) call icopy(4,var4,1,var3,1)
+ if(.not.chkvar(var3,var4)) then
+ fin=-fin
+ top=top+2
+ endif
+c get arg2
+ top=top-1
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ if(istk(il2).eq.0) then
+ call error(220)
+ return
+ endif
+ m2=istk(il2+1)
+c get arg1
+ top=top-1
+ il1=iadr(lstk(top))
+ ilrs=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).eq.0) then
+ call error(220)
+ return
+ endif
+ m1=istk(il1+1)
+
+ if (m3.eq.0) then
+c . arg4(arg1,arg2)=[]
+ if(m1.eq.-1.and.m2.eq.-1) then
+c . arg4(:,:)=[] -->[]
+ istk(ilrs)=1
+ istk(ilrs+1)=0
+ istk(ilrs+2)=0
+ istk(ilrs+3)=0
+ lstk(top+1)=sadr(ilrs+4)+1
+ goto 999
+ elseif(m1.eq.0.or.m2.eq.0) then
+c . arg4([],arg2)=[], arg4(arg1,[])=[] --> arg4
+ volr=istk(id4+mn4)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m4
+ istk(ilrs+2)=n4
+ istk(ilrs+3)=it4
+ call icopy(4,var3,1,istk(ilrs+4),1)
+ call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn4)
+ call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it4+1)
+ goto 999
+ elseif(m2.eq.-1) then
+c . arg4(arg1,:)=[] --> arg3(compl(arg1),:)
+ call indxgc(il1,m4,ili,mi,mxi,lw)
+ if(err.gt.0) return
+ call indxg(il2,n4,ilj,nj,mxj,lw,1)
+ if(err.gt.0) return
+ l3r=l4r
+ l3i=l4i
+ n3=n4
+ m3=m4
+ mn3=m3*n3
+ it3=it4
+ id3=id4
+c . call extraction
+ goto 133
+ elseif(m1.eq.-1) then
+c . arg4(:,arg2)=[] --> arg4(:,compl(arg2))
+ call indxgc(il2,n4,ilj,nj,mxj,lw)
+ if(err.gt.0) return
+ call indxg(il1,m4,ili,mi,mxi,lw,1)
+ if(err.gt.0) return
+ l3r=l4r
+ l3i=l4i
+ n3=n4
+ m3=m4
+ mn3=m3*n3
+ it3=it4
+ id3=id4
+c . call extraction
+ goto 133
+ else
+c . arg4(arg1,arg2)=[]
+ lw1=lw
+ call indxgc(il2,n4,ilj,nj,mxj,lw)
+ if(err.gt.0) return
+ if(nj.eq.0) then
+c . arg4(arg1,1:n4)=[]
+ call indxgc(il1,m4,ili,mi,mxi,lw)
+ lw2=lw
+ if(err.gt.0) return
+c . arg2=1:n4
+ if(mi.eq.0) then
+c . arg4(1:m4,1:n4)=[]
+ istk(ilrs)=1
+ istk(ilrs+1)=0
+ istk(ilrs+2)=0
+ istk(ilrs+3)=0
+ lstk(top+1)=sadr(ilrs+4)+1
+ goto 999
+ else
+c . arg4(arg1,1:n4)=[]
+c . replace arg2 by ":"
+ il2=iadr(lw2)
+ istk(il2)=1
+ istk(il2+1)=-1
+ istk(il2+2)=-1
+ istk(il2+3)=0
+c .
+ lw=lw2+2
+ call indxg(il2,n4,ilj,nj,mxj,lw,1)
+ if(err.gt.0) return
+ l3r=l4r
+ n3=n4
+ m3=m4
+ it3=it4
+ mn3=m3*n3
+ id3=id4
+c . call extraction
+ goto 133
+ endif
+ elseif(nj.eq.n4) then
+c . arg4(arg1,[])=[] --> arg4
+ volr=istk(id4+mn4)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m4
+ istk(ilrs+2)=n4
+ istk(ilrs+3)=it4
+ call icopy(4,var3,1,istk(ilrs+4),1)
+ call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn4)
+ call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it4+1)
+ goto 999
+ else
+ call indxgc(il1,m4,ili,mi,mxi,lw)
+ if(err.gt.0) return
+
+ if(mi.eq.0) then
+c . arg4(1:m4,arg2)=[]
+ call indxg(il1,m4,ili,mi,mxi,lw,1)
+ if(err.gt.0) return
+ l3r=l4r
+ n3=n4
+ m3=m4
+C . given set is larger than 1:m4
+ mi=min(m4,mi)
+ it3=it4
+ mn3=m3*n3
+ id3=id4
+c . call extraction
+ goto 133
+ elseif(mi.eq.m4) then
+c . arg4([],arg2)=[] --> arg4
+ volr=istk(id4+mn4)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m4
+ istk(ilrs+2)=n4
+ istk(ilrs+3)=it4
+ call icopy(4,var3,1,istk(ilrs+4),1)
+ call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn4)
+ call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it4+1)
+ goto 999
+ else
+ call error(15)
+ return
+ endif
+ endif
+ endif
+ elseif(m3.lt.0.or.m4.lt.0) then
+c . arg3=eye , arg4=eye
+ call error(14)
+ return
+ elseif(m1.eq.-1.and.m2.eq.-1) then
+c . arg4(:,:)=arg3
+ if(mn3.ne.mn4) then
+ if(mn3.eq.1) goto 125
+ call error(15)
+ return
+ endif
+c . reshape arg3 according to arg4
+ volr=istk(id3+mn3)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m4
+ istk(ilrs+2)=n4
+ istk(ilrs+3)=it3
+ call icopy(4,var3,1,istk(ilrs+4),1)
+ call icopy(mn3+1,istk(id3),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn3)
+ call unsfdcopy(volr*(it3+1),stk(l3r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it3+1)
+ goto 999
+ endif
+
+ 125 continue
+ init4=0
+ if(m1.eq.-1.and.m4.eq.0) then
+c . arg4(:,i)=arg3
+ m3=m3*n3
+ n3=1
+ n4=1
+ m4=m3
+ init4=1
+
+ elseif(m2.eq.-1.and.m4.eq.0) then
+c . arg4(i,:)=arg3
+ n3=m3*n3
+ m3=1
+ m4=1
+ n4=n3
+ init4=1
+ endif
+ if(init4.eq.1) then
+
+ mn4=m4*n4
+ l4r=lw
+ l4i=l4r+mn4
+ id4=iadr(l4i)
+ lw=sadr(id4+mn4+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(mn4,0.0d0,stk(l4r),1)
+ call ivimp(1,mn4+1,1,istk(id4))
+ endif
+ call indxg(il1,m4,ili,mi,mxi,lw,1)
+ if(err.gt.0) return
+ call indxg(il2,n4,ilj,mj,mxj,lw,1)
+ if(err.gt.0) return
+ if(mi.ne.m3.or.mj.ne.n3) then
+c . sizes of arg1 or arg2 dont agree with arg3 sizes
+ inc3=1
+ if(mn3.eq.1) then
+ if(mi.eq.0.or.mj.eq.0) then
+ volr=istk(id4+mn4)-1
+ istk(ilrs)=2
+ istk(ilrs+1)=m4
+ istk(ilrs+2)=n4
+ istk(ilrs+3)=it4
+ call icopy(4,var3,1,istk(ilrs+4),1)
+ call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1)
+ l1=sadr(ilrs+9+mn4)
+ call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it4+1)
+ goto 999
+ endif
+ inc3=0
+ else
+ call error(15)
+ return
+ endif
+ else
+ if(mi.eq.0.or.mj.eq.0) then
+ call error(15)
+ return
+ endif
+ endif
+ mr=max(m4,mxi)
+ nr=max(n4,mxj)
+c
+ mnr=mr*nr
+ itr=max(it4,it3)
+c set result pointers
+ idr=iadr(lw)
+ ilr=idr+mr*nr+1
+ lr=sadr(ilr)
+ ilw=ilr
+ err=sadr(ilw+mr+nr)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call mpinsp(istk(id4),m4,n4,istk(ili),mi,istk(ilj),mj,istk(id3)
+ $ ,m3,n3,istk(idr),mr,nr,1,istk(ilw),err)
+ if(err.gt.0) then
+ call error(15)
+ return
+ endif
+ volr=istk(idr)
+c set result coefficients
+ li=lr+volr
+ lw=li+volr*itr
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c
+ if(it3.eq.0) then
+ if(it4.eq.0) then
+ call dmpins(stk(l4r),istk(id4),m4,n4,stk(l3r),istk(id3),
+ $ m3,n3,stk(lr),istk(idr),mr,nr)
+ else
+ l3i=lw
+ lw=l3i+istk(id3+mn3)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(istk(id3+mn3),0.0d+0,stk(l3i),1)
+ call wmpins(stk(l4r),stk(l4i),istk(id4),m4,n4,
+ $ stk(l3r),stk(l3i),istk(id3),m3,n3,stk(lr),
+ $ stk(lr+volr),istk(idr),mr,nr)
+ endif
+ else
+ if(it4.eq.0) then
+ l4i=lw
+ lw=l4i+istk(id4+mn4)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(istk(id4+mn4),0.0d+0,stk(l4i),1)
+ call wmpins(stk(l4r),stk(l4i),istk(id4),m4,n4,
+ $ stk(l3r),stk(l3i),istk(id3),m3,n3,stk(lr),
+ $ stk(lr+volr),istk(idr),mr,nr)
+ else
+ call wmpins(stk(l4r),stk(l4i),istk(id4),m4,n4,
+ $ stk(l3r),stk(l3i),istk(id3),m3,n3,stk(lr),
+ $ stk(lr+volr),istk(idr),mr,nr)
+ endif
+ endif
+c set output variable
+ il1=iadr(lstk(top))
+ istk(il1)=2
+ istk(il1+1)=mr
+ istk(il1+2)=nr
+ istk(il1+3)=itr
+ call icopy(4,var3,1,istk(il1+4),1)
+ call icopy(mr*nr+1,istk(idr),1,istk(il1+8),1)
+ l1=sadr(il1+mr*nr+9)
+ call unsfdcopy(volr*(itr+1),stk(lr),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(itr+1)
+ goto 999
+
+
+c
+c extraction
+ 130 continue
+ if(rhs.lt.2) then
+ call error(227)
+ return
+ endif
+ if(rhs.eq.3) goto 132
+ if(rhs.gt.3) then
+ fin=-fin
+ return
+ endif
+c arg2(arg1)
+c get arg2
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ m2=istk(il2+1)
+ n2=istk(il2+2)
+ it2=istk(il2+3)
+ mn2=m2*n2
+ id2=il2+8
+ call icopy(4,istk(il2+4),1,var2,1)
+ l2r=sadr(id2+mn2+1)
+ vol=istk(id2+mn2)-1
+ l2i=l2r+vol
+c get arg1
+ top=top-1
+ il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).eq.0) then
+ call error(220)
+ return
+ endif
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+
+ if(mn2.eq.0) then
+c . arg2=[]
+ il1=iadr(lstk(top))
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ l1=sadr(il1+4)
+ lstk(top+1)=l1+1
+ goto 999
+ elseif(m2.lt.0) then
+c . arg2=eye
+ call error(14)
+ return
+ elseif(m1.lt.0) then
+c . arg2(:), just reshape to column vector
+ volr=istk(id2+mn2)-1
+ il1=iadr(lstk(top))
+ istk(il1)=2
+ istk(il1+1)=mn2
+ istk(il1+2)=1
+ istk(il1+3)=istk(il2+3)
+ call icopy(4,var2,1,istk(il1+4),1)
+ call icopy(mn2+1,istk(id2),1,istk(il1+8),1)
+ l1=sadr(il1+9+mn2)
+ call unsfdcopy(volr*(it2+1),stk(l2r),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it2+1)
+ goto 999
+ endif
+c check and convert indices variable
+ call indxg(il1,mn2,ili,mi,mx,lw,1)
+ if(err.gt.0) return
+ if(mx.gt.mn2) then
+ call error(21)
+ return
+ endif
+ 131 if(mi.eq.0) then
+c arg2([])
+ il1=iadr(lstk(top))
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ l1=sadr(il1+4)
+ lstk(top+1)=l1+1
+ goto 999
+ endif
+c get memory for the result
+ idr=iadr(lw)
+ lr=sadr(idr+mi+1)
+ lw=lr
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c set result pointers
+ if (m2 .gt. 1.or.m1.lt.0) then
+ call dmpext(stk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,stk(lr)
+ $ ,istk(idr),0,err)
+ else
+ call dmpext(stk(l2r),istk(id2),m2,n2,1,1,istk(ili),mi,stk(lr)
+ $ ,istk(idr),0,err)
+ endif
+ if(err.gt.0) then
+ call error(21)
+ return
+ endif
+c set result coefficients
+ volr=istk(idr+mi)-1
+ lw=lr+volr*(it2+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ if (m2.eq.1.and.n2.eq.1.and.m1.gt.0) then
+ m = m1
+ n = min(n1,mi)
+ call dmpext(stk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,stk(lr)
+ $ ,istk(idr),1,err)
+ if(it2.eq.1) call dmpext(stk(l2i),istk(id2),m2,n2,istk(ili),mi
+ $ ,1,1,stk(lr+volr),istk(idr),1,err)
+ elseif (m2 .gt. 1.or.m1.lt.0) then
+ call dmpext(stk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,stk(lr)
+ $ ,istk(idr),1,err)
+ if(it2.eq.1) call dmpext(stk(l2i),istk(id2),m2,n2,istk(ili),mi
+ $ ,1,1,stk(lr+volr),istk(idr),1,err)
+ m = mi
+ n = 1
+ else
+ call dmpext(stk(l2r),istk(id2),m2,n2,1,1,istk(ili),mi,stk(lr)
+ $ ,istk(idr),1,err)
+ if(it2.eq.1) call dmpext(stk(l2i),istk(id2),m2,n2,1,1,istk(ili)
+ $ ,mi,stk(lr+volr),istk(idr),1,err)
+ n = mi
+ m = 1
+ endif
+c form resulting variable
+ il1=iadr(lstk(top))
+ istk(il1)=2
+ istk(il1+1)=m
+ istk(il1+2)=n
+ istk(il1+3)=it2
+ call icopy(4,var2,1,istk(il1+4),1)
+ call icopy(mi+1,istk(idr),1,istk(il1+8),1)
+ l1=sadr(il1+9+mi)
+ call unsfdcopy(volr*(it2+1),stk(lr),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it2+1)
+ go to 999
+c
+ 132 continue
+c arg3(arg1,arg2)
+c get arg3
+ il3=iadr(lstk(top))
+ if(istk(il3).lt.0) il3=iadr(istk(il3+1))
+ m3=istk(il3+1)
+ n3=istk(il3+2)
+ it3=istk(il3+3)
+ mn3=m3*n3
+ id3=il3+8
+ call icopy(4,istk(il3+4),1,var3,1)
+ l3r=sadr(id3+mn3+1)
+ vol=istk(id3+mn3)-1
+ l3i=l3r+vol
+c get arg2
+ top=top-1
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ if(istk(il2).eq.0) then
+ call error(220)
+ return
+ endif
+ m2=istk(il2+1)
+c get arg1
+ top=top-1
+ il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).eq.0) then
+ call error(220)
+ return
+ endif
+ m1=istk(il1+1)
+c
+ if(mn3.eq.0) then
+c . arg3=[]
+ il1=iadr(lstk(top))
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ l1=sadr(il1+4)
+ lstk(top+1)=l1+1
+ goto 999
+ elseif(m3.lt.0) then
+c .arg3=eye
+ call error(14)
+ return
+ endif
+c check and convert indices variables
+ call indxg(il1,m3,ili,mi,mxi,lw,1)
+ if(err.gt.0) return
+ if(mxi.gt.m3) then
+ call error(21)
+ return
+ endif
+ call indxg(il2,n3,ilj,nj,mxj,lw,1)
+ if(err.gt.0) return
+ if(mxj.gt.n3) then
+ call error(21)
+ return
+ endif
+c
+c perform extraction
+ 133 mnr=mi*nj
+ if(mnr.eq.0) then
+c . arg1=[] or arg2=[]
+ il1=iadr(lstk(top))
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ l1=sadr(il1+4)
+ lstk(top+1)=l1+1
+ goto 999
+ endif
+ idr=iadr(lw)
+ lr=sadr(idr+mnr+1)
+ lw=lr
+ err=lr-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c set result pointers
+ call dmpext(stk(l3r),istk(id3),m3,n3,istk(ili),mi,istk(ilj),nj
+ $ ,stk(lr),istk(idr),0,err)
+ if(err.gt.0) then
+ call error(21)
+ return
+ endif
+c set result coefficients
+ volr=istk(idr+mnr)-1
+ lw=lr+volr*(it3+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dmpext(stk(l3r),istk(id3),m3,n3,istk(ili),mi,istk(ilj),nj
+ $ ,stk(lr),istk(idr),1,err)
+ if(it3.eq.1) call dmpext(stk(l3i),istk(id3),m3,n3,istk(ili),mi
+ $ ,istk(ilj),nj,stk(lr+volr),istk(idr),1,err)
+c
+ il1=iadr(lstk(top))
+ istk(il1)=2
+ istk(il1+1)=mi
+ istk(il1+2)=nj
+ istk(il1+3)=it3
+ call icopy(4,var3,1,istk(il1+4),1)
+ call icopy(mnr+1,istk(idr),1,istk(il1+8),1)
+ l1=sadr(il1+9+mnr)
+ call unsfdcopy(volr*(it3+1),stk(lr),1,stk(l1),1)
+ lstk(top+1)=l1+volr*(it3+1)
+ goto 999
+c
+c divisions
+c
+c division a droite
+ 150 continue
+ if(mn1.eq.0.or.mn2.eq.0) then
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ lstk(top+1)=sadr(il1+4)+1
+ goto 999
+ endif
+ if(op.eq.slash) then
+ if(mn2.ne.1.and.mn1.ne.1.and.n2.ne.n1) then
+ call error(11)
+ return
+ endif
+ if(istk(il2).ne.1) then
+c . divisor is a polynomial
+ fin=-op
+ top=top+1
+ goto 999
+ elseif(mn2.gt.1) then
+c . divisor is not a scalar
+ fin=-op
+ top=top+1
+ goto 999
+ else
+c . scalar divisor
+ mn=mn2
+ l=l2r
+ il=il2
+ it=it2
+ goto 157
+ endif
+ elseif(op.eq.dot+slash) then
+ if(mn2.ne.1.and.mn1.ne.1.and.(m1.ne.m2.or.n1.ne.n2)) then
+ call error(11)
+ return
+ endif
+ if(istk(il2).ne.1) then
+c . divisor is a polynomial
+ fin=-op
+ top=top+1
+ goto 999
+ else
+c . divisor is a vector of scalar
+ mn=mn2
+ l=l2r
+ il=il2
+ it=it2
+ goto 157
+ endif
+ endif
+c
+c
+c division a gauche
+ 155 continue
+ if(mn1.eq.0.or.mn2.eq.0) then
+ istk(il1)=1
+ istk(il1+1)=0
+ istk(il1+2)=0
+ istk(il1+3)=0
+ lstk(top+1)=sadr(il1+4)+1
+ goto 999
+ endif
+ if(op.eq.bslash) then
+ if(mn2.ne.1.and.mn1.ne.1.and.m2.ne.m1) then
+ call error(12)
+ return
+ endif
+ if(istk(il1).ne.1) then
+c . divisor is a polynomial
+ fin=-op
+ top=top+1
+ goto 999
+ elseif(mn1.gt.1) then
+c . divisor is not a scalar
+ fin=-op
+ top=top+1
+ goto 999
+ else
+c . scalar divisor
+ mn=mn1
+ l=l1r
+ il=il1
+ it=it1
+ goto 157
+ endif
+ elseif(op.eq.dot+bslash) then
+ if(mn2.ne.1.and.mn1.ne.1.and.(m1.ne.m2.or.n1.ne.n2)) then
+ call error(12)
+ return
+ endif
+ if(istk(il1).ne.1) then
+c . divisor is a polynomial
+ fin=-op
+ top=top+1
+ goto 999
+ else
+c . divisor is a vector of scalar
+ mn=mn1
+ l=l1r
+ il=il1
+ it=it1
+ goto 157
+ endif
+ endif
+ go to 999
+
+c in-line inversion procedure
+ 157 continue
+c divisor is a vector of scalars
+ do 158 i=1,mn
+ sr=stk(l-1+i)
+ si=0.0d+0
+ if(it.eq.1) si=stk(l+mn-1+i)
+ e1=max(abs(sr),abs(si))
+ if(e1.eq.0.d0) then
+ call error(27)
+ return
+ endif
+ sr=sr/e1
+ si=si/e1
+ e1=e1*(sr*sr+si*si)
+ stk(l-1+i)=sr/e1
+ if(it.eq.1) stk(l+mn-1+i)=-si/e1
+ 158 continue
+c . goto multiplication alg
+ goto 40
+
+c
+c comparaisons
+ 160 continue
+ itrue=1
+ if(op.eq.less+great) itrue=0
+c comparaison des types
+ if(istk(il1).gt.2.or.istk(il2).gt.2) then
+ istk(il1)=4
+ istk(il1+1)=1
+ istk(il1+2)=1
+ istk(il1+3)=1-itrue
+ lstk(top+1)=sadr(il1+4)
+ return
+ endif
+c des nom de variable
+ do 161 i=1,4
+ if(var1(i).ne.var2(i)) then
+ istk(il1)=4
+ istk(il1+1)=1
+ istk(il1+2)=1
+ istk(il1+3)=1-itrue
+ lstk(top+1)=sadr(il1+4)
+ return
+ endif
+ 161 continue
+c des dimensions
+ if(m1.eq.-1) then
+c . eye op b
+ nn1=istk(id1+1)-1
+ il1w=iadr(lw)
+ lw=sadr(il1w+m2*n2)
+ err=lw+2-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ stk(lw)=0.0d0
+ stk(lw+1)=0.0d0
+ i2=id2
+ n2=abs(n2)
+ m2=abs(m2)
+ do 166 i=1,n2
+ do 165 j=1,m2
+ if (i.eq.j) then
+ if(nn1.ne.istk(i2+1)-istk(i2) ) goto 164
+ nl=nn1
+ l1=l1r-1
+ else
+ if(1.ne.istk(i2+1)-istk(i2) ) goto 164
+ l1=lw-1
+ nl=1
+ endif
+ l2=l2r+istk(i2)-2
+ do 162 ii=1,nl
+ if(stk(l1+ii).ne.stk(l2+ii)) goto 164
+ 162 continue
+ if(max(it1,it2).eq.1) then
+ e1=0.0d+0
+ e2=0.0d+0
+ do 163 ii=1,nl
+ if(it1.eq.1) e1=stk(l1+nl+ii)
+ if(it2.eq.1) e2=stk(l2i+istk(i2)-2+ii)
+ if(e1.ne.e2) goto 164
+ 163 continue
+ endif
+ i2=i2+1
+ istk(il1w-1+(j-1)*m2+i)=itrue
+ goto 165
+ 164 continue
+ i2=i2+1
+ istk(il1w-1+(j-1)*m2+i)=1-itrue
+ 165 continue
+ 166 continue
+ istk(il1)=4
+ istk(il1+1)=m2
+ istk(il1+2)=n2
+ call icopy(m2*n2,istk(il1w),1,istk(il1+3),1)
+ lstk(top+1)=sadr(il1+3+m2*n2)
+ goto 999
+ elseif(m2.eq.-1) then
+c . b op eye
+ nn2=istk(id2+1)-1
+ il1w=iadr(lw)
+ lw=sadr(il1w+m1*n1)
+ err=lw+2-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ stk(lw)=0.0d0
+ stk(lw+1)=0.0d0
+ i1=id1
+ do 176 i=1,n1
+ do 175 j=1,m1
+ if (i.eq.j) then
+ if(nn2.ne.istk(i1+1)-istk(i1) ) goto 174
+ nl=nn2
+ l2=l2r-1
+ else
+ if(1.ne.istk(i1+1)-istk(i1) ) goto 174
+ l2=lw-1
+ nl=1
+ endif
+ l1=l1r+istk(i1)-2
+ do 172 ii=1,nl
+ if(stk(l2+ii).ne.stk(l1+ii)) goto 174
+ 172 continue
+ if(max(it1,it2).eq.1) then
+ e1=0.0d+0
+ e2=0.0d+0
+ do 173 ii=1,nl
+ if(it1.eq.1) e1=stk(l2+nl+ii)
+ if(it2.eq.1) e2=stk(l1i+istk(i1)-2+ii)
+ if(e1.ne.e2) goto 174
+ 173 continue
+ endif
+ i1=i1+1
+ istk(il1w-1+(j-1)*m1+i)=itrue
+ goto 175
+ 174 continue
+ i2=i2+1
+ istk(il1w-1+(j-1)*m1+i)=1-itrue
+ 175 continue
+ 176 continue
+ istk(il1)=4
+ istk(il1+1)=m1
+ istk(il1+2)=n1
+ call icopy(m1*n1,istk(il1w),1,istk(il1+3),1)
+ lstk(top+1)=sadr(il1+3+m1*n1)
+ goto 999
+
+ elseif(mn1.eq.1.and.mn2.gt.1) then
+ nn1=istk(id1+1)-1
+ err=lw+nn1*(it1+1)+2-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(nn1*(it1+1),stk(l1r),1,stk(lw),1)
+ l1r=lw
+ l1i=l1r+nn1
+ id1=iadr(l1r+nn1*(it1+1))
+ istk(id1)=1
+ istk(id1+1)=nn1+1
+ inc1=0
+ inc2=1
+ mn1=mn2
+ m1=m2
+ n1=n2
+ istk(il1+1)=m1
+ istk(il1+2)=n1
+ else if(mn2.eq.1.and.mn1.gt.1) then
+ nn2=istk(id2+1)-1
+ err=lw+nn2*(it2+1)+2-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(nn2*(it2+1),stk(l2r),1,stk(lw),1)
+ l2r=lw
+ l2i=l2r+nn2
+ id2=iadr(l2r+nn2*(it2+1))
+ istk(id2)=1
+ istk(id2+1)=nn2+1
+ inc1=1
+ inc2=0
+ mn2=mn1
+ m2=m1
+ n2=n1
+ else if(n1.ne.n2.or.m1.ne.m2) then
+ istk(il1)=4
+ istk(il1+1)=1
+ istk(il1+2)=1
+ istk(il1+3)=1-itrue
+ lstk(top+1)=sadr(il1+4)
+ return
+ else
+ inc1=1
+ inc2=1
+ endif
+c des valeurs
+ i1=id1-inc1
+ i2=id2-inc2
+ l1r=l1r-1
+ l2r=l2r-1
+ l1i=l1i-1
+ l2i=l2i-1
+ do 185 i=0,mn1-1
+ i1=i1+inc1
+ i2=i2+inc2
+ if(istk(il2).eq.1) then
+c poly == double
+c check rank
+ if(istk(i1+1)-istk(i1)-1.ne.0) goto 184
+c check real values
+ if(stk(l1r+istk(i1)).ne.stk(l2r+(i*inc2)+1)) goto 184
+c check imaginary values
+ if(it1+it2.eq.2) then
+ if(stk(l1i+istk(i1)).ne.stk(l2i+(i*inc2)+1)) goto 184
+ else if(it1.eq.1) then
+ if(stk(l1i+istk(i1)).ne.0.0d+0) goto 184
+ else if(it2.eq.1) then
+ if(0.0d+0.ne.stk(l2i+(i*inc2)+1)) goto 184
+ endif
+ else if (istk(il1).eq.1) then
+c double == poly
+c check rank
+ if(istk(i2+1)-istk(i2)-1.ne.0) goto 184
+c check real values
+ if(stk(l1r+(i*inc1)+1).ne.stk(l2r+istk(i2))) goto 184
+c check imaginary values
+ if(it1+it2.eq.2) then
+ if(stk(l1i+(i*inc1)+1).ne.stk(l2i+istk(i2))) goto 184
+ else if(it1.eq.1) then
+ if(stk(l1i+(i*inc1)+1).ne.0.0d+0) goto 184
+ else if(it2.eq.1) then
+ if(0.0d+0.ne.stk(l2i+istk(i2))) goto 184
+ endif
+ else
+c poly == poly
+c check rank
+ if(istk(i1+1)-istk(i1).ne.istk(i2+1)-istk(i2) ) goto 184
+ nl=istk(i1+1)-istk(i1)-1
+c check real values
+ do 182 ii=0,nl
+ if(stk(l1r+istk(i1)+ii).ne.stk(l2r+istk(i2)+ii)) goto 184
+ 182 continue
+ istk(il1+3+i)=itrue
+ if(max(it1,it2).eq.0) goto 185
+ e1=0.0d+0
+ e2=0.0d+0
+c check imaginary values
+ do 183 ii=0,nl
+ if(it1.eq.1) e1=stk(l1i+istk(i1)+ii)
+ if(it2.eq.1) e2=stk(l2i+istk(i2)+ii)
+ if(e1.ne.e2) goto 184
+ 183 continue
+ endif
+ istk(il1+3+i)=itrue
+ goto 185
+ 184 istk(il1+3+i)=1-itrue
+ 185 continue
+ istk(il1)=4
+ istk(il1+1)=m1
+ istk(il1+2)=n1
+ lstk(top+1)=sadr(il1+3+mn1)
+ goto 999
+c
+ 200 continue
+c a [:b]:c
+ var1(1)=0
+ if(rhs.eq.3) then
+ il3=iadr(lstk(top))
+ if(istk(il3).lt.0) il3=iadr(istk(il3+1))
+ if(istk(il3+1).ne.1.or.istk(il3+2).ne.1) then
+ err=3
+ call putid(ids(1,pt+1),colonid)
+ call error(204)
+ return
+ endif
+ if(istk(il3+3).ne.0) then
+ err=3
+ call error(52)
+ return
+ endif
+ if(istk(il3).eq.1) then
+ n3=1
+ l3=sadr(il3+4)
+ else
+ n3=istk(il3+9)-1
+ l3=sadr(il3+10)
+ call icopy(4,istk(il3+4),1,var1,1)
+ endif
+ top=top-1
+ endif
+ if (rhs.ge.2) then
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ if(istk(il2+1).ne.1.or.istk(il2+2).ne.1) then
+ err=2
+ call putid(ids(1,pt+1),colonid)
+ call error(204)
+ return
+ endif
+ if(istk(il2+3).ne.0) then
+ err=2
+ call error(52)
+ return
+ endif
+ if(istk(il2).eq.1) then
+ n2=1
+ l2=sadr(il2+4)
+ else
+ n2=istk(il2+9)-1
+ l2=sadr(il2+10)
+ if (var1(1).ne.0) then
+ if(var1(1).ne.istk(il2+4).or.var1(2).ne.istk(il2+5).or
+ $ .var1(3).ne.istk(il2+6).or.var1(4).ne.istk(il2+7))
+ $ then
+ call error(278)
+ return
+ endif
+ else
+ call icopy(4,istk(il2+4),1,var1,1)
+ endif
+ endif
+ top=top-1
+ endif
+ il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1+1).ne.1.or.istk(il1+2).ne.1) then
+ err=1
+ call putid(ids(1,pt+1),colonid)
+ call error(204)
+ return
+ endif
+ if(istk(il1+3).ne.0) then
+ err=2
+ call error(52)
+ return
+ endif
+ if(istk(il1).eq.1) then
+ n1=1
+ l1=sadr(il1+4)
+ else
+ n1=istk(il1+9)-1
+ l1=sadr(il1+10)
+ if (var1(1).ne.0) then
+ if(var1(1).ne.istk(il1+4).or.var1(2).ne.istk(il1+5).or.
+ $ var1(3).ne.istk(il1+6).or.var1(4).ne.istk(il1+7)) then
+ call error(278)
+ return
+ endif
+ else
+ call icopy(4,istk(il1+4),1,var1,1)
+ endif
+ endif
+ if (rhs.eq.2) then
+ n3=n2
+ l3=l2
+ n2=1
+ l2=lw
+ stk(l2)=1
+ lw=lw+1
+ endif
+ call unsfdcopy(n1,stk(l1),1,stk(lw),1)
+ call unsfdcopy(n2,stk(l2),1,stk(lw+n1),1)
+ call unsfdcopy(n3,stk(l3),1,stk(lw+n1+n2),1)
+ il1=iadr(lstk(top))
+ istk(il1)=129
+ istk(il1+1)=1
+ istk(il1+2)=3
+ istk(il1+3)=0
+ call icopy(4,var1,1,istk(il1+4),1)
+ istk(il1+8)=1
+ istk(il1+9)=1+n1
+ istk(il1+10)=istk(il1+9)+n2
+ istk(il1+11)=istk(il1+10)+n3
+ l=sadr(il1+12)
+ call unsfdcopy(n1+n2+n3,stk(lw),1,stk(l),1)
+ lstk(top+1)=l+n1+n2+n3
+c
+ 999 return
+ end
diff --git a/modules/polynomials/sci_gateway/fortran/polops.lo b/modules/polynomials/sci_gateway/fortran/polops.lo
new file mode 100755
index 000000000..430858609
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/polops.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/polops.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/polops.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_bezout.f b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.f
new file mode 100755
index 000000000..21cc216bc
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.f
@@ -0,0 +1,156 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intbez(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vol,blank,ipb(6)
+ double precision er
+
+ logical refa,refb
+ data blank/40/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+
+ if(rhs.ne.2) then
+ call error(42)
+ return
+ endif
+ if(lhs.ne.2.and.lhs.ne.3) then
+ call error(41)
+ return
+ endif
+ lw =lstk(top+1)
+c
+ ilb=iadr(lstk(top))
+ ilbr=ilb
+ if(istk(ilb).lt.0) ilb=iadr(istk(ilb+1))
+ if(istk(ilb).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'bezout',ilb)
+ return
+ endif
+ refb=ilbr.ne.ilb
+ itb=istk(ilb+3)
+ if(itb.ne.0) then
+ fun=-1
+ call funnam(ids(1,pt+1),'bezout',ilb)
+ return
+ endif
+ if(istk(ilb+1)*istk(ilb+2).ne.1)then
+ err=2
+ call error(89)
+ return
+ endif
+ if(istk(ilb).eq.1) then
+ nb=0
+ lb=sadr(ilb+4)
+ id(1)=0
+ else
+ nb=istk(ilb+9)-2
+ lb=sadr(ilb+9)
+ call icopy(4,istk(ilb+4),1,id,1)
+ endif
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'bezout',il1)
+ return
+ endif
+ refa=ilr.ne.il1
+ it1=istk(il1+3)
+ if(it1.ne.0) then
+ fun=-1
+ call funnam(ids(1,pt+1),'bezout',il1)
+ return
+ endif
+ if(istk(il1+1)*istk(il1+2).ne.1) then
+ err=1
+ call error(89)
+ return
+ endif
+ mn1=1
+ if(istk(il1).eq.2) then
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+ na=vol-1
+ if(id(1).eq.0) call icopy(4,istk(il1+4),1,id,1)
+ else
+ l1=sadr(il1+4)
+ na=0
+ endif
+ if(id(1).eq.0) call iset(4,blank,id,1)
+c
+ lf=lstk(top+1)+na+9
+ if(refa) lf=lw+na+9
+c
+ lw=lf+2*(na+nb)+min(na,nb)+3
+ n0=max(na,nb)+1
+ err=lw+10*n0+3*n0*n0-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call recbez(stk(l1),na,stk(lb),nb,stk(lf),ipb,stk(lw),er)
+c pgcd
+ istk(ilr)=2
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+3)=0
+ call icopy(4,id,1,istk(ilr+4),1)
+ l1=sadr(ilr+8+mn1+1)
+ istk(ilr+8)=1
+ np=ipb(2)-ipb(1)-1
+ istk(ilr+9)=2+np
+ call unsfdcopy(np+1,stk(lf+ipb(1)-1),1,stk(l1),1)
+ lstk(top)=l1+np+1
+
+c matrice q
+ il=iadr(lstk(top))
+ istk(il)=2
+ istk(il+1)=2
+ istk(il+2)=2
+ istk(il+3)=0
+ call icopy(4,id,1,istk(il+4),1)
+ il=il+8
+ istk(il)=1
+ l=sadr(il+5)
+ do 71 i=1,4
+ ii=i+1
+ istk(il+1)=istk(il)+ipb(ii+1)-ipb(ii)
+ call unsfdcopy(istk(il+1)-istk(il),stk(lf+ipb(ii)-1),1,
+ $ stk(l),1)
+ l=l+istk(il+1)-istk(il)
+ il=il+1
+ 71 continue
+ lstk(top+1)=l
+ if(lhs.eq.3) then
+c retour de l'erreur
+ top=top+1
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=er
+ lstk(top+1)=l+1
+ endif
+ goto 999
+ 999 return
+ end
+
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_bezout.lo b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.lo
new file mode 100755
index 000000000..c29808b4a
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_bezout.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_bezout.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_coeff.f b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.f
new file mode 100755
index 000000000..65874cab4
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.f
@@ -0,0 +1,207 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intcoeff(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer v2,vol,top0
+ logical ref
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1.and.rhs.ne.2) then
+ call error(42)
+ return
+ endif
+ top0=top
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'coeff',il1)
+ return
+ endif
+
+ if(rhs.eq.2) then
+ ilv=iadr(lstk(top))
+ if(istk(ilv).lt.0) ilv=iadr(istk(ilv+1))
+ if(istk(ilv).ne.1) then
+ err=2
+ call error(53)
+ return
+ endif
+ if(istk(ilv+3).ne.0) then
+ err=2
+ call error(52)
+ return
+ endif
+ nv=istk(ilv+1)*istk(ilv+2)
+ if(nv.eq.0) then
+ top=top-1
+ istk(ilr)=1
+ istk(ilr+1)=0
+ istk(ilr+2)=0
+ istk(ilr+3)=0
+ lstk(top+1)=sadr(ilr+4)
+ return
+ endif
+ if(istk(ilv+1).ne.1.and.istk(ilv+2).ne.1) then
+ err=2
+ call error(89)
+ return
+ endif
+ lv=sadr(ilv+4)
+ do 10 i=0,nv-1
+ if(int(stk(lv+i)).lt.0) then
+ err=2
+ call error(116)
+ return
+ endif
+ 10 continue
+ top=top-1
+ endif
+c
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ mn1=m1*n1
+c
+ if(ref) then
+ lr=sadr(ilr+4)
+ else
+ lr=lstk(top+1)
+ endif
+c
+ if(istk(il1).eq.2) then
+c coeff of a matrix of polynomials
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+
+ if(rhs.eq.1) then
+ mx=0
+ do 20 ij=1,mn1
+ nij=istk(id1+ij)-istk(id1+ij-1)
+ if(nij.gt.mx) mx=nij
+ 20 continue
+ v2=mn1*mx
+ err=lr+v2*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(v2*(it1+1),0.0d+0,stk(lr),1)
+ do 30 ij=1,mn1
+ nij=istk(id1+ij)-istk(id1+ij-1)
+ lij=l1-1+istk(id1+ij-1)
+ call unsfdcopy(nij,stk(lij),1,stk(lr-1+ij),mn1)
+ if(it1.eq.1) then
+ call unsfdcopy(nij,stk(lij+vol),1,stk(lr+v2-1+ij),mn1)
+ endif
+ 30 continue
+ if(.not.ref) then
+ l=sadr(ilr+4)
+ call unsfdcopy(v2*(it1+1),stk(lr),1,stk(l),1)
+ lr=l
+ endif
+ istk(ilr)=1
+ istk(ilr+1)=m1
+ istk(ilr+2)=n1*mx
+ istk(ilr+3)=it1
+ lstk(top+1)=lr+v2*(it1+1)
+ else
+ lw=max(lstk(top0+1),lr+mn1*nv*(it1+1))
+ err=lw+nv-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(nv,stk(lv),1,stk(lw),1)
+ lv=lw
+ call dset(mn1*nv*(it1+1),0.0d+0,stk(lr),1)
+ do 41 ij=1,mn1
+ nij=istk(id1+ij)-istk(id1+ij-1)
+ lij=l1-1+istk(id1+ij-1)
+ do 40 k=1,nv
+ mv=int(stk(lv-1+k))
+ if(mv.ge.nij) goto 40
+ stk(lr+ij-1+(k-1)*mn1)=stk(lij+mv)
+ if(it1.ne.0) stk(lr+ij-1+(k-1+nv)*mn1)=stk(lij+mv+vol)
+ 40 continue
+ 41 continue
+ l=sadr(ilr+4)
+ if(.not.ref) call unsfdcopy(mn1*nv*(it1+1),stk(lr),1,
+ $ stk(l),1)
+ istk(ilr)=1
+ istk(ilr+1)=m1
+ istk(ilr+2)=n1*nv
+ istk(ilr+3)=it1
+ lstk(top+1)=l+mn1*nv*(it1+1)
+ endif
+ else
+c coeff of a matrix of numbers
+ if(rhs.eq.1) then
+c . return the input matrix
+ if(ref) then
+c . copy matrix on the top of the stack
+ k=istk(ilr+2)
+ err=lstk(top)+lstk(k+1)-lstk(k)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(lstk(k+1)-lstk(k),stk(lstk(k)),1
+ $ ,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+lstk(k+1)-lstk(k)
+ endif
+ return
+ endif
+ l1=sadr(il1+4)
+ vol=mn1
+
+ lw=lr+mn1*nv*(it1+1)
+ err=lw+nv-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ if(lv.le.lw) then
+ call unsfdcopy(nv,stk(lv),-1,stk(lw),-1)
+ lv=lw
+ endif
+ call dset(mn1*nv*(it1+1),0.0d+0,stk(lr),1)
+ do 50 k=1,nv
+ if(stk(lv-1+k).eq.0.0d0) then
+ call unsfdcopy(mn1,stk(l1),1,stk(lr+(k-1)*mn1),1)
+ if(it1.eq.1) call unsfdcopy(mn1,stk(l1+mn1),1,
+ $ stk(lr+(k-1)*mn1+mn1*nv),1)
+ endif
+ 50 continue
+ l=sadr(ilr+4)
+ if(.not.ref) call unsfdcopy(mn1*nv*(it1+1),stk(lr),1,stk(l),1)
+ istk(ilr)=1
+ istk(ilr+1)=m1
+ istk(ilr+2)=n1*nv
+ istk(ilr+3)=it1
+ lstk(top+1)=l+mn1*nv*(it1+1)
+ endif
+
+ return
+ end
+
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_coeff.lo b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.lo
new file mode 100755
index 000000000..ed1378ffc
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_coeff.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_coeff.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_degree.f b/modules/polynomials/sci_gateway/fortran/sci_f_degree.f
new file mode 100755
index 000000000..0b9d0fa27
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_degree.f
@@ -0,0 +1,93 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intdegree(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ logical ref
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1) then
+ call error(42)
+ return
+ endif
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'degree',il1)
+ return
+ endif
+
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ mn1=m1*n1
+
+ if(mn1.eq.0) then
+ if (ref) then
+ l=sadr(ilr+4)
+ err=l-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ istk(ilr)=1
+ istk(ilr+1)=0
+ istk(ilr+2)=0
+ istk(ilr+3)=0
+ lstk(top+1)=l
+ endif
+ return
+ endif
+c
+ if(istk(il1).eq.2) then
+ id1=il1+8
+ if(ref) then
+ l1=sadr(ilr+4)
+ l=l1
+ else
+ l1=sadr(id1+mn1+1)
+ l=sadr(ilr+4)
+ endif
+ do 31 k=1,mn1
+ stk(l1-1+k)=dble(istk(id1+k)-istk(id1+k-1)-1)
+ 31 continue
+ if(ref) then
+ istk(ilr)=1
+ istk(ilr+1)=m1
+ istk(ilr+2)=n1
+ istk(ilr+3)=0
+ else
+ istk(ilr)=1
+ istk(ilr+3)=0
+ call unsfdcopy(mn1,stk(l1),1,stk(l),1)
+ endif
+ lstk(top+1)=l+mn1
+ elseif(istk(il1).eq.1) then
+ istk(ilr)=1
+ istk(ilr+1)=m1
+ istk(ilr+2)=n1
+ istk(ilr+3)=0
+ l=sadr(ilr+4)
+ call dset(mn1,0.0d+0,stk(l),1)
+ lstk(top+1)=l+mn1
+ endif
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_degree.lo b/modules/polynomials/sci_gateway/fortran/sci_f_degree.lo
new file mode 100755
index 000000000..80f6015a8
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_degree.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_degree.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_degree.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_diag.f b/modules/polynomials/sci_gateway/fortran/sci_f_diag.f
new file mode 100755
index 000000000..0815b02f7
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_diag.f
@@ -0,0 +1,132 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intpdiag(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer volr,vol,tops
+ logical ref
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ lw=lstk(top+1)
+ tops=top
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1.and.rhs.ne.2) then
+ call error(42)
+ return
+ endif
+c
+ kdiag=0
+ if (rhs .eq. 2) then
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.1) then
+ err=1
+ call error(53)
+ return
+ endif
+ if(istk(il+3).ne.0) then
+ err=1
+ call error(52)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=1
+ call error(89)
+ return
+ endif
+ kdiag = int(stk(sadr(il+4)))
+ top = top-1
+ endif
+
+ lw=lstk(top+1)
+c
+ il1=iadr(lstk(top))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).ne.2) then
+ fun=-1
+ top=tops
+ call funnam(ids(1,pt+1),'diag',il1)
+ return
+ endif
+c
+ id1=il1+8
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ mn1=m1*n1
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+
+c
+ if(ref) then
+ idr=ilr+8
+ else
+ idr=iadr(lw)
+ endif
+ if(m1.eq.1.or.n1.eq.1) then
+ m1=mn1
+ n1=0
+ err=sadr(idr+mn1*(mn1+abs(kdiag)))-lstk(bot)
+ else
+ err=sadr(idr+min(n1,m1))-lstk(bot)
+ endif
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c
+ call mpdiag(istk(id1),m1,n1,kdiag,istk(idr),mr,nr)
+ if(nr.le.0.or.mr.le.0) then
+ istk(ilr)=1
+ istk(ilr+1)=0
+ istk(ilr+2)=0
+ istk(ilr+3)=0
+ lstk(top+1)=sadr(ilr+4)
+ goto 999
+ endif
+ lr=sadr(idr+mr*nr+1)
+ volr=istk(idr)
+ err=lr+volr*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ if (it1.eq.0) then
+ call dmpins(stk(l1),istk(id1),mn1,1,stk,1,0,0,
+ 1 stk(lr),istk(idr),mr,nr)
+ else
+ call wmpins(stk(l1),stk(l1+vol),istk(id1),mn1,1,
+ 1 stk,stk,1,0,0,stk(lr),stk(lr+volr),istk(idr),mr,nr)
+ endif
+ if(ref) then
+ call icopy(8,istk(il1),1,istk(ilr),1)
+ l1=sadr(idr+mr*nr+1)
+ else
+ call icopy(mr*nr+1,istk(idr),1,istk(id1),1)
+ l1=sadr(id1+mr*nr+1)
+ call unsfdcopy(volr*(it1+1),stk(lr),1,stk(l1),1)
+ endif
+ istk(ilr+1)=mr
+ istk(ilr+2)=nr
+ lstk(top+1)=l1+volr*(it1+1)
+ goto 999
+ 999 return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_diag.lo b/modules/polynomials/sci_gateway/fortran/sci_f_diag.lo
new file mode 100755
index 000000000..eda62b669
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_diag.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_diag.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_diag.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_div.f b/modules/polynomials/sci_gateway/fortran/sci_f_div.f
new file mode 100755
index 000000000..e0b63bf4c
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_div.f
@@ -0,0 +1,299 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intpdiv(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer voln,vold,v2
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(lhs.ne.1.and.lhs.ne.2) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.2) then
+ call error(42)
+ return
+ endif
+c
+ lw=lstk(top+1)
+c
+ iln=iadr(lstk(top+1-rhs))
+
+ il=iln
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'pdiv',il)
+ return
+ endif
+c
+ ild=iadr(lstk(top))
+
+ il=ild
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'pdiv',il)
+ return
+ endif
+c
+ if(istk(iln).lt.0) then
+c move d and copy value of n in place of its reference
+ k=istk(iln+2)
+ voln=lstk(k+1)-lstk(k)
+ vold=lstk(top+1)-lstk(top)
+ err=lstk(top)+voln+vold-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(vold,stk(lstk(top)),-1,stk(lstk(top-1)+voln),-1)
+ call unsfdcopy(voln,stk(lstk(k)),1,stk(lstk(top-1)),1)
+ lstk(top)=lstk(top-1)+voln
+ ild=iadr(lstk(top))
+ lstk(top+1)=lstk(top)+vold
+ endif
+
+ if(istk(ild).lt.0) then
+c copy value of b in place of its reference
+ k=istk(ild+2)
+ vold=lstk(k+1)-lstk(k)
+ err=lstk(top)+vold-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(vold,stk(lstk(k)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+vold
+ endif
+ lw=lstk(top+1)
+
+ il1=iln
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ l1=sadr(il1+4)
+ mn1=m1*n1
+ if(mn1.ne.1) then
+ err=1
+ call error(89)
+ return
+ endif
+ if(istk(il1).eq.2) then
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+ call icopy(4,istk(il1+4),1,id,1)
+ nn=istk(id1+1)-2
+ else
+ nn=0
+ id(1)=0
+ endif
+c
+c denominateur
+
+ nd=istk(ild+1)*istk(ild+2)
+ if(nd.ne.1) then
+ err=2
+ call error(89)
+ return
+ endif
+ itd=istk(ild+3)
+ if(istk(ild).eq.1) then
+ ld=sadr(ild+4)
+ nd=0
+ if (id(1).eq.0) then
+ err=2
+ call error(54)
+ return
+ endif
+ v2=1
+ else
+ if(id(1).eq.0) call icopy(4,istk(ild+4),1,id,1)
+ do 61 i=1,4
+ if(id(i).ne.istk(ild+3+i)) then
+ call error(43)
+ return
+ endif
+ 61 continue
+ nd=istk(ild+9)-2
+ ld=sadr(ild+10)
+ v2=istk(ild+9)-1
+ endif
+
+c test degre du denominateur
+ 64 continue
+ if(itd.eq.0) then
+ if(stk(ld+nd).ne.0.0d+0) goto 65
+ else
+ if(abs(stk(ld+nd))+abs(stk(ld+v2+nd)).ne.0.0d+0) goto 65
+ endif
+ nd=nd-1
+ if(nd.lt.0) then
+ call error(27)
+ return
+ endif
+ goto 64
+c
+ 65 if(nn.lt.nd) then
+c . No division to perform
+ if(lhs.eq.2) then
+ istk(ild)=1
+ ld=sadr(ild+4)
+ stk(ld)=0.0d+0
+ lstk(top+1)=ld+1
+ else
+ top=top-1
+ istk(il1)=1
+ stk(l1)=0.0d+0
+ lstk(top+1)=l1+1
+ endif
+ goto 999
+ endif
+c
+ if(it1.eq.0) then
+ if (itd.eq.0) then
+ call dpodiv(stk(l1),stk(ld),nn,nd)
+ else
+ l1i=lw
+ lw=l1i+nn+1
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ ldi=ld+v2
+ call dset(nn+1,0.0d0,stk(l1i),1)
+ call wpodiv(stk(l1),stk(l1i),stk(ld),stk(ldi),nn,nd,ierr)
+ endif
+ else
+ l1i=l1+nn+1
+ if (itd.eq.0) then
+ ldi=lw
+ lw=ldi+nd+1
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(nd+1,0.0d0,stk(ldi),1)
+ call wpodiv(stk(l1),stk(l1i),stk(ld),stk(ldi),nn,nd,ierr)
+ else
+ ldi=ld+v2
+ call wpodiv(stk(l1),stk(l1i),stk(ld),stk(ldi),nn,nd,ierr)
+ endif
+ endif
+c
+ itr=max(it1,itd)
+ nq=nn-nd
+
+ if(lhs.eq.1) then
+c . only q is returned
+ top=top-1
+c . set type
+ istk(il1+3)=itr
+c . set length
+ istk(il1+9)=nq+2
+c . install real and imaginary part
+ call unsfdcopy(nq+1,stk(l1+nd),1,stk(l1),1)
+ if(itr.eq.1) call unsfdcopy(nq+1,stk(l1i+nd),1,stk(l1+nq+1),1)
+ else
+c . computes remainder degree
+ nr=nd
+ 66 nr=nr-1
+ if(nr.lt.0) goto 67
+ if (itr.eq.0) then
+ if(stk(l1+nr).eq.0.0d+0) goto 66
+ else
+ if(stk(l1+nr).eq.0.0d+0.and.stk(l1i+nr).eq.0.0d+0) goto 66
+ endif
+ 67 continue
+
+c
+ if(itr.eq.0) then
+c . real result
+ if(nr.gt.0) then
+c . remainder is a polynomial
+ istk(id1+1)=nr+2
+ lstk(top)=l1+(nr+1)
+ else
+c . remainder is a scalar
+ istk(il1)=1
+ istk(il1+1)=1
+ istk(il1+2)=1
+ lr=sadr(il1+4)
+ stk(lr)=stk(l1)
+c???? stk(lr+1)=stk(l1i)
+ lstk(top)=lr+1
+ endif
+ ilq=iadr(lstk(top))
+ lq=sadr(ilq+10)
+ inc=1
+ if (l1+nd.lt.lq) inc=-1
+ call unsfdcopy(nq+1,stk(l1+nd),inc,stk(lq),inc)
+ if(nr.lt.0) stk(lr)=0.0d+0
+ istk(ilq)=2
+ istk(ilq+1)=1
+ istk(ilq+2)=1
+ istk(ilq+3)=0
+ call icopy(4,id,1,istk(ilq+4),1)
+ idq=ilq+8
+ istk(idq)=1
+ istk(idq+1)=nq+2
+ lstk(top+1)=lq+nq+1
+ goto 999
+ else
+c . complex result
+c . preserve quotient coeff
+ lqs=lw
+ lw=lqs+sadr(10)+(nq+1)*2
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(nq+1,stk(l1+nd),1,stk(lqs),1)
+ call unsfdcopy(nq+1,stk(l1i+nd),1,stk(lqs+nq+1),1)
+
+c . set remainder
+ if(nr.ge.0) then
+ istk(il1+3)=1
+ call unsfdcopy(nr+1,stk(l1i),1,stk(l1+nr+1),1)
+ istk(id1+1)=nr+2
+ lstk(top)=l1+(nr+1)*2
+ else
+ istk(il1+3)=0
+ stk(l1)=0.0d0
+ istk(id1+1)=2
+ lstk(top)=l1+1
+ endif
+c . set quotient
+ ilq=iadr(lstk(top))
+ istk(ilq)=2
+ istk(ilq+1)=1
+ istk(ilq+2)=1
+ istk(ilq+3)=1
+ call icopy(4,id,1,istk(ilq+4),1)
+ idq=ilq+8
+ istk(idq)=1
+ istk(idq+1)=nq+2
+ lq=sadr(ilq+10)
+ call unsfdcopy(2*(nq+1),stk(lqs),1,stk(lq),1)
+ lstk(top+1)=lq+(nq+1)*2
+ endif
+ endif
+
+ goto 999
+ 999 return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_div.lo b/modules/polynomials/sci_gateway/fortran/sci_f_div.lo
new file mode 100755
index 000000000..a67a05fd8
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_div.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_div.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_div.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_pclean.f b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.f
new file mode 100755
index 000000000..d82b39a7a
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.f
@@ -0,0 +1,124 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intpclean(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vol
+ logical ref
+ double precision epsa,epsr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if (rhs.lt.1.or.rhs.gt.3) then
+ call error(42)
+ return
+ endif
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).ne.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'clean',il1)
+ return
+ endif
+ ref=il1.ne.ilr
+
+c get relative and absolute tolerances
+ epsr=1.0d-10
+ epsa=1.0d-10
+
+ if (rhs.eq.3) then
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.1) then
+ err=3
+ call error(52)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=3
+ call error(60)
+ return
+ endif
+ if(istk(il+3).ne.0) then
+ err=3
+ call error(52)
+ return
+ endif
+ epsr=stk(sadr(il+4))
+ top=top-1
+ endif
+
+ if (rhs.ge.2) then
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.1) then
+ err=3
+ call error(52)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=3
+ call error(60)
+ return
+ endif
+ if(istk(il+3).ne.0) then
+ err=3
+ call error(52)
+ return
+ endif
+ epsa=stk(sadr(il+4))
+ top=top-1
+ endif
+
+ if(ref) then
+ k=istk(ilr+2)
+ vol=lstk(k+1)-lstk(k)
+ err=lstk(top)+vol-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+vol
+ il1=ilr
+ endif
+ it1=istk(il1+3)
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ mn1=m1*n1
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+
+
+ id2=iadr(lstk(top+1))
+ err=sadr(id2+mn1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ if(it1.eq.0) then
+ call dmpcle(stk(l1),istk(id1),m1,n1,istk(id2),epsr,epsa)
+ else
+ call wmpcle(stk(l1),stk(l1+vol),istk(id1),m1,n1,
+ & istk(id2),epsr,epsa)
+ endif
+ lstk(top+1)=l1+(istk(id1+mn1)-1)*(it1+1)
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_pclean.lo b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.lo
new file mode 100755
index 000000000..333a22fe3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_pclean.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_pclean.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_poly.f b/modules/polynomials/sci_gateway/fortran/sci_f_poly.f
new file mode 100755
index 000000000..d17617517
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_poly.f
@@ -0,0 +1,244 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intpoly(id)
+
+ INCLUDE 'stack.h'
+ integer id(nsiz)
+ integer iadr, sadr, w
+ integer blank,racine,coeff
+ logical roots,ref
+ integer r(5)
+ integer c(5)
+ integer size
+ character*256 tmpmsg
+c
+ data blank/40/,racine/27/,coeff/12/
+ data r/27, 24, 24, 29, 28/
+ data c/12, 24, 14, 15, 15/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ lw=lstk(top+1)
+ w = 0
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.lt.1.or.rhs.gt.3) then
+ call error(42)
+ return
+ endif
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ if(istk(il1).ne.1) then
+ fun=-1
+ call funnam(ids(1,pt+1),'poly',il1)
+ return
+ endif
+ ref=il1.ne.ilr
+c
+ roots=.true.
+
+ if(rhs.eq.3) then
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ rhs=rhs-1
+ top=top-1
+ if(istk(il).ne.10) then
+ err=rhs
+ call error(55)
+ return
+ endif
+ size = istk(il+5)-1
+ if (size.ne.5 .and. size.ne.1) then
+ w = 1
+ endif
+ il=il+5+istk(il+1)*istk(il+2)
+ if(abs(istk(il)).ne.racine) then
+ roots=.false.
+ if(abs(istk(il)).ne.coeff) then
+ err=rhs
+ call error(36)
+ return
+ endif
+ endif
+ if(w.eq.0) then
+ do 22 i=1,size
+ if(c(i).ne.abs(istk(il+i-1)).and.
+ $ r(i).ne.abs(istk(il+i-1))) then
+ w = 1
+ endif
+ 22 continue
+ endif
+ else
+ roots=.true.
+ endif
+
+ if(w.eq.1) then
+ call msgstxt('Warning:')
+ call msgstxt('This usage of 3rd argument of poly is obsolete.')
+ call msgstxt('It will be more strict in scilab 6.0.0.')
+ call msgstxt('Please use roots, coeff, r or c instead.')
+ endif
+
+c formal variable
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.10) then
+ err=2
+ call error(55)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=2
+ call error(89)
+ return
+ endif
+ n=istk(il+5)-1
+ if(n.gt.4) call msgs(115,0)
+ if (abs(istk(il+5+1)).lt.10) then
+ err=2
+ call error(248)
+ return
+ endif
+ do 12 i=1,4
+ id(i)=blank
+ if(i.le.n) then
+ if (abs(istk(il+5+i)).ge.blank) then
+ err=2
+ call error(248)
+ return
+ endif
+ id(i)=istk(il+5+i)
+ else
+c . fill with space
+ id(i)=blank
+ endif
+ 12 continue
+
+c
+c first argument
+ top=top-1
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ l1=sadr(il1+4)
+ mn1=m1*n1
+ itr=it1
+
+ if(.not.roots) goto 17
+ if(mn1.eq.1.or.m1.ne.n1) goto 14
+c polynome caracteristique,decomposition spectrale de la matrice
+
+ if(ref) then
+c necessary while matdsr and matdsc cannot be called by reference
+ lr=sadr(ilr+4)
+ err=lr+mn1*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call icopy(4,istk(il1),1,istk(ilr),1)
+ call unsfdcopy(mn1*(it1+1),stk(l1),1,stk(lr),1)
+ lstk(top+1)=lr+mn1*(it1+1)
+ endif
+ rhs=1
+ call intspec('spec')
+ call putlhsvar
+ if(err.gt.0) return
+ il1=iadr(lstk(top))
+ l1=sadr(il1+4)
+ mn1=m1
+ m1=1
+ n1=mn1
+ itr=min(it1,istk(il1+3))
+ it1=istk(il1+3)
+ lw=l1+mn1*(it1+1)
+ ref=.false.
+ ilr=il1
+ goto 14
+c
+c polynome defini par ses racines
+ 14 ild=ilr+8
+ lc=sadr(ild+2)
+ lr=lc+(mn1+1)*(it1+1)
+ if(ref) then
+ err=lr-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ else
+ err=lr+mn1*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(mn1*(it1+1),stk(l1),1,stk(lr),1)
+ l1=lr
+ endif
+ istk(ilr)=2
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+3)=itr
+ call icopy(4,id,1,istk(ilr+4),1)
+ istk(ild)=1
+ istk(ild+1)=mn1+2
+ lstk(top+1)=lc+(mn1+1)*(itr+1)
+
+ if(it1.eq.0) then
+ call dprxc(mn1,stk(l1),stk(lc))
+ else
+ call wprxc(mn1,stk(l1),stk(l1+mn1),stk(lc),stk(lc+mn1+1))
+ do 16 i=1,mn1+1
+ l=lc-1+i
+ if( stk(l)+stk(l+mn1+1).ne.stk(l)) goto 999
+ 16 continue
+ istk(ilr+3)=0
+ lstk(top+1)=lc+mn1+1
+ endif
+ goto 999
+c
+c polynome defini par ses coefficients
+ 17 if(istk(il1).ne.1) then
+ err=1
+ call error(53)
+ return
+ endif
+ if(mn1.eq.0) return
+
+ if(n1.ne.1.and.m1.ne.1) then
+ err=1
+ call error(89)
+ return
+ endif
+
+ lr=sadr(ilr+10)
+ err=lr+mn1*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(mn1*(it1+1),stk(l1),-1,stk(lr),-1)
+ istk(ilr)=2
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+3)=it1
+ call icopy(4,id,1,istk(ilr+4),1)
+ istk(ilr+8)=1
+ istk(ilr+9)=1+mn1
+ lstk(top+1)=lr+mn1*(it1+1)
+ goto 999
+c
+ 999 return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_poly.lo b/modules/polynomials/sci_gateway/fortran/sci_f_poly.lo
new file mode 100755
index 000000000..eecc829e6
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_poly.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_poly.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_poly.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_prod.f b/modules/polynomials/sci_gateway/fortran/sci_f_prod.f
new file mode 100755
index 000000000..d1380992a
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_prod.f
@@ -0,0 +1,96 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intpprod(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vol
+ logical ref
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1) then
+ if(rhs.ge.2) then
+ call funnam(ids(1,pt+1),'prod',iadr(lstk(top-rhs+1)))
+ fun=-1
+ return
+ endif
+ call error(42)
+ return
+ endif
+c
+ lw=lstk(top+1)
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'prod',il1)
+ return
+ endif
+
+c
+ it1=istk(il1+3)
+ l1=sadr(il1+4)
+ mn1=istk(il1+1)*istk(il1+2)
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+
+ if(ref) then
+ lr=sadr(ilr+10)
+ else
+ lr=lw
+ endif
+
+ maxd=istk(id1+mn1)-mn1
+ err=lr+maxd*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c
+ stk(lr)=1.0d+0
+ if(it1.eq.1) stk(lr+maxd)=0.0d+0
+ m=0
+ do 59 i=1,mn1
+ n=istk(id1+i)-istk(id1+i-1)-1
+ li=l1-1+istk(id1+i-1)
+ if(it1.eq.0) call dpmul1(stk(li),n,stk(lr),m,stk(lr))
+ if(it1.eq.1) call wpmul1(stk(li),stk(li+vol),n,stk(lr),
+ 1 stk(lr+maxd),m,stk(lr),stk(lr+maxd))
+ m=m+n
+ 59 continue
+
+ if(ref) then
+ call icopy(9,istk(il1),1,istk(ilr),1)
+ istk(ilr)=2
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+9)=1+maxd
+ else
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+9)=1+maxd
+ l1=sadr(il1+10)
+ call unsfdcopy(maxd*(it1+1),stk(lr),1,stk(l1),1)
+ lr=l1
+ endif
+ lstk(top+1)=lr+maxd*(it1+1)
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_prod.lo b/modules/polynomials/sci_gateway/fortran/sci_f_prod.lo
new file mode 100755
index 000000000..d3fbfe022
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_prod.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_prod.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_prod.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_psimp.f b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.f
new file mode 100755
index 000000000..0bab577de
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.f
@@ -0,0 +1,213 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intpsimp(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vola,volb
+ logical chkvar
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+
+c simp(num,den)
+c
+ if(lhs.ne.2) then
+ call error(41)
+ return
+ endif
+c
+ ila=iadr(lstk(top+1-rhs))
+
+ il=ila
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'simp',il)
+ return
+ endif
+c
+ ilb=iadr(lstk(top))
+
+ il=ilb
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'simp',il)
+ return
+ endif
+c
+ if(istk(ila).lt.0) then
+c move b and copy value of a in place of its reference
+ k=istk(ila+2)
+ vola=lstk(k+1)-lstk(k)
+ volb=lstk(top+1)-lstk(top)
+ err=lstk(top)+vola+volb-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(volb,stk(lstk(top)),-1,stk(lstk(top-1)+vola),-1)
+ call unsfdcopy(vola,stk(lstk(k)),1,stk(lstk(top-1)),1)
+ lstk(top)=lstk(top-1)+vola
+ ilb=iadr(lstk(top))
+ lstk(top+1)=lstk(top)+volb
+ endif
+
+ if(istk(ilb).lt.0) then
+c copy value of b in place of its reference
+ k=istk(ilb+2)
+ volb=lstk(k+1)-lstk(k)
+ err=lstk(top)+volb-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(volb,stk(lstk(k)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+volb
+ endif
+ lw=lstk(top+1)
+
+c
+ if(istk(ila+3).ne.0.or.istk(ilb+3).ne.0) then
+ fun=-1
+ call funnam(ids(1,pt+1),'simp',ilb)
+ return
+ endif
+c
+ mna=istk(ila+1)*istk(ila+2)
+ id(1)=0
+ if(istk(ila).eq.2) then
+ ida=ila+8
+ la=sadr(ida+mna+1)
+ call icopy(4,istk(ila+4),1,id,1)
+ else
+ la=sadr(ila+4)
+ ida=iadr(lw)
+ lw=sadr(ida+mna+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ do 74 i=1,mna+1
+ istk(ida+i-1)=i
+ 74 continue
+ endif
+c
+ mnb=istk(ilb+1)*istk(ilb+2)
+ if(istk(ilb).eq.2) then
+ idb=ilb+8
+ lb=sadr(idb+mnb+1)
+ if(id(1).eq.0) then
+ call icopy(4,istk(ilb+4),1,id,1)
+ else
+ if(.not.chkvar(id,istk(ilb+4))) then
+ call error(43)
+ return
+ endif
+ endif
+ else
+ lb=sadr(ilb+4)
+ idb=iadr(lw)
+ lw=sadr(idb+mna+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ do 75 i=1,mna+1
+ istk(idb+i-1)=i
+ 75 continue
+ endif
+
+ if(mnb.ne.mna)then
+ call error(60)
+ return
+ endif
+c
+c determine max of the degrees
+ na=0
+ nb=0
+ do 76 i=1,mna
+ na=max(na,istk(ida+i)-istk(ida-1+i))
+ nb=max(nb,istk(idb+i)-istk(idb-1+i))
+ 76 continue
+c preserve adress of the beginning of a and b coefficients
+
+ lar=la
+ lbr=lb
+c allocate memory for intermediate results
+ law=lw
+ lbw=law+na+1
+ lw=lbw+nb+1
+
+c simplify
+ la1=la
+ lb1=lb
+ do 79 i=1,mna
+ na=istk(ida+i)-istk(ida-1+i)-1
+ nb=istk(idb+i)-istk(idb-1+i)-1
+ ierr=lstk(bot)-lw
+ call dpsimp(stk(la),na,stk(lb),nb,stk(law),nnum,
+ $ stk(lbw),nden,stk(lw),ierr)
+ if(ierr.eq.1) then
+ call error(27)
+ return
+ elseif(ierr.eq.2) then
+ call msgs(43,i)
+ endif
+c . copy overwrite initial polynomials with simplified ones
+ call dcopy(nnum,stk(law),1,stk(la1),1)
+ call dcopy(nden,stk(lbw),1,stk(lb1),1)
+
+ la=la+na+1
+ lb=lb+nb+1
+ la1=la1+nnum
+ lb1=lb1+nden
+ istk(ida-1+i)=nnum
+ istk(idb-1+i)=nden
+ 79 continue
+c
+c form vector of pointers from vector of degrees+1
+ ma=1
+ mb=1
+ do 80 i=1,mna+1
+ na=istk(ida-1+i)
+ nb=istk(idb-1+i)
+ istk(ida-1+i)=ma
+ istk(idb-1+i)=mb
+ ma=ma+na
+ mb=mb+nb
+ 80 continue
+c
+c compute position of the a and b simplified in the result
+ lstk(top)=lar+istk(ida+mna)-1
+ il=iadr(lstk(top))
+c
+c put new b variable in place
+ if(istk(ilb).eq.2) then
+c b matrice de polynome
+ l=sadr(il+9+mna)
+c . move b data up
+ call icopy(9+mna,istk(ilb),1,istk(il),1)
+ call unsfdcopy(istk(il+8+mna),stk(lbr),1,stk(l),1)
+ l=l+istk(il+8+mna)-1
+ else
+c b matrice de scalaires
+ call icopy(4,istk(ilb),1,istk(il),1)
+ l=sadr(il+4)
+ call unsfdcopy(mna,stk(lbr),1,stk(l),1)
+ l=l+mna
+ endif
+ lstk(top+1)=l
+ end
+
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_psimp.lo b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.lo
new file mode 100755
index 000000000..59e360eb1
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_psimp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_psimp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_roots.f b/modules/polynomials/sci_gateway/fortran/sci_f_roots.f
new file mode 100755
index 000000000..3ef6de770
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_roots.f
@@ -0,0 +1,243 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge Steer
+c Copyright (C) 2011 - DIGITEO - Michael Baudin
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine introots(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ double precision t,sr,si
+ integer vol
+ integer fail
+ logical ref,eigen
+ integer algo_eig
+ integer algo_fast
+ data algo_eig/14/
+ data algo_fast/15/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ lw=lstk(top+1)
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1.and.rhs.ne.2) then
+ call error(42)
+ return
+ endif
+c
+c if algo=="e", then eigen = .true.
+c if algo=="f", then eigen = .false.
+c
+ eigen=.true.
+c Read the algo option
+ if (rhs.eq.2) then
+ ilopt=iadr(lstk(top))
+ if(istk(ilopt).lt.0) ilopt=iadr(istk(ilopt+1))
+ if(istk(ilopt).ne.10) then
+ err=2
+ call error(55)
+ return
+ endif
+ if(istk(ilopt+1).ne.1.or.istk(ilopt+2).ne.1) then
+ err=2
+ call error(89)
+ return
+ endif
+ if(istk(ilopt+5).ne.2) then
+ err=2
+ call error(116)
+ return
+ else
+ if (istk(ilopt+6)==algo_eig) then
+ eigen=.true.
+ elseif (istk(ilopt+6)==algo_fast) then
+ eigen=.false.
+ else
+ err=2
+ call error(116)
+ return
+ endif
+ endif
+ rhs=rhs-1
+ top=top-1
+ endif
+
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).gt.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'roots',il1)
+ return
+ endif
+c
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ mn1=m1*n1
+ if(m1*n1.eq.0) then
+ return
+ endif
+
+ it1=istk(il1+3)
+c If "fast" algo was chosen and polynomial is complex,
+c then produce an error.
+ if ( .not.eigen .and. it1 .eq. 1 ) then
+ err=2
+ call error(116)
+ return
+ endif
+
+ if(istk(il1).eq.1) then
+c for Matlab compatibility root of the vector of coefficients
+ vol=mn1
+ l1=sadr(il1+4)
+
+ n=mn1
+ if(.not.ref) then
+ call dtild(n,stk(l1),1)
+ if(it1.eq.1) then
+ call dtild(n,stk(l1+n),1)
+ endif
+ lc=l1
+ else
+ lc=lw
+ lw=lc+n*(it1+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dcopy(n,stk(l1),1,stk(lc),-1)
+ if(it1.eq.1) call dcopy(n,stk(l1+n),1,stk(lc+n),-1)
+ endif
+ else
+ if(mn1.ne.1) then
+ err=1
+ call error(43)
+ return
+ endif
+
+ if(istk(il1).lt.2) goto 24
+
+ id1=il1+8
+ lc=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+ call icopy(4,istk(il1+4),1,id,1)
+ n=vol
+ endif
+ l1=sadr(ilr+4)
+ 21 n=n-1
+ if(n.lt.0) then
+ goto 24
+ endif
+ t=abs(stk(lc+n))
+ if(it1.eq.1) then
+ t=t+abs(stk(lc+n+vol))
+ endif
+ if(t.eq.0.0d+0) then
+ goto 21
+ endif
+
+ if ( .not.eigen .and.n.gt.100) then
+c If "fast" algo was chosen and polynomial has degree greater than 100,
+c then produce an error.
+ err=2
+ call error(116)
+ return
+ endif
+
+ if (.not.eigen) then
+c
+c real polynomial: rpoly algorithm
+c this alg is much more speedy, but it may happens that it gives
+C erroneous results without messages : example
+C roots(%s^31-8*%s^30+9*%s^29+0.995) should have two real roots near
+C 1.355 and 6.65 and the other ones inside a circle centered in 0
+C with radius 1
+C
+
+ lp=max(lw,l1+2*n)
+ err=lp+n+1-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(n+1,stk(lc),1,stk(lp),1)
+ call dtild(n+1,stk(lp),1)
+ call rpoly(stk(lp),n,stk(l1),stk(l1+n),fail)
+ if(fail.eq.1) then
+ call error(24)
+ return
+ elseif(fail.eq.2) then
+ call error(74)
+ return
+ elseif(fail.eq.3) then
+ call error(75)
+ return
+
+ endif
+ istk(ilr)=1
+ istk(ilr+1)=n
+ istk(ilr+2)=1
+ if(n.eq.0) istk(ilr+2)=0
+ istk(ilr+3)=1
+ lstk(top+1)=l1+2*n
+ return
+ else
+c
+c Companion matrix method
+ lw=lw+n*n*(it1+1)
+ err=lw+n*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ sr=stk(lc+n)
+ call unsfdcopy(n,stk(lc),-1,stk(lw),1)
+ if(it1.eq.0) then
+ call dscal(n,-1.0d+0/sr,stk(lw),1)
+ else
+ si=stk(lc+vol+n)
+ t=sr*sr+si*si
+ sr=-sr/t
+ si=si/t
+ call unsfdcopy(n,stk(lc+vol),-1,stk(lw+n),1)
+ call wscal(n,sr,si,stk(lw),stk(lw+n),1)
+ endif
+ call dset(n*n*(it1+1),0.0d+0,stk(l1),1)
+ call dset(n-1,1.0d+0,stk(l1+n),n+1)
+ call unsfdcopy(n,stk(lw),1,stk(l1),1)
+ if(it1.eq.1) then
+ call unsfdcopy(n,stk(lw+n),1,stk(l1+n*n),1)
+ endif
+ lstk(top+1)=l1+n*n*(it1+1)
+ istk(ilr)=1
+ istk(ilr+1)=n
+ istk(ilr+2)=n
+ istk(ilr+3)=it1
+ fin=3
+ fun=2
+c *call* matds(r c)
+ return
+ endif
+
+c polynome de degre 0
+ 24 istk(ilr)=1
+ istk(ilr+1)=0
+ istk(ilr+2)=0
+ istk(ilr+3)=0
+ lstk(top+1)=sadr(ilr+4)
+
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_roots.lo b/modules/polynomials/sci_gateway/fortran/sci_f_roots.lo
new file mode 100755
index 000000000..3fe91314d
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_roots.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_roots.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_roots.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.f b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.f
new file mode 100755
index 000000000..2c44ce5a9
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.f
@@ -0,0 +1,211 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intrsimp(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vola,volb,vol
+ logical refr,chkvar,israt,ok
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ lw=lstk(top+1)
+
+c simplification of a transfer function
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ il1=iadr(lstk(top))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ refr=il1.ne.ilr
+ if(.not.israt(il1,ila,ilb,ildom)) then
+ fun=-1
+ call funnam(ids(1,pt+1),'simp',il1)
+ return
+ endif
+c
+ if(istk(ila+3).ne.0.or.istk(ilb+3).ne.0) then
+ fun=-1
+ call funnam(ids(1,pt+1),'simp',il1)
+ return
+ endif
+c
+ if(refr) then
+ k=istk(ilr+2)
+ vol=lstk(k+1)-lstk(k)
+ err=lstk(top)+vol-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+vol
+ lw=lstk(top+1)
+ il1=ilr
+ ok=israt(il1,ila,ilb,ildom)
+ endif
+c
+ mna=istk(ila+1)*istk(ila+2)
+ id(1)=0
+ if(istk(ila).eq.2) then
+ ida=ila+8
+ la=sadr(ida+mna+1)
+ call icopy(4,istk(ila+4),1,id,1)
+ else
+ la=sadr(ila+4)
+ ida=iadr(lw)
+ lw=sadr(ida+mna+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ do 74 i=1,mna+1
+ istk(ida+i-1)=i
+ 74 continue
+ endif
+c
+ mnb=istk(ilb+1)*istk(ilb+2)
+ if(istk(ilb).eq.2) then
+ idb=ilb+8
+ lb=sadr(idb+mnb+1)
+ if(id(1).eq.0) then
+ call icopy(4,istk(ilb+4),1,id,1)
+ else
+ if(.not.chkvar(id,istk(ilb+4))) then
+ call error(43)
+ return
+ endif
+ endif
+ else
+ lb=sadr(ilb+4)
+ idb=iadr(lw)
+ lw=sadr(idb+mna+1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ do 75 i=1,mna+1
+ istk(idb+i-1)=i
+ 75 continue
+ endif
+
+ if(mnb.ne.mna)then
+ call error(60)
+ return
+ endif
+c
+c determine max of the degrees
+ na=0
+ nb=0
+ do 76 i=1,mna
+ na=max(na,istk(ida+i)-istk(ida-1+i))
+ nb=max(nb,istk(idb+i)-istk(idb-1+i))
+ 76 continue
+c
+c set adress where to put the results
+ ll=sadr(il1+7)
+ ill=iadr(ll)
+ la1=la
+ lb1=lb
+ ida1=ida
+ idb1=idb
+c
+c allocate memory for intermediate results
+ law=lw
+ lbw=law+na+1
+ lw=lbw+nb+1
+
+c beginning of numerator in resulting structure
+ l0=ll+istk(ilr+4)-1
+
+c
+ lar=la1
+ lbr=lb1
+ nta=istk(ida+mna)
+ ntb=istk(idb+mnb)
+c simplify
+ do 79 i=1,mna
+ na=istk(ida+i)-istk(ida-1+i)-1
+ nb=istk(idb+i)-istk(idb-1+i)-1
+ ierr=lstk(bot)-lw
+ call dpsimp(stk(la),na,stk(lb),nb,stk(law),nnum,
+ $ stk(lbw),nden,stk(lw),ierr)
+ if(ierr.eq.1) then
+ call error(27)
+ return
+ elseif(ierr.eq.2) then
+ call msgs(43,i)
+ endif
+
+c . copy overwrite initial polynomials with simplified ones
+ call dcopy(nnum,stk(law),1,stk(la1),1)
+ call dcopy(nden,stk(lbw),1,stk(lb1),1)
+
+ la=la+na+1
+ lb=lb+nb+1
+ la1=la1+nnum
+ lb1=lb1+nden
+ istk(ida1-1+i)=nnum
+ istk(idb1-1+i)=nden
+ 79 continue
+c
+c form vector of pointers from vector of degrees+1
+ ma=1
+ mb=1
+ do 80 i=1,mna+1
+ na=istk(ida1-1+i)
+ nb=istk(idb1-1+i)
+ istk(ida1-1+i)=ma
+ istk(idb1-1+i)=mb
+ ma=ma+na
+ mb=mb+nb
+ 80 continue
+c
+c update size of numerator
+ vola=istk(ilr+4)-istk(ilr+3)+istk(ida1+mna)-nta
+ istk(ilr+4)=istk(ilr+3)+vola
+
+c compute position of new denominator in the result
+ ll0=ll+istk(ilr+4)-1
+ il=iadr(ll0)
+c
+c put new b variable in place
+ if(istk(ilb).eq.2) then
+c b matrice de polynome
+ call icopy(9+mna,istk(ilb),1,istk(il),1)
+ idb1=il+8
+ l=sadr(il+9+mna)
+ call unsfdcopy(istk(idb1+mna)-1,stk(lbr),1,stk(l),1)
+ l=l+istk(idb1+mna)-1
+ else
+c b matrice de scalaires
+ call icopy(4,istk(ilb),1,istk(il),1)
+ l=sadr(il+4)
+ call unsfdcopy(mna,stk(lbr),1,stk(l),1)
+ l=l+mna
+ endif
+ volb=l-ll0
+
+c copy 4th entry of the list
+ mb=istk(ilr+6)-istk(ilr+5)
+ call unsfdcopy(mb,stk(ll+istk(ilr+5)-1),1,stk(l),1)
+ l=l+mb
+ lstk(top+1)=l
+c adjust components sizes
+ istk(ilr+5)=istk(ilr+4)+volb
+ istk(ilr+6)=istk(ilr+5)+mb
+
+
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo
new file mode 100755
index 000000000..b729e4c4f
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_rsimp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_rsimp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sfact.f b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.f
new file mode 100755
index 000000000..76610aeb6
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.f
@@ -0,0 +1,166 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intsfact(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vol
+ logical ref
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ maxit=100
+ lw=lstk(top+1)
+
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1) then
+ call error(42)
+ return
+ endif
+
+ il1=iadr(lstk(top))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=ilr.ne.il1
+ if(istk(il1).ne.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'sfact',il1)
+ return
+ endif
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ if(it1.ne.0) then
+ err=1
+ call error(52)
+ return
+ endif
+ mn1=m1*n1
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ lr=l1
+ vol=istk(id1+mn1)-1
+
+ if(mn1.eq.1) then
+c
+c sfact of a polynomial
+ if(ref) then
+c . sfact1 modifies its input argument
+ lr=sadr(ilr+8+mn1+1)
+ lstk(top+1)=lr+vol
+ err=lstk(top+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call icopy(8+mn1+1,istk(il1),1,istk(ilr),1)
+ call unsfdcopy(vol,stk(l1),1,stk(lr),1)
+ lstk(top+1)=lr+vol
+ endif
+c
+c . check symmetry
+ n1=istk(id1+1)-2
+ if (2*int(n1/2).ne.n1) then
+ call error(88)
+ return
+ endif
+ n=1+n1/2
+ do 81 i=0,n-1
+ if(stk(lr+i).ne.stk(lr+n1-i)) then
+ call error(88)
+ return
+ endif
+ 81 continue
+c
+ lw=lstk(top+1)
+ err=lw+6*n-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call sfact1(stk(lr),n-1,stk(lw),maxit,ierr)
+ if(ierr.eq.2) then
+ call writebufstfacta(buf,n-1)
+ call error(999)
+ return
+ else if(ierr.eq.1) then
+ call error(24)
+ return
+ else if(ierr.lt.0) then
+c convergence incomplete
+ call writebufstfacta(buf,ierr)
+ call msgs(22,0)
+ endif
+ lstk(top+1)=lr+n
+ istk(ilr+8+1)=n+1
+ else
+c multivariable case
+ if(m1.ne.n1) then
+ err=1
+ call error(20)
+ return
+ endif
+c . convert matrix of polynomials to a polynomial matrix
+ n1=0
+ do 87 i=1,mn1
+ n1=max(n1,istk(id1+i)-istk(id1+i-1))
+ 87 continue
+c
+ n1=1+(n1-1)/2
+ l2=lstk(top+1)
+ if(ref) l2=l2+mn1+9+mn1*n1
+ lw=l2+mn1*n1
+ err=lw+sadr((n1+1)*m1*((n1+1)*m1)+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c
+ call dset(mn1*n1,0.0d+0,stk(l2),1)
+ do 88 i1=0,mn1-1
+ lij=l1-1+istk(id1+i1)
+ mij=2+istk(id1+i1+1)-istk(id1+i1)-1-n1
+ if(mij.gt.0) call unsfdcopy(mij,stk(lij+n1-1),1,
+ $ stk(l2+i1),mn1)
+ 88 continue
+c
+ maxit=maxit+n1
+ call sfact2(stk(l2),m1,n1-1,stk(lw),maxit,ierr)
+ if(ierr.lt.0) then
+ call error(24)
+ return
+ endif
+ if(ierr.gt.0) then
+ call error(88)
+ return
+ endif
+c . convert polynomial matrix to matrix of polynomials
+ id1=ilr+8
+ lr=sadr(id1+mn1+1)
+ l1=lr
+ do 89 i=0,mn1-1
+ call unsfdcopy(n1,stk(l2+i),mn1,stk(l1),1)
+ l1=l1+n1
+ 89 continue
+ do 90 i=0,mn1
+ istk(id1+i)=1+n1*i
+ 90 continue
+ if(ref) call icopy(8,istk(il1),1,istk(ilr),1)
+
+ lstk(top+1)=l1
+ endif
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sfact.lo b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.lo
new file mode 100755
index 000000000..e40db441f
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_sfact.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_sfact.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simp.f b/modules/polynomials/sci_gateway/fortran/sci_f_simp.f
new file mode 100755
index 000000000..e1e0eaed3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_simp.f
@@ -0,0 +1,34 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intsimp(id)
+ INCLUDE 'stack.h'
+
+Cc (DLL Import Intel Fortran)
+cDEC$ IF DEFINED (FORDLL)
+cDEC$ ATTRIBUTES DLLIMPORT:: /csimp/
+cDEC$ ENDIF
+ integer id(nsiz)
+ integer simpmd
+ common/csimp/ simpmd
+c
+ if(simpmd.eq.0) then
+ call ref2val()
+ return
+ endif
+ if(rhs.eq.1) then
+ call intrsimp(id)
+ elseif(rhs.eq.2) then
+ call intpsimp(id)
+ else
+ call error(39)
+ endif
+c
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simp.lo b/modules/polynomials/sci_gateway/fortran/sci_f_simp.lo
new file mode 100755
index 000000000..b3b85bb83
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_simp.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_simp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_simp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.f b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.f
new file mode 100755
index 000000000..26c2c5bf3
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.f
@@ -0,0 +1,57 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intsimpmd(id)
+ INCLUDE 'stack.h'
+
+Cc (DLL Import Intel Fortran)
+cDEC$ IF DEFINED (FORDLL)
+cDEC$ ATTRIBUTES DLLIMPORT:: /csimp/
+cDEC$ ENDIF
+ integer iadr, sadr
+ integer id(nsiz)
+ integer simpmd
+
+ common/csimp/ simpmd
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(rhs.gt.1) then
+ call error(39)
+ return
+ endif
+ if(rhs.le.0) then
+ top=top+1
+ il=iadr(lstk(top))
+ istk(il)=4
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=simpmd
+ lstk(top+1)=sadr(il+4)
+ else
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.4) then
+ err=1
+ call error(208)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=1
+ call error(36)
+ return
+ endif
+ simpmd=istk(il+3)
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=sadr(il+1)
+ endif
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo
new file mode 100755
index 000000000..45cd365a1
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_simpmd.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_simpmd.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sum.f b/modules/polynomials/sci_gateway/fortran/sci_f_sum.f
new file mode 100755
index 000000000..a6ba90e24
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_sum.f
@@ -0,0 +1,94 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intpsum(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+
+ integer vol
+ logical ref
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1) then
+ if(rhs.ge.2) then
+ call funnam(ids(1,pt+1),'sum',iadr(lstk(top-rhs+1)))
+ fun=-1
+ return
+ endif
+ call error(42)
+ return
+ endif
+c
+ lw=lstk(top+1)
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).ne.2) then
+ fun=-1
+ call funnam(ids(1,pt+1),'sum',il1)
+ return
+ endif
+c
+ it1=istk(il1+3)
+ l1=sadr(il1+4)
+ mn1=istk(il1+1)*istk(il1+2)
+ id1=il1+8
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+c
+ maxd=0
+ do 56 i=1,mn1
+ m=istk(id1+i)-istk(id1-1+i)
+ if(m.gt.maxd) maxd=m
+ 56 continue
+
+ if(ref) then
+ lr=sadr(ilr+10)
+ else
+ lr=lw
+ endif
+
+ err=lw+maxd*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call dset(maxd*(it1+1),0.0d+0,stk(lr),1)
+ do 57 i=1,mn1
+ li=l1-1+istk(id1-1+i)
+ n=istk(id1+i)-istk(id1-1+i)
+ call dadd(n,stk(li),1,stk(lr),1)
+ if(it1.eq.1) call dadd(n,stk(li+vol),1,stk(lr+maxd),1)
+ 57 continue
+ if(ref) then
+ call icopy(9,istk(il1),1,istk(ilr),1)
+ istk(ilr)=2
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+9)=1+maxd
+ else
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+9)=1+maxd
+ l1=sadr(il1+10)
+ call unsfdcopy(maxd*(it1+1),stk(lr),1,stk(l1),1)
+ lr=l1
+ endif
+ lstk(top+1)=lr+maxd*(it1+1)
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sum.lo b/modules/polynomials/sci_gateway/fortran/sci_f_sum.lo
new file mode 100755
index 000000000..a8b23659a
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_sum.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_sum.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_sum.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f
new file mode 100755
index 000000000..d3e164b25
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f
@@ -0,0 +1,117 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intptriu(job,id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer volr,vol,tops
+ logical ref
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ tops=top
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+ if(rhs.ne.1.and.rhs.ne.2) then
+ call error(42)
+ return
+ endif
+c
+ kdiag=0
+ if (rhs .eq. 2) then
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.1) then
+ err=1
+ call error(53)
+ return
+ endif
+ if(istk(il+3).ne.0) then
+ err=1
+ call error(52)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=1
+ call error(89)
+ return
+ endif
+ kdiag = int(stk(sadr(il+4)))
+ top = top-1
+ endif
+
+ lw=lstk(top+1)
+c
+ il1=iadr(lstk(top))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=il1.ne.ilr
+ if(istk(il1).gt.2) then
+ fun=-1
+ top=tops
+ call funnam(ids(1,pt+1),'triu',il1)
+ return
+ endif
+c
+ id1=il1+8
+ m1=istk(il1+1)
+ n1=istk(il1+2)
+ it1=istk(il1+3)
+ mn1=m1*n1
+ l1=sadr(id1+mn1+1)
+ vol=istk(id1+mn1)-1
+
+c
+ if(ref) then
+ idr=ilr+8
+ else
+ idr=iadr(lw)
+ endif
+
+ lr=sadr(idr+mn1+1)
+ err=lr-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+
+ call mptri(istk(id1),m1,n1,kdiag,istk(idr),job)
+ volr=istk(idr)
+ err=lr+volr*(it1+1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ if (it1.eq.0) then
+ call dmpins(stk(l1),istk(id1),m1,n1,stk,1,0,0,
+ 1 stk(lr),istk(idr),m1,n1)
+ else
+ call wmpins(stk(l1),stk(l1+vol),istk(id1),m1,n1,
+ 1 stk,stk,1,0,0,stk(lr),stk(lr+volr),istk(idr),m1,n1)
+ endif
+
+ if(ref) then
+ call icopy(8,istk(il1),1,istk(ilr),1)
+ l1=lr
+ else
+ call icopy(mn1+1,istk(idr),1,istk(id1),1)
+ l1=sadr(id1+mn1+1)
+ call unsfdcopy(volr*(it1+1),stk(lr),1,stk(l1),1)
+ endif
+ istk(ilr+1)=m1
+ istk(ilr+2)=n1
+ lstk(top+1)=l1+volr*(it1+1)
+ 999 return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo
new file mode 100755
index 000000000..a76ce7cca
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_triu_tril.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_triu_tril.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_varn.f b/modules/polynomials/sci_gateway/fortran/sci_f_varn.f
new file mode 100755
index 000000000..64e365456
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_varn.f
@@ -0,0 +1,116 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intvarn(id)
+ INCLUDE 'stack.h'
+ integer iadr, sadr
+ integer id(nsiz)
+ integer vol,blank
+ logical ref
+ data blank/40/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(lhs.ne.1) then
+ call error(41)
+ return
+ endif
+c
+ il1=iadr(lstk(top+1-rhs))
+ ilr=il1
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ ref=ilr.ne.il1
+ if(istk(il1).ne.2) then
+ if(rhs.eq.2.and.istk(il1).eq.1) then
+ top=top-1
+ if (ref) then
+ k=istk(ilr+2)
+ vol=lstk(k+1)-lstk(k)
+ err=lstk(top)+vol-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+vol
+ endif
+ return
+ endif
+ fun=-1
+ call funnam(ids(1,pt+1),'varn',il1)
+ return
+ endif
+ call icopy(4,istk(il1+4),1,id,1)
+
+ if(rhs.eq.1) then
+c get formal variable name
+ if(ref) then
+ err=sadr(ilr+10)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ endif
+c extraction du nom de la variable muette
+ istk(ilr)=10
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+3)=0
+ do 10 ii=4,1,-1
+ if(istk(il1+3+ii).ne.blank) then
+ nv=ii
+ goto 11
+ endif
+ 10 continue
+ 11 call icopy(nv,istk(il1+4),-1,istk(ilr+6),-1)
+ istk(ilr+4)=1
+ istk(ilr+5)=nv+1
+ lstk(top+1)=sadr(ilr+10)
+ elseif(rhs.eq.2) then
+c change formal variable name
+c . get new variable name
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).ne.10) then
+ err=2
+ call error(55)
+ return
+ endif
+ if(istk(il+1)*istk(il+2).ne.1) then
+ err=2
+ call error(36)
+ return
+ endif
+ nc=istk(il+5)-1
+ if(istk(il1).eq.1) goto 106
+ call icopy(max(4,nc),istk(il+6),1,id,1)
+ if(nc.lt.4) call iset(4-nc,blank,id(nc+1),1)
+ 106 top=top-1
+ if(ref) then
+c . variable is passed by reference copy it on the top of the
+c stack
+ k=istk(ilr+2)
+ vol=lstk(k+1)-lstk(k)
+ err=lstk(top)+vol-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+vol
+ endif
+ ilr=iadr(lstk(top))
+ call icopy(4,id,1,istk(ilr+4),1)
+ else
+ call error(42)
+ return
+ endif
+ return
+ end
+c =======================================
diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_varn.lo b/modules/polynomials/sci_gateway/fortran/sci_f_varn.lo
new file mode 100755
index 000000000..50465962b
--- /dev/null
+++ b/modules/polynomials/sci_gateway/fortran/sci_f_varn.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_varn.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_varn.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/sci_gateway/polynomials_gateway.xml b/modules/polynomials/sci_gateway/polynomials_gateway.xml
new file mode 100755
index 000000000..ba2f017f0
--- /dev/null
+++ b/modules/polynomials/sci_gateway/polynomials_gateway.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU
+ * Copyright (C) 2007-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">
+<GATEWAY name="polynomials">
+ <!-- =================== -->
+ <!--
+ Scilab
+ Interface description. In this file, we define the list of the function which
+ will be available into Scilab and the link to the "native" function.
+
+ gatewayId is the position in the hashtable 'Interfaces' defined in the
+ file SCI/modules/core/src/c/callinterf.h
+
+ primitiveId is the position in the hashtable '<module>Table Tab[]' defined
+ in the file modules/<module>/sci_gateway/c/gw_<module>.c
+
+ primitiveName is the name of the Scilab function
+
+ ===================
+ Don't touch if you do not know what you are doing
+-->
+ <!-- =================== -->
+
+ <!--
+ Some hardcoded call to interfaces in polynomials gateway :
+ SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_clean.f(34): fun=16 fin=18
+ SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_diag.f(143): fun=16 fin=10
+ SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_prod.f(173): fun=16 fin=9
+ SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_sum.f(127): fun=16 fin=8
+ SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_tril.f(96): fun=16 fin=12
+ SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_triu.f(98): fun=16 fin=11
+ -->
+
+ <PRIMITIVE gatewayId="16" primitiveId="1" primitiveName="poly" />
+ <PRIMITIVE gatewayId="16" primitiveId="2" primitiveName="roots" />
+ <PRIMITIVE gatewayId="16" primitiveId="3" primitiveName="degree" />
+ <PRIMITIVE gatewayId="16" primitiveId="4" primitiveName="coeff" />
+ <PRIMITIVE gatewayId="16" primitiveId="6" primitiveName="pppdiv" />
+ <PRIMITIVE gatewayId="16" primitiveId="7" primitiveName="simp" />
+ <PRIMITIVE gatewayId="16" primitiveId="13" primitiveName="bezout" />
+ <PRIMITIVE gatewayId="16" primitiveId="14" primitiveName="sfact" />
+ <PRIMITIVE gatewayId="16" primitiveId="15" primitiveName="simp_mode" />
+ <PRIMITIVE gatewayId="16" primitiveId="16" primitiveName="varn" />
+</GATEWAY>
diff --git a/modules/polynomials/src/c/DllmainPolynomial.c b/modules/polynomials/src/c/DllmainPolynomial.c
new file mode 100755
index 000000000..0b8f11d05
--- /dev/null
+++ b/modules/polynomials/src/c/DllmainPolynomial.c
@@ -0,0 +1,46 @@
+
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+#include <windows.h>
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+/* COMMON used by fortran */
+typedef struct
+{
+ double p[101], qp[101], k[101], qk[101], svk[101], sr, si, u, v, a, b,
+ c__, d__, a1, a2, a3, a6, a7, e, f, g, h__, szr, szi, lzr, lzi;
+ float eta, are, mre;
+ int n, nn;
+} GLOGLO_struct;
+
+__declspec (dllexport) GLOGLO_struct C2F(gloglo);
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/polynomials/src/c/core_Import.def b/modules/polynomials/src/c/core_Import.def
new file mode 100755
index 000000000..c26f1c5ea
--- /dev/null
+++ b/modules/polynomials/src/c/core_Import.def
@@ -0,0 +1,9 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+;core
+com_
+callFunctionFromGateway
+MyHeapAlloc
+MyHeapFree
diff --git a/modules/polynomials/src/c/polynomials.rc b/modules/polynomials/src/c/polynomials.rc
new file mode 100755
index 000000000..420360dfd
--- /dev/null
+++ b/modules/polynomials/src/c/polynomials.rc
@@ -0,0 +1,96 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x0L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "polynomials module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "polynomials module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "polynomials.dll"
+ VALUE "ProductName", " polynomials"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/polynomials/src/c/polynomials.vcxproj b/modules/polynomials/src/c/polynomials.vcxproj
new file mode 100755
index 000000000..2cf9349c7
--- /dev/null
+++ b/modules/polynomials/src/c/polynomials.vcxproj
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{620D8FA7-3704-438E-BB1E-391C84401A2E}</ProjectGuid>
+ <RootNamespace>polynomials</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../includes;../../../output_stream/includes;../../../localization/includes;../../../core/includes;../../../../libs/intl;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../includes;../../../output_stream/includes;../../../localization/includes;../../../core/includes;../../../../libs/intl;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../includes;../../../output_stream/includes;../../../localization/includes;../../../core/includes;../../../../libs/intl;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../includes;../../../output_stream/includes;../../../localization/includes;../../../core/includes;../../../../libs/intl;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="DllmainPolynomial.c" />
+ <ClCompile Include="..\..\sci_gateway\c\gw_polynomials.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_bezout.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_cleanp.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_coeff.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_degree.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_diag.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_div.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_poly.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_prod.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_roots.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_sfact.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_simp.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_simp_mode.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_sum.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_tril.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_triu.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_varn.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\dynlib_polynomials.h" />
+ <ClInclude Include="..\..\includes\gw_polynomials.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\locales\polynomials.pot" />
+ <None Include="core_import.def" />
+ <None Include="polynomials_f_Import.def" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="..\..\polynomials.iss" />
+ <None Include="..\..\sci_gateway\polynomials_gateway.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="polynomials.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj">
+ <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/polynomials/src/c/polynomials.vcxproj.filters b/modules/polynomials/src/c/polynomials.vcxproj.filters
new file mode 100755
index 000000000..b617ed539
--- /dev/null
+++ b/modules/polynomials/src/c/polynomials.vcxproj.filters
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{b6c1f1cb-6dfb-4767-876f-55541e8abe20}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{74c06388-16ab-4f65-9238-7b034acce6f3}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="localization">
+ <UniqueIdentifier>{ce71d028-79e5-4b19-8762-ccca145331b2}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{85bdfa85-786d-42f7-b6d3-9b6a2bc59daa}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies\Imports">
+ <UniqueIdentifier>{07b53475-72a1-47e9-b864-67aae026d207}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{e9a37564-3313-430d-a826-9a1272dac567}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="DllmainPolynomial.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\gw_polynomials.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_bezout.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_cleanp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_coeff.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_degree.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_diag.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_div.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_poly.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_prod.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_roots.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_sfact.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_simp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_simp_mode.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_sum.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_tril.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_triu.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_varn.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\dynlib_polynomials.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\gw_polynomials.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="polynomials_f_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="..\..\Makefile.am" />
+ <None Include="..\..\polynomials.iss" />
+ <None Include="..\..\sci_gateway\polynomials_gateway.xml" />
+ <None Include="..\..\locales\polynomials.pot">
+ <Filter>localization</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="polynomials.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/polynomials/src/c/polynomials_f_Import.def b/modules/polynomials/src/c/polynomials_f_Import.def
new file mode 100755
index 000000000..ee11de667
--- /dev/null
+++ b/modules/polynomials/src/c/polynomials_f_Import.def
@@ -0,0 +1,23 @@
+LIBRARY polynomials_f.dll
+
+
+EXPORTS
+; ---------------------------------------
+; polynomials_f
+; ---------------------------------------
+intbez_
+intpclean_
+intcoeff_
+intdegree_
+intpdiag_
+intpdiv_
+intpoly_
+intpprod_
+introots_
+intsfact_
+intsimp_
+intsimpmd_
+intpsum_
+intptriu_
+intvarn_
+
diff --git a/modules/polynomials/src/fortran/.deps/.dirstamp b/modules/polynomials/src/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/polynomials/src/fortran/.deps/.dirstamp
diff --git a/modules/polynomials/src/fortran/.dirstamp b/modules/polynomials/src/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/polynomials/src/fortran/.dirstamp
diff --git a/modules/polynomials/src/fortran/.libs/bezstp.o b/modules/polynomials/src/fortran/.libs/bezstp.o
new file mode 100755
index 000000000..0672c20bd
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/bezstp.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/blktit.o b/modules/polynomials/src/fortran/.libs/blktit.o
new file mode 100755
index 000000000..874a4f1e4
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/blktit.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/calcsc.o b/modules/polynomials/src/fortran/.libs/calcsc.o
new file mode 100755
index 000000000..e597dd483
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/calcsc.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/chkvar.o b/modules/polynomials/src/fortran/.libs/chkvar.o
new file mode 100755
index 000000000..4de02a8e9
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/chkvar.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/ddmpev.o b/modules/polynomials/src/fortran/.libs/ddmpev.o
new file mode 100755
index 000000000..d82fa2a85
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/ddmpev.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dimin.o b/modules/polynomials/src/fortran/.libs/dimin.o
new file mode 100755
index 000000000..5d4dabe70
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dimin.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmp2pm.o b/modules/polynomials/src/fortran/.libs/dmp2pm.o
new file mode 100755
index 000000000..0f0fb62c4
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmp2pm.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpad.o b/modules/polynomials/src/fortran/.libs/dmpad.o
new file mode 100755
index 000000000..e4780d72a
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpad.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpadj.o b/modules/polynomials/src/fortran/.libs/dmpadj.o
new file mode 100755
index 000000000..5a94eeec1
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpadj.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpcle.o b/modules/polynomials/src/fortran/.libs/dmpcle.o
new file mode 100755
index 000000000..3bf00a2c0
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpcle.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpcnc.o b/modules/polynomials/src/fortran/.libs/dmpcnc.o
new file mode 100755
index 000000000..01c3546b3
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpcnc.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpext.o b/modules/polynomials/src/fortran/.libs/dmpext.o
new file mode 100755
index 000000000..30e4b2213
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpext.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpins.o b/modules/polynomials/src/fortran/.libs/dmpins.o
new file mode 100755
index 000000000..f423f9090
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpins.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmpmu.o b/modules/polynomials/src/fortran/.libs/dmpmu.o
new file mode 100755
index 000000000..e4dc1d89a
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmpmu.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dmptra.o b/modules/polynomials/src/fortran/.libs/dmptra.o
new file mode 100755
index 000000000..623795da9
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dmptra.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dpmul.o b/modules/polynomials/src/fortran/.libs/dpmul.o
new file mode 100755
index 000000000..c64d5e570
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dpmul.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dpmul1.o b/modules/polynomials/src/fortran/.libs/dpmul1.o
new file mode 100755
index 000000000..bfe2fbdfd
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dpmul1.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dpodiv.o b/modules/polynomials/src/fortran/.libs/dpodiv.o
new file mode 100755
index 000000000..2c837b14a
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dpodiv.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dprxc.o b/modules/polynomials/src/fortran/.libs/dprxc.o
new file mode 100755
index 000000000..59348cbe4
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dprxc.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dpsimp.o b/modules/polynomials/src/fortran/.libs/dpsimp.o
new file mode 100755
index 000000000..6773b82a4
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dpsimp.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/dwmpmu.o b/modules/polynomials/src/fortran/.libs/dwmpmu.o
new file mode 100755
index 000000000..95c935bf3
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/dwmpmu.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/fxshfr.o b/modules/polynomials/src/fortran/.libs/fxshfr.o
new file mode 100755
index 000000000..0c584691b
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/fxshfr.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/horner.o b/modules/polynomials/src/fortran/.libs/horner.o
new file mode 100755
index 000000000..e5b7b481a
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/horner.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/idegre.o b/modules/polynomials/src/fortran/.libs/idegre.o
new file mode 100755
index 000000000..98bc22054
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/idegre.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/impcnc.o b/modules/polynomials/src/fortran/.libs/impcnc.o
new file mode 100755
index 000000000..f347694ab
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/impcnc.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/impext.o b/modules/polynomials/src/fortran/.libs/impext.o
new file mode 100755
index 000000000..da23abd5f
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/impext.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/impins.o b/modules/polynomials/src/fortran/.libs/impins.o
new file mode 100755
index 000000000..6f3b53b79
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/impins.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/imptra.o b/modules/polynomials/src/fortran/.libs/imptra.o
new file mode 100755
index 000000000..365f83e1c
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/imptra.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/mpdegr.o b/modules/polynomials/src/fortran/.libs/mpdegr.o
new file mode 100755
index 000000000..0119bb603
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/mpdegr.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/mpdiag.o b/modules/polynomials/src/fortran/.libs/mpdiag.o
new file mode 100755
index 000000000..e9858e9a3
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/mpdiag.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/mpinsp.o b/modules/polynomials/src/fortran/.libs/mpinsp.o
new file mode 100755
index 000000000..d082d8d80
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/mpinsp.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/mptri.o b/modules/polynomials/src/fortran/.libs/mptri.o
new file mode 100755
index 000000000..a395e397d
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/mptri.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/newest.o b/modules/polynomials/src/fortran/.libs/newest.o
new file mode 100755
index 000000000..bb05086c8
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/newest.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/nextk.o b/modules/polynomials/src/fortran/.libs/nextk.o
new file mode 100755
index 000000000..5aab0fcee
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/nextk.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/quad.o b/modules/polynomials/src/fortran/.libs/quad.o
new file mode 100755
index 000000000..506b2fcb2
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/quad.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/quadit.o b/modules/polynomials/src/fortran/.libs/quadit.o
new file mode 100755
index 000000000..70bd1d502
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/quadit.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/quadsd.o b/modules/polynomials/src/fortran/.libs/quadsd.o
new file mode 100755
index 000000000..aad1c2191
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/quadsd.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/realit.o b/modules/polynomials/src/fortran/.libs/realit.o
new file mode 100755
index 000000000..20ba4d29e
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/realit.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/recbez.o b/modules/polynomials/src/fortran/.libs/recbez.o
new file mode 100755
index 000000000..af6a1de01
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/recbez.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/residu.o b/modules/polynomials/src/fortran/.libs/residu.o
new file mode 100755
index 000000000..06553db8c
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/residu.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/rpoly.o b/modules/polynomials/src/fortran/.libs/rpoly.o
new file mode 100755
index 000000000..58f8dc8f4
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/rpoly.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/sfact1.o b/modules/polynomials/src/fortran/.libs/sfact1.o
new file mode 100755
index 000000000..0d4254d91
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/sfact1.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/sfact2.o b/modules/polynomials/src/fortran/.libs/sfact2.o
new file mode 100755
index 000000000..e574d88f8
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/sfact2.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wdmpad.o b/modules/polynomials/src/fortran/.libs/wdmpad.o
new file mode 100755
index 000000000..da6ede10c
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wdmpad.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wdmpmu.o b/modules/polynomials/src/fortran/.libs/wdmpmu.o
new file mode 100755
index 000000000..cbfe6b62f
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wdmpmu.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmpad.o b/modules/polynomials/src/fortran/.libs/wmpad.o
new file mode 100755
index 000000000..49c1650c2
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmpad.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmpadj.o b/modules/polynomials/src/fortran/.libs/wmpadj.o
new file mode 100755
index 000000000..0499d5245
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmpadj.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmpcle.o b/modules/polynomials/src/fortran/.libs/wmpcle.o
new file mode 100755
index 000000000..71971fd67
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmpcle.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmpcnc.o b/modules/polynomials/src/fortran/.libs/wmpcnc.o
new file mode 100755
index 000000000..6bbd0e597
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmpcnc.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmpins.o b/modules/polynomials/src/fortran/.libs/wmpins.o
new file mode 100755
index 000000000..c3ddbcd68
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmpins.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmpmu.o b/modules/polynomials/src/fortran/.libs/wmpmu.o
new file mode 100755
index 000000000..8c02e208f
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmpmu.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wmptra.o b/modules/polynomials/src/fortran/.libs/wmptra.o
new file mode 100755
index 000000000..73de31851
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wmptra.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wpmul.o b/modules/polynomials/src/fortran/.libs/wpmul.o
new file mode 100755
index 000000000..20988fa1f
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wpmul.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wpmul1.o b/modules/polynomials/src/fortran/.libs/wpmul1.o
new file mode 100755
index 000000000..bc0306863
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wpmul1.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wpodiv.o b/modules/polynomials/src/fortran/.libs/wpodiv.o
new file mode 100755
index 000000000..b5a00fc78
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wpodiv.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/wprxc.o b/modules/polynomials/src/fortran/.libs/wprxc.o
new file mode 100755
index 000000000..903584503
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/wprxc.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/.libs/writebufsfact.o b/modules/polynomials/src/fortran/.libs/writebufsfact.o
new file mode 100755
index 000000000..c01b3cff6
--- /dev/null
+++ b/modules/polynomials/src/fortran/.libs/writebufsfact.o
Binary files differ
diff --git a/modules/polynomials/src/fortran/Core_f_Import.def b/modules/polynomials/src/fortran/Core_f_Import.def
new file mode 100755
index 000000000..5590db07a
--- /dev/null
+++ b/modules/polynomials/src/fortran/Core_f_Import.def
@@ -0,0 +1,12 @@
+ LIBRARY core_f.dll
+
+
+EXPORTS
+;
+;core_f
+;
+funnam_
+indxg_
+indxgc_
+putid_
+ref2val_
diff --git a/modules/polynomials/src/fortran/Elementary_functions_Import.def b/modules/polynomials/src/fortran/Elementary_functions_Import.def
new file mode 100755
index 000000000..6653019cc
--- /dev/null
+++ b/modules/polynomials/src/fortran/Elementary_functions_Import.def
@@ -0,0 +1,7 @@
+ LIBRARY elementary_functions.dll
+
+
+EXPORTS
+;
+;elementary_functions
+unsfdcopy_
diff --git a/modules/polynomials/src/fortran/Elementary_functions_f_Import.def b/modules/polynomials/src/fortran/Elementary_functions_f_Import.def
new file mode 100755
index 000000000..7dd17e0ed
--- /dev/null
+++ b/modules/polynomials/src/fortran/Elementary_functions_f_Import.def
@@ -0,0 +1,17 @@
+ LIBRARY elementary_functions_f.dll
+
+
+EXPORTS
+;
+;elementary_functions_f
+dtild_
+wscal_
+dset_
+ivimp_
+iset_
+dadd_
+wwdiv_
+wmul_
+ddif_
+israt_
+
diff --git a/modules/polynomials/src/fortran/bezstp.f b/modules/polynomials/src/fortran/bezstp.f
new file mode 100755
index 000000000..1c3672b6f
--- /dev/null
+++ b/modules/polynomials/src/fortran/bezstp.f
@@ -0,0 +1,196 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine bezstp(p1,n1,p2,n2,a,na,u,nu,l,x,v,w,best,ipb,errr)
+ double precision a(na,*),u(nu,*),x(na,*),v(nu,*),p1(*),p2(*)
+ integer ipb(6)
+ double precision w(*),best(*),errr
+ double precision dt0,z,fact
+ double precision c,s,errd,mm,eps,erri
+ double precision dlamch,ddot
+c
+ eps=dlamch('p')
+ n0=max(n1,n2)+1
+ m1=max(n1-n2,0)
+ m2=max(n2-n1,0)
+ ll=2*l
+ iuv=1
+ ixy=iuv+ll
+ iw1=ixy+ll
+ iw=iw1+n0
+ ifree=iw+2*n0
+c The matrix A is an upper triangular matrix catenated with a first full row
+c [A(1,1) ... A(1,n0-1) A(1,n0)
+c A(2,1) ... A(2,n0-1) A(2,n0)
+c A(3,1) ... A(3,n0-1) 0
+c A(4,1) ... 0 0
+c ... ... ... ... ]
+c
+c make it upper triangular by a sequence of givens rotations
+ do 10 k=1,l
+c . compute rotation that zeros a(k+1,n0+1-k)
+ call giv(a(k,n0+1-k),a(k+1,n0+1-k),c,s)
+c . apply it to the rows k and k+1 of a
+ call drot(n0,a(k,1),na,a(k+1,1),na,c,s)
+ a(k+1,n0+1-k)=0.0d+0
+c . accumulate transformation in u
+ call drot(ll,u(k,1),nu,u(k+1,1),nu,c,s)
+ if(k.eq.1.and.l.lt.n0) then
+c . store second row of a in x (that is right part of row 0 of a)
+c . A=[[0 x]
+c . At ]
+ call dcopy(n0-1,a(2,1),na,x,na)
+c . store second row of u in v (that is right part of row 0 of u)
+ call dcopy(ll,u(2,1),nu,v,nu)
+ endif
+ 10 continue
+c
+ call dcopy(ll,u(l,1),nu,w(iuv),1)
+ call dcopy(ll,u(l+1,1),nu,w(ixy),1)
+
+c
+ if(l.le.abs(n1-n2)) then
+c . The dimension of the image of the linear application is too
+c . small, skip the errors computations
+c . increase the space dimension
+ goto 99
+ endif
+c Get the highest degree coefficient of the CGD candidate
+ fact=a(l,n0-l+1)
+
+c decrease the [u,v] degree using a linear combinaison with [x y]
+ if(l.gt.1) then
+ mm=w(ixy+2*m1)**2+w(ixy+1+2*m2)**2
+ z=w(iuv+2*m1)*w(ixy+2*m1)+w(iuv+1+2*m2)*w(ixy+1+2*m2)
+ else
+ mm=w(ixy+2*m1)**2
+ z=w(iuv+2*m1)*w(ixy+2*m1)
+ endif
+ if (mm.ne.0.0d+0) then
+c on abaisse le degre de [u,v]
+ z=-z/mm
+ call daxpy(ll,z,w(ixy),1,w(iuv),1)
+ endif
+c
+ if (fact.eq.0.0d+0) then
+c . the highest degree coefficient of the GCD candidate is zero. It is
+c . possible to find a lower degree one, increase the space dimension
+ goto 99
+ endif
+c normalize the u and v componants of the unimodular matrix to make
+c CGD candidate higher degree coefficient equal to 1
+ call dscal(ll,1.0d+0/fact,w(iuv),1)
+c compute the determinant of the unimodular matrix (the determinant
+c of its degree 0 coefficient
+ dt0=w(ixy+2*(l-1))*w(iuv+2*l-1)-w(ixy+2*l-1)*w(iuv+2*(l-1))
+ if(dt0.eq.0.0d+0) then
+c . the determinant of the unimodular matrix is 0,
+c . increase the space dimension
+ goto 99
+ endif
+c normalize the x and y components of the unimodular matrix to make
+c it's determinant equal to 1
+ call dscal(ll,1.0d+0/dt0,w(ixy),1)
+ dt0=1.0d0
+c
+c Estimate the forward error:
+c first compute ||p1*x-p2*y||
+c p1*x
+ call dcopy(l-m1,w(ixy+2*m1),2,w(iw1),-1)
+ call dpmul1(p1,n1,w(iw1),l-1-m1,w(iw))
+ nw=n1+l-1-m1
+c p1*x+p2*y
+ call dcopy(l-m2,w(ixy+1+2*m2),2,w(iw1),-1)
+ call dpmul(p2,n2,w(iw1),l-1-m2,w(iw),nw)
+ errd=ddot(nw+1,w(iw),1,w(iw),1)
+c now compute ||p1*u-p2*v-p||
+c p1*u
+ if(l-1-m1.gt.0) then
+ call dcopy(l-1-m1,w(iuv+2+2*m1),2,w(iw1),-1)
+ call dpmul1(p1,n1,w(iw1),l-2-m1,w(iw))
+ nw=n1+l-2-m1
+ else
+ call dpmul1(p1,n1,w(iuv+2*m1),0,w(iw))
+ nw=n1
+ endif
+c p1*u+p2*v
+ if(l-1-m2.gt.0) then
+ call dcopy(l-1-m2,w(iuv+3+2*m2),2,w(iw1),-1)
+ call dpmul(p2,n2,w(iw1),l-2-m2,w(iw),nw)
+ else
+ call dpmul(p2,n2,w(iuv+1+2*m2),0,w(iw),nw)
+ endif
+c p
+ np=n0-l
+ call dcopy(np+1,a(l,1),na,w(iw1),1)
+ call daxpy(np,z,a(l+1,1),na,w(iw1),1)
+ call dscal(np+1,1.0d+0/fact,w(iw1),1)
+c p1*u+p2*v-p
+ call ddif(np+1,w(iw1),1,w(iw),1)
+ errd=errd+ddot(nw+1,w(iw),1,w(iw),1)
+c
+c Estimate the backward error
+c ------------------------------
+c first ||p*y+p1||
+c y
+ call dcopy(n1-np+1,w(ixy+1+2*m2),2,w(iw),-1)
+c p*y+p1
+ call dpmul1(w(iw1),np,w(iw),n1-np,w(iw))
+ call dadd(n1+1,p1,1,w(iw),1)
+ erri=ddot(n1+1,w(iw),1,w(iw),1)
+c now ||p*x-p2||
+c x
+ call dcopy(n2-np+1,w(ixy+2*m1),2,w(iw),-1)
+c p*x
+ call dpmul1(w(iw1),np,w(iw),n2-np,w(iw))
+c p*x-p2
+ call ddif(n2+1,p2,1,w(iw),1)
+ erri=erri+ddot(n2+1,w(iw),1,w(iw),1)
+
+ if(max(erri,errd).lt.errr) then
+c . A better solution found
+ errr=max(erri,errd)
+ nb=max(0,n0-l)
+c . preserve the gcd and unimodular matrix candidates
+c best contains [gcd u,v,x,y],
+c the ipb array give info to split best.
+ ipb(1)=1
+c . store gcd candidate into best
+ call dcopy(nb+1,a(l,1),na,best(ipb(1)),1)
+ if(l.gt.1) then
+ call daxpy(nb+1,z,a(l+1,1),na,best(ipb(1)),1)
+ endif
+ call dscal(nb+1,1.0d+0/fact,best(ipb(1)),1)
+ ipb(2)=ipb(1)+nb+1
+
+c . store the unimodular matrix candidate into best
+ if(l.gt.1) then
+ nn=max(n2-nb,1)
+ call dcopy(nn,w(iuv+2*(l-nn)),2,best(ipb(2)),-1)
+ ipb(3)=ipb(2)+nn
+ nn=max(n1-nb,1)
+ call dcopy(nn,w(iuv+1+2*(l-nn)),2,best(ipb(3)),-1)
+ ipb(4)=ipb(3)+nn
+ else
+ best(ipb(2))=w(iuv)
+ ipb(3)=ipb(2)+1
+ best(ipb(3))=w(iuv+1)
+ ipb(4)=ipb(3)+1
+ endif
+ nn=n2+1-nb
+ call dcopy(nn,w(ixy+2*(l-nn)),2,best(ipb(4)),-1)
+ ipb(5)=ipb(4)+nn
+ nn=n1+1-nb
+ call dcopy(nn,w(ixy+1+2*(l-nn)),2,best(ipb(5)),-1)
+ ipb(6)=ipb(5)+nn
+ endif
+c
+ 99 continue
+c increase the dimension of the space
+ return
+ end
diff --git a/modules/polynomials/src/fortran/bezstp.lo b/modules/polynomials/src/fortran/bezstp.lo
new file mode 100755
index 000000000..58d5e10f9
--- /dev/null
+++ b/modules/polynomials/src/fortran/bezstp.lo
@@ -0,0 +1,12 @@
+# src/fortran/bezstp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/bezstp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/blktit.f b/modules/polynomials/src/fortran/blktit.f
new file mode 100755
index 000000000..cd25ac51d
--- /dev/null
+++ b/modules/polynomials/src/fortran/blktit.f
@@ -0,0 +1,40 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine blktit(lunit,k1,k2,io)
+c!purpose
+c generates and outputs a matrix bloc title line of the form :
+c <empty line>
+c column k1 to k2
+c <empty line>
+c!
+ integer k1,k2,io
+c
+ character*4 fmt2
+ character*70 fmt1,cw
+c
+c number of digit necessary to represent k2
+ lft=int(log10(dble(k2)+0.4))+1
+ write(fmt2,'(''i'',i2)') lft
+
+ call basout(io,lunit,' ')
+ if(io.eq.-1) return
+
+ if(k1.eq.k2) then
+ fmt1='('' column '','//fmt2//')'
+ write(cw(1:16+lft),fmt1) k1
+ call basout(io,lunit,cw(1:16+lft))
+ else
+ fmt1='('' column '','//fmt2//','' to '','//fmt2//')'
+ write(cw(1:(20+2*lft)),fmt1) k1,k2
+ call basout(io,lunit,cw(1:(20+2*lft)))
+ endif
+ if (io.eq.-1) return
+ call basout(io,lunit,' ')
+ if (io.eq.-1) return
+ end
diff --git a/modules/polynomials/src/fortran/blktit.lo b/modules/polynomials/src/fortran/blktit.lo
new file mode 100755
index 000000000..24fffc07d
--- /dev/null
+++ b/modules/polynomials/src/fortran/blktit.lo
@@ -0,0 +1,12 @@
+# src/fortran/blktit.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/blktit.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/cacsd_f_Import.def b/modules/polynomials/src/fortran/cacsd_f_Import.def
new file mode 100755
index 000000000..ff0c7a146
--- /dev/null
+++ b/modules/polynomials/src/fortran/cacsd_f_Import.def
@@ -0,0 +1,7 @@
+ LIBRARY cacsd_f.dll
+
+
+EXPORTS
+;
+;cacsd_f
+giv_ \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/calcsc.f b/modules/polynomials/src/fortran/calcsc.f
new file mode 100755
index 000000000..0b7c94a84
--- /dev/null
+++ b/modules/polynomials/src/fortran/calcsc.f
@@ -0,0 +1,55 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine calcsc(type)
+c this routine calculates scalar quantities used to
+c compute the next k polynomial and new estimates of
+c the quadratic coefficients.
+c type - integer variable set here indicating how the
+c calculations are normalized to avoid overflow
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a, b, c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ real eta, are, mre
+ integer n, nn
+ integer type
+c synthetic division of k by the quadratic 1,u,v
+ call quadsd(n, u, v, k(1), qk(1), c, d)
+ if (abs(c).gt.abs(k(n))*100.*eta) go to 10
+ if (abs(d).gt.abs(k(n-1))*100.*eta) go to 10
+ type = 3
+c type=3 indicates the quadratic is almost a factor
+c of k
+ return
+ 10 if (abs(d).lt.abs(c)) go to 20
+ type = 2
+c type=2 indicates that all formulas are divided by d
+ e = a/d
+ f = c/d
+ g = u*b
+ h = v*b
+ a3 = (a+g)*e + h*(b/d)
+ a1 = b*f - a
+ a7 = (f+u)*a +h
+ return
+ 20 type = 1
+c type=1 indicates that all formulas are divided by c
+ e = a/c
+ f = d/c
+ g = u*e
+ h = v*b
+ a3 = a*e + (h/c+g)*b
+ a1 = b - a*(d/c)
+ a7 = a + g*d + h*f
+ return
+ end
diff --git a/modules/polynomials/src/fortran/calcsc.lo b/modules/polynomials/src/fortran/calcsc.lo
new file mode 100755
index 000000000..ee8bb3214
--- /dev/null
+++ b/modules/polynomials/src/fortran/calcsc.lo
@@ -0,0 +1,12 @@
+# src/fortran/calcsc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/calcsc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/chkvar.f b/modules/polynomials/src/fortran/chkvar.f
new file mode 100755
index 000000000..822abb841
--- /dev/null
+++ b/modules/polynomials/src/fortran/chkvar.f
@@ -0,0 +1,29 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ logical function chkvar(v1,v2)
+c compare polynomials formal names
+ integer v1(4),v2(4)
+ logical test
+
+ if(v1(1).eq.0.or.v2(1).eq.0) then
+ test=.true.
+ else
+ test=.false.
+ do 10 i=1,4
+ if(v1(i).ne.v2(i)) goto 20
+ 10 continue
+ test=.true.
+ endif
+ 20 chkvar=test
+ return
+ end
+
+
+
diff --git a/modules/polynomials/src/fortran/chkvar.lo b/modules/polynomials/src/fortran/chkvar.lo
new file mode 100755
index 000000000..0cdb5a560
--- /dev/null
+++ b/modules/polynomials/src/fortran/chkvar.lo
@@ -0,0 +1,12 @@
+# src/fortran/chkvar.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/chkvar.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/core_Import.def b/modules/polynomials/src/fortran/core_Import.def
new file mode 100755
index 000000000..0a515ae40
--- /dev/null
+++ b/modules/polynomials/src/fortran/core_Import.def
@@ -0,0 +1,21 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+;
+;core_f
+vstk_
+com_
+stack_
+recu_
+iop_
+csimp_
+cha1_
+putlhsvar_
+;
+; explicit imports (COMMON) to fix warning LNK4049: locally defined symbol
+;
+errgst_
+adre_
+intersci_
+; \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/ddmpev.f b/modules/polynomials/src/fortran/ddmpev.f
new file mode 100755
index 000000000..c12aa0eac
--- /dev/null
+++ b/modules/polynomials/src/fortran/ddmpev.f
@@ -0,0 +1,47 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine ddmpev(mp1,d1,nl1,x,v,iv,m,n)
+c!purpose
+c evaluates a real polynomail matrix at a real point
+c! calling sequence
+c
+c mp1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome mp1(i,j) est range
+c dans mp1( d1(i + (j-1)*nl1 + k) )
+c mp1 doit etre de taille au moins d1(nl1*n+1)-d1(1)
+c d1 : tableau entier de taille nl1*n+1, si k=i+(j-1)*nl1 alors
+c d1(k)) contient l'adresse dans mp1 du coeff de degre 0
+c du polynome mp1(i,j). Le degre du polynome mp1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c nl1 : entier definissant le rangement dans d1
+c x : valeur du point pour lequel on de amde l'evaluation
+c v : tableau resultat
+c iv : entier definissant le rangement dans v
+c m : nombre de ligne de la matrice de polynome
+c n : nombre de colonne de la matrice de polynome
+c!
+ double precision mp1(*),x,v(iv,*)
+ integer d1(*),nl1,iv,m,n,dp
+c
+
+ do 20 j=1,n
+ do 10 i=1,m
+ k=i+(j-1)*nl1
+ dp=d1(k+1)-d1(k)-1
+ lp=d1(k)
+ ip=lp+dp
+ v(i,j)=mp1(ip)
+ if(dp.eq.0) goto 10
+ do 01 l=1,dp
+ v(i,j)=v(i,j)*x+mp1(ip-l)
+ 01 continue
+ 10 continue
+ 20 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/ddmpev.lo b/modules/polynomials/src/fortran/ddmpev.lo
new file mode 100755
index 000000000..ceee4f2c1
--- /dev/null
+++ b/modules/polynomials/src/fortran/ddmpev.lo
@@ -0,0 +1,12 @@
+# src/fortran/ddmpev.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/ddmpev.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dimin.f b/modules/polynomials/src/fortran/dimin.f
new file mode 100755
index 000000000..8c38b2bf5
--- /dev/null
+++ b/modules/polynomials/src/fortran/dimin.f
@@ -0,0 +1,144 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine dimin(lig1,col1,v1,d1,v2,d2,lig2,col2,ligr,colr,ierr)
+c!but
+c
+c Cette subroutine donne les dimensions (lignes, colonnes) de
+c la matrice qui resulte de l'insertion d'une
+c matrice de polynomes mat2 (ou strings) dans une autre mat1
+c d'apres deux vecteurs donnes.
+c
+c!parametres d'appel
+c
+c call dimin(lig1,col1,v1,d1,v2,d2,lig2,col2,ligr,colr,ierr)
+c
+c ou
+c
+c lig1, col1: entiers, dimensions de mat1
+c
+c v1: vecteur entier
+c
+c d1: longueur du vecteur v1, s'il est positif doit etre egal
+c a lig2.
+c
+c v2, d2: analogues aux anterieurs, si d2 est positif doit etre
+c egal a col2.
+c
+c Note: si d1 (ou d2 ou les deux sont negatifs, ca signifie
+c qu'on prendra toutes les colonnes (ou lignes) de
+c mat1.
+c
+c lig2, col2: analogues aux correspondents 1
+c
+c ligr, colr: parametres de sortie, matrice r et
+c autres valeurs relationnes.
+c
+c ierr: si 0 terminaison correcte,
+c si 1 un des vecteurs v1 ou v2 a une longueur nulle,
+c si 2 mauvaises dimensions de mat2
+c
+c
+c!
+ integer v1(*),v2(*)
+ integer lig1,col1,d1,d2,lig2,col2,ligr,colr,ierr
+ integer noo1,noo2
+c
+c ========================================
+c
+c cas ou l'un des deux vecteurs v1 ou v2 est
+c de dimension nulle
+c
+c ========================================
+c
+ if (d1.eq.0.or.d2.eq.0)then
+c erreur pour un des vecteurs de dimensions nulles
+ ierr=1
+ return
+ endif
+c
+c ========================================
+c
+c cas ou d1 ou d2 sont negatifs
+c
+c ========================================
+c
+ if(d1.gt.0.and.d2.gt.0)goto 05
+ if(d1.lt.0.and.d2.lt.0) then
+ if(lig1.ne.lig2.or.col1.ne.col2) then
+c erreur pour mauvaises dimensions de mat2
+ ierr=2
+ return
+ endif
+ ligr=lig1
+ colr=col1
+ goto 999
+ endif
+c
+c ========================================
+c
+c cas du premier vecteur a dimension negative
+c
+c ========================================
+c
+ if(d1.lt.0) then
+c determination de noo2
+ noo2=0
+ do 06 i=1,d2
+ if(v2(i).gt.noo2)noo2=v2(i)
+06 continue
+c dimensions de r
+ ligr=max(lig1,1)
+ colr=max(col1,noo2)
+ go to 999
+ endif
+c
+c ========================================
+c
+c cas ou les dimensions du deuxieme vecteur sont negatives
+c
+c ========================================
+c
+ if(d2.lt.0) then
+c determination de noo1
+ noo1=0
+ do 09 i=1,d1
+ if(v1(i).gt.noo1)noo1=v1(i)
+09 continue
+c dimensions de r
+ ligr=max(lig1,noo1)
+ colr=max(col1,1)
+ goto 999
+ endif
+c
+c ========================================
+c
+c cas general - ou les dimensions de deux vecteurs sont positives
+c
+c ========================================
+c
+c determination des dimensions correctes
+05 if(d1.ne.lig2.or.d2.ne.col2)then
+ ierr=2
+ return
+ endif
+c determination de noo1 et noo2
+ noo1=0
+ do 01 i=1,d1
+ if(v1(i).gt.noo1)noo1=v1(i)
+01 continue
+ noo2=0
+ do 02 i=1,d2
+ if(v2(i).gt.noo2)noo2=v2(i)
+02 continue
+c dimensions de r
+ ligr=max(lig1,noo1)
+ colr=max(col1,noo2)
+999 ierr=0
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dimin.lo b/modules/polynomials/src/fortran/dimin.lo
new file mode 100755
index 000000000..e5f0c1d91
--- /dev/null
+++ b/modules/polynomials/src/fortran/dimin.lo
@@ -0,0 +1,12 @@
+# src/fortran/dimin.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dimin.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmp2pm.f b/modules/polynomials/src/fortran/dmp2pm.f
new file mode 100755
index 000000000..03311535d
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmp2pm.f
@@ -0,0 +1,56 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1988-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DMP2PM,SSI=0
+c Copyright INRIA
+ subroutine dmp2pm(mp,d,nl,pm,deg,m,n)
+c!but
+c Le sous programme dmptopm convertit la matrice de polynomes
+c definie par mp,d,nl en un polynome matriciel pm
+c!liste d'appel
+c double precision mp(*),pm(m,n*(deg+1))
+c integer d(nl*n+1),nl,m,n,deg
+c
+c mp: tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome mp(i,j) est range
+c dans mp( d(i + (j-1)*nl + k) )
+c mp doit etre de taille au moins d(nl*n+1)-d(1)
+c d : tableau entier de taille nl*n+1, si k=i+(j-1)*nl alors
+c d(k)) contient l'adresse dans pm du coeff de degre 0
+c du polynome mp(i,j). Le degre du polynome mp(i,j) vaut:
+c d(k+1)-d(k) -1
+c nl : entier definissant le rangement dans d
+c pm : tableau contenant les matrices coefficients du polynomes
+c matriciel :soit mp_i la matrice formee des coefficients
+c de degre i de mp, alors
+c pm=[mp_0,.....mp_deg]
+c si deg >max(degre(mp(i,j))) les termes non presents dans mp
+c sont supposes nuls
+c deg: degre maxi des coefficients du polynome matriciel a extraire
+c m : nombre de ligne de la matrice polynomiale
+c n : nombre de colonnes de la matrice polynomiale
+c
+c!
+ double precision mp(*),pm(*)
+ integer d(*),nl,m,n,deg
+c
+ mn=m*n
+ call dset(mn*(deg+1),0.0d+0,pm,1)
+c
+ imp=-nl
+ ipm=-m
+ do 20 k=1,n
+ imp=imp+nl
+ ipm=ipm+m
+ do 10 l=1,m
+ kij=min(deg+1,d(imp+l+1)-d(imp+l))
+ call dcopy(kij,mp(d(imp+l)),1,pm(l+ipm),mn)
+ 10 continue
+ 20 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmp2pm.lo b/modules/polynomials/src/fortran/dmp2pm.lo
new file mode 100755
index 000000000..e08f92c72
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmp2pm.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmp2pm.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmp2pm.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpad.f b/modules/polynomials/src/fortran/dmpad.f
new file mode 100755
index 000000000..b802fefda
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpad.f
@@ -0,0 +1,103 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DMPAD,SSI=0
+c Copyright INRIA
+ subroutine dmpad(pm1,d1,l1,pm2,d2,l2,pm3,d3,m,n)
+c!but
+c cette subroutine ajoute deux matrices dont les coefficients
+c sont des polynomes: pm3=pm1+pm2
+c!listed'appel
+c
+c subroutine dmpad(pm1,d1,l1,pm2,d2,l2,pm3,d3,m,n)
+c double precision pm1(*),pm2(*),pm3(*)
+c integer d1(l1*n+1),d2(l2*n+1),d3(m*n+1),m,n,l1,l2
+c
+c pm1 : tableau reel contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*l1 + k) )
+c pm1 doit etre de taille au moins d1(l1*n+1)-d1(1)
+c d1 : tableau entier de taille l1*n+1, si k=i+(j-1)*l1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c l1 : entier definissant le rangement dans d1
+c
+c pm2,d2,l2 : definitions similaires a celles de pm1,d1,l1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, l3 est
+c suppose egal a m
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c!
+ double precision pm1(*),pm2(*),pm3(*),eps,w
+ double precision dlamch
+ integer d1(*),d2(*),d3(*),m,n,l1,l2
+c
+ integer n1,n2,n3,mn,i,k
+c
+ eps=dlamch('p')
+ mn=m*n
+ d3(1)=1
+c
+ i1=-l1
+ i2=-l2
+ k3=0
+c boucle sur les polynomes
+ do 41 j=1,n
+ i1=i1+l1
+ i2=i2+l2
+ do 40 i=1,m
+ k1=d1(i1+i)-1
+ k2=d2(i2+i)-1
+ n1=d1(i1+i+1)-d1(i1+i)
+ n2=d2(i2+i+1)-d2(i2+i)
+ if(n1.gt.n2) goto 30
+c
+c n1.lt.n2
+c
+ 20 do 21 k=1,n1
+ w=pm1(k1+k)+pm2(k2+k)
+ if(abs(w).gt.max(abs(pm1(k1+k)),abs(pm2(k2+k)))*eps) then
+ pm3(k3+k)=w
+ else
+ pm3(k3+k)=0.0d+0
+ endif
+ 21 continue
+ if(n1.eq.n2) goto 23
+ n3=n1+1
+ do 22 k=n3,n2
+ pm3(k3+k)=pm2(k2+k)
+ 22 continue
+ 23 n3=n2
+ d3(i+1+(j-1)*m)=d3(i+(j-1)*m)+n3
+ goto 38
+c
+c n1.gt.n2
+c
+ 30 do 31 k=1,n2
+ w=pm1(k1+k)+pm2(k2+k)
+ if(abs(w).gt.max(abs(pm1(k1+k)),abs(pm2(k2+k)))*eps) then
+ pm3(k3+k)=w
+ else
+ pm3(k3+k)=0.0d+0
+ endif
+ 31 continue
+ n3=n2+1
+ do 32 k=n3,n1
+ pm3(k3+k)=pm1(k1+k)
+ 32 continue
+ n3=n1
+ d3(i+1+(j-1)*m)=d3(i+(j-1)*m)+n3
+c
+ 38 k1=k1+n1
+ k2=k2+n2
+ k3=k3+n3
+ 40 continue
+ 41 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmpad.lo b/modules/polynomials/src/fortran/dmpad.lo
new file mode 100755
index 000000000..f1ba93c02
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpad.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpad.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpad.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpadj.f b/modules/polynomials/src/fortran/dmpadj.f
new file mode 100755
index 000000000..68268823c
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpadj.f
@@ -0,0 +1,53 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine dmpadj(pm1,d1,m,n)
+c!but
+c cette subroutine determine les degres effectifs (en eliminant les
+c monomes nuls de plus haut degre ) des polynomes d'une matrice de
+c polynome.
+c!liste d'appel
+c
+c subroutine dmpadj(pm1,d1,m,n)
+c pm1 : tableau reel contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*l1 + k) )
+c pm1 doit etre de taille au moins d1(l1*n+1)-d1(1)
+c d1 : tableau entier de taille l1*n+1, si k=i+(j-1)*l1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c Pm1 et d1 sont modifies par l'execution
+c
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+ double precision pm1(*)
+ integer d1(*),m,n,dj
+c
+ integer n1
+c
+ kk=1
+ dj=1
+c boucle sur les polynomes
+ do 40 j=1,m*n
+ k1=dj-1
+ n1=d1(j+1)-dj+1
+ 10 n1=n1-1
+ if(pm1(k1+n1).eq.0.0d+0.and.n1.gt.1) goto 10
+ if(kk.ne.k1+1.and.n1.gt.0) then
+ do 11 i=1,n1
+ pm1(kk-1+i)=pm1(k1+i)
+ 11 continue
+ endif
+ kk=kk+n1
+ dj=d1(j+1)
+ d1(j+1)=kk
+ 40 continue
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmpadj.lo b/modules/polynomials/src/fortran/dmpadj.lo
new file mode 100755
index 000000000..5c6d6cbed
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpadj.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpadj.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpadj.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpcle.f b/modules/polynomials/src/fortran/dmpcle.f
new file mode 100755
index 000000000..4a702a6e9
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpcle.f
@@ -0,0 +1,103 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine dmpcle(pm1,d1,m,n,d2,epsr,epsa)
+c!but
+c Dans une matrice polynomiale mp1 cette routine met (pour
+c chaque polynome) a zero les coefficients de polynomes
+c de module inferieur a epsa ou epsr*(norme un du vecteur
+c des coefficients du polynome)
+c
+c!listed'appel
+c
+c subroutine dmpclea(pm1,d1,m,n,d2,epsr,epsa)
+c double precision pm1(*),epsr,epsa
+c integer d1(*),d2(*),m,n
+c
+c pm1 : tableau reel contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c m : nombre de ligne de la matrice pm1
+c n : nombre de colonne de matrice pm1
+c d2 : tableau de travail meme taille que d1
+ double precision pm1(*),norm,epsr,epsa,eps
+ integer d1(*),d2(*),m,n,count
+ logical ok
+c
+c
+c
+ mn=m*n
+ ld1=mn+1
+ if (mn.eq.1) then
+ lmin=d1(1)
+ lmax=d1(2)-1
+ norm=0.d0
+ do 10 l=lmin,lmax
+ norm=norm+abs(pm1(l))
+ 10 continue
+ eps=max(epsa,epsr*norm)
+ ll=lmax+1
+ count=0
+ ok=.false.
+ do 20 k=lmin,lmax
+ ll=ll-1
+ if (abs(pm1(ll)).le.eps) then
+ pm1(ll)=0.d0
+ if (ll.eq.lmax) ok=.true.
+ if (ok.eqv..true.) count=count+1
+ else
+ ok=.false.
+ endif
+ 20 continue
+ d1(2)=d1(2)-count
+ if (d1(2).le.d1(1)) d1(2)=d1(1)+1
+ return
+ endif
+ do 30 k=1,ld1
+ d2(k)=d1(k)
+ 30 continue
+ do 70 k=1,mn
+ lmin=d2(k)
+ lmax=d2(k+1)-1
+ norm=0.d0
+ do 40 l=lmin,lmax
+ norm=norm+abs(pm1(l))
+ 40 continue
+ eps=max(epsa,epsr*norm)
+ ll=lmax+1
+ count=0
+ ok=.false.
+ do 50 l=lmin,lmax
+ ll=ll-1
+ if (abs(pm1(ll)).le.eps) then
+ if (ll.eq.lmax) ok=.true.
+ if (ok.eqv..true.) count=count+1
+ pm1(ll)=0.d0
+ else
+ ok=.false.
+ endif
+ 50 continue
+ d1(k+1)=d1(k)+d2(k+1)-d2(k)-count
+ if (d1(k+1).le.d1(k)) d1(k+1)=d1(k)+1
+ 70 continue
+ l1=d1(2)
+ do 90 k=2,mn
+ lmin=d2(k)
+ ivol=d1(k+1)-d1(k)
+ do 80 l=0,ivol-1
+ pm1(l1+l)=pm1(lmin+l)
+ 80 continue
+ l1=l1+ivol
+ 90 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmpcle.lo b/modules/polynomials/src/fortran/dmpcle.lo
new file mode 100755
index 000000000..ce9b266ec
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpcle.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpcle.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpcle.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpcnc.f b/modules/polynomials/src/fortran/dmpcnc.f
new file mode 100755
index 000000000..efb3fec64
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpcnc.f
@@ -0,0 +1,95 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DMPCNC,SSI=0
+c Copyright INRIA
+ subroutine dmpcnc(pm1,d1,ld1,pm2,d2,ld2,pm3,d3,l,m,n,job)
+c!but
+c cette subroutine concatene deux matrices dont les coefficients
+c sont des polynomes:
+c pm3=<pm1 pm2>
+c ou
+c pm3=<pm1' pm2'>'
+c!liste d'appel
+c
+c subroutine dmpcnc(pm1,d1,ld1,pm2,d2,ld2,pm3,d3,l,m,n,job)
+c double precision pm1(*),pm2(*),pm3(*)
+c integer d1(ld1*n+1),d2(ld2*n+1),d3(m*n+1),l,m,n,ld1,ld2,job
+c
+c pm1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c ld1 : entier definissant le rangement dans d1
+c
+c pm2,d2,ld2 : definitions similaires a celles de pm1,d1,ld1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, l3 est
+c suppose egal a m
+c l : nombre de ligne de pm1 (et de pm2 et pm3 si job>0)
+c m : nombre de colonnes de pm1 (job>0)
+c nombre de ligne de pm2 (job<0)
+c n : nombre de colonnes de pm2 (job>0)
+c et nombre de colonnes de pm1 et pm3 si job <0
+c job : indique l'operation a effectuer:
+c job >0 pm3=<pm1 pm2>
+c job <0 pm3=<pm1' pm2'>'
+c!
+ double precision pm1(*),pm2(*),pm3(*)
+ integer d1(*),d2(*),d3(*),l,m,n,ld1,ld2
+c
+ integer i1,i2,i3,np,i,j
+c
+ i3=1
+ d3(1)=1
+ i1=1-ld1
+ i2=1-ld2
+c
+ if(job.lt.0) goto 30
+c
+ do 11 j=1,m
+ i1=i1+ld1
+ np=d1(i1+l)-d1(i1)
+ call dcopy(np,pm1(d1(i1)),1,pm3(d3(i3)),1)
+ do 10 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d1(i1+i)-d1(i1+i-1)
+ 10 continue
+ 11 continue
+ do 21 j=1,n
+ i2=i2+ld2
+ np=d2(i2+l)-d2(i2)
+ call dcopy(np,pm2(d2(i2)),1,pm3(d3(i3)),1)
+ do 20 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d2(i2+i)-d2(i2+i-1)
+ 20 continue
+ 21 continue
+ return
+c
+ 30 do 50 j=1,n
+ i1=i1+ld1
+ i2=i2+ld2
+ np=d1(i1+l)-d1(i1)
+ call dcopy(np,pm1(d1(i1)),1,pm3(d3(i3)),1)
+ do 40 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d1(i1+i)-d1(i1+i-1)
+ 40 continue
+ np=d2(i2+m)-d2(i2)
+ call dcopy(np,pm2(d2(i2)),1,pm3(d3(i3)),1)
+ do 45 i=1,m
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d2(i2+i)-d2(i2+i-1)
+ 45 continue
+ 50 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmpcnc.lo b/modules/polynomials/src/fortran/dmpcnc.lo
new file mode 100755
index 000000000..8d45dd8c7
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpcnc.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpcnc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpcnc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpext.f b/modules/polynomials/src/fortran/dmpext.f
new file mode 100755
index 000000000..d4e8d1072
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpext.f
@@ -0,0 +1,147 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1986-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine dmpext(mp,d,m,n,row,nr,col,nc,mp1,d1,job,ierr)
+c!but
+c dmpext extrait une sous matrice definie par un choix de lignes
+c et un choix de colonnes,d'une matrice polynomiale donnee.
+c!liste d'appel
+c subroutine dmpext(mp,d,m,n,row,nr,col,nc,mp1,d1,job,ierr)
+c double precision mp(*),mp1(*)
+c integer d(*),m,n,row(*),nr,col(*),nc,d1(*),job,ierr
+c
+c mp:tableau contenant les coefficients des polynomes de la
+c matrice polynomiale donnee
+c d:tableau des pointeurs sur les premiers coeff de chaque poly
+c m: nombre de ligne de la matrice polynomiale
+c n: nombre de colonnes
+c row:vecteur contenant les indices des lignes choisies
+c si nr <=0 row n'est pas reference
+c nr:nombre de lignes choisies ,si nr < 0 on choisit toutes
+c les lignes
+c col:vecteur contenant les indices des colonnes choisies
+c si nc <=0 col n'est pas reference.
+c nc:nombre de colonnes choisies, si nc < 0 on choisit toutes
+c les colonnes
+c mp1:tableau contenant les coeff de la matrice polynomiale
+c resultat. si job=0 mp1 n'est pas referencee
+c d1:matrice des pointeurs de la matrice polynomiale resultat
+c d1 est calculee si job.ne.1,si job =1 d1 doit etre fournie
+c job:indicateur d'execution
+c job=0 seul d1 est calcule
+c job=1 mp1 est calcule supposant d1 donnee
+c sinon d1 et mp1 sont calcules
+c ierr:indicateur d'erreur:
+c ierr=0 ok
+c ierr>0 une des lignes (colonnes) choisies n'appartient
+c pas a la matrice donnee.
+c!sous programmes appeles
+c dcopy (blas)
+c!
+c Copyright INRIA
+ double precision mp(*),mp1(*)
+ integer d(*),m,n,row(*),nr,col(*),nc,d1(*),job,ierr
+c
+ ierr=0
+ if(nr*nc.eq.0) return
+ if(m.le.0.or.n.le.0) return
+ if(nr.lt.0) goto 40
+ if(nc.lt.0) goto 50
+c
+c un choix de lignes et un choix de colonnes
+c
+c verifications de la validite des vecteurs row et col
+c do 10 j=1,nc
+c if(col(j).le.0.or.col(j).gt.n) goto 100
+c 10 continue
+c do 11 i=1,nr
+c if(row(i).le.0.or.row(i).gt.m) goto 100
+c 11 continue
+c
+ if(job.eq.1) goto 25
+c calcul de la matrice deplacement de la matrice polynomiale resultat
+ d1(1)=1
+ id1=1
+ do 20 j=1,nc
+ id=m*(col(j)-1)+1
+ do 20 i=1,nr
+ id1=id1+1
+ 20 d1(id1)=d1(id1-1)+d(id+row(i))-d(id+row(i)-1)
+ if(job.eq.0) return
+c
+ 25 id1=1
+ do 26 j=1,nc
+ id=m*(col(j)-1)
+ do 26 i=1,nr
+ id1=id1+1
+ call dcopy(d1(id1)-d1(id1-1),mp(d(id+row(i))),1,mp1(d1(id1-1)),1)
+ 26 continue
+ return
+c
+ 40 if(nc.lt.0) goto 60
+c toutes les lignes et un choix de colonnes (nr<0)
+c do 41 j=1,nc
+c if(col(j).le.0.or.col(j).gt.n) goto 100
+c 41 continue
+ if(job.eq.1) goto 45
+ id1=1
+ d1(id1)=1
+ do 42 j=1,nc
+ id=m*(col(j)-1)+1
+ do 42 i=1,m
+ id1=id1+1
+ d1(id1)=d1(id1-1)+d(id+i)-d(id+i-1)
+ 42 continue
+ if(job.eq.0) return
+ 45 id1=1
+ do 46 j=1,nc
+ id=1+m*(col(j)-1)
+ call dcopy(d(id+m)-d(id),mp(d(id)),1,mp1(d1(id1)),1)
+ id1=id1+m
+ 46 continue
+ return
+c
+ 50 continue
+c toutes les colonnnes et un choix de lignes
+c do 51 i=1,nr
+c if(row(i).le.0.or.row(i).gt.m) goto 100
+c 51 continue
+ if(job.eq.1) goto 55
+ id1=1
+ d1(1)=1
+ id=1-m
+ do 52 j=1,n
+ id=id+m
+ do 52 i=1,nr
+ id1=id1+1
+ d1(id1)=d1(id1-1)+d(id+row(i))-d(id+row(i)-1)
+ 52 continue
+ if(job.eq.0) return
+ 55 continue
+ id1=1
+ do 53 j=1,n
+ id=(j-1)*m
+ do 53 i=1,nr
+ idi=id+row(i)
+ call dcopy(d(idi+1)-d(idi),mp(d(idi)),1,mp1(d1(id1)),1)
+ id1=id1+1
+ 53 continue
+ return
+c
+ 60 continue
+c toutes les lignes et toutes les colonnes
+ if(job.eq.1) goto 65
+ do 61 i=1,m*n+1
+ d1(i)=d(i)
+ 61 continue
+ if(job.eq.0) return
+ 65 call dcopy(d(m*n+1)-1,mp,1,mp1,1)
+ return
+c 100 ierr=1
+c return
+ end
diff --git a/modules/polynomials/src/fortran/dmpext.lo b/modules/polynomials/src/fortran/dmpext.lo
new file mode 100755
index 000000000..defbb28fd
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpext.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpext.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpext.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpins.f b/modules/polynomials/src/fortran/dmpins.f
new file mode 100755
index 000000000..8bfda3caa
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpins.f
@@ -0,0 +1,81 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DMPINS,SSI=0
+c Copyright INRIA
+ subroutine dmpins(mat1,dep1,lig1,col1,mat2,
+ & dep2,lig2,col2,matr,depr,ligr,colr)
+c!but
+c
+c Cette subroutine fait l'insertion (ampliation?) d'une matrice
+c de polynomes mat2 dans une autre mat1 d'apres deux vecteurs.
+c On suppose donnees depr, ligr et colr.
+c Le resultat viendra dans une troisieme matrice.
+c
+c!parametres d'appel
+c
+c call dmpins(mat1,dep1,lig1,col1,mat2,dep2,lig2,
+c 1 col2,matr,depr,ligr,colr)
+c
+c ou
+c
+c mat1: matrice double precision de polynomes
+c
+c dep1: matrice entiere qui donne les deplacements relatifs des
+c elements de mat1
+c
+c lig1, col1: entiers, dimensions de mat1
+c
+c mat2 ,dep2, lig2, col2: analogues aux correspondents 1
+c (correspond a m dans l'example)
+c
+c matr, depr, ligr, colr: parametres de sortie, matrice matr et
+c autres valeurs relationnes.
+c
+c
+c attention!: aucune de matrices mat1, mat2,matr,dep1, dep2 ou depr
+c doit coincider. Cas contraire, les resultats seraient
+c imprevisibles.
+c
+c
+c
+c!
+ double precision mat1(*),mat2(*),matr(*)
+ integer dep1(*),dep2(*),depr(*)
+c
+ integer lig1,col1,lig2,col2,ligr,colr
+ depr(1)=1
+ kr=1
+c
+ do 20 j=1,colr
+ do 20 i=1,ligr
+ kr=kr+1
+ lr=depr(kr)
+ if (lr .lt. 0) then
+ goto 11
+ elseif (lr .eq. 0) then
+ goto 12
+ else
+ goto 13
+ endif
+ 11 l2=-lr
+ l=dep2(l2+1)-dep2(l2)
+ call dcopy(l,mat2(dep2(l2)),1,matr(depr(kr-1)),1)
+ depr(kr)=depr(kr-1)+l
+ goto 20
+ 12 matr(depr(kr-1))=0.0d+0
+ depr(kr)=depr(kr-1)+1
+ goto 20
+ 13 l1=lr
+ l=dep1(l1+1)-dep1(l1)
+ call dcopy(l,mat1(dep1(l1)),1,matr(depr(kr-1)),1)
+ depr(kr)=depr(kr-1)+l
+c
+ 20 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmpins.lo b/modules/polynomials/src/fortran/dmpins.lo
new file mode 100755
index 000000000..f7e5a9457
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpins.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpins.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpins.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmpmu.f b/modules/polynomials/src/fortran/dmpmu.f
new file mode 100755
index 000000000..e625fb442
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpmu.f
@@ -0,0 +1,132 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DMPMU,SSI=0
+c Copyright INRIA
+ subroutine dmpmu(mp1,d1,nl1,mp2,d2,nl2,mp3,d3,l,m,n)
+c!purpose
+c ce sous programme effectue le calcul du produit de matrices
+c de polynomes a coefficients reels
+c
+c mp3 = mp1 * mp2
+c
+c! calling sequence
+c
+c mp1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome mp1(i,j) est range
+c dans mp1( d1(i + (j-1)*nl1 + k) )
+c mp1 doit etre de taille au moins d1(nl1*n+1)-d1(1)
+c d1 : tableau entier de taille nl1*n+1, si k=i+(j-1)*nl1 alors
+c d1(k)) contient l'adresse dans mp1 du coeff de degre 0
+c du polynome mp1(i,j). Le degre du polynome mp1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c nl1 : entier definissant le rangement dans d1
+c
+c mp2,d2,nl2 : definitions similaires a celles de mp1,d1,nl1
+c mp3,d3 : definitions similaires a celles de mp1 et d1, nl3 est
+c suppose egal a l
+c l: nombre de lignes de la matrice pm1
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c avec les conventions suivantes:
+c
+c -si l = 0 signifie que mp1 est un polynome, et que la
+c multiplication s'entend alors au sens de la multiplication
+c de tous les coefficients de mp2 par mp1.
+c
+c -si n = 0 signifie que mp2 est un polynome, et que la
+c multiplication s'entend au sens de la multiplication de tous
+c les coefficients de mp1 par mp2.
+c
+c -si m = 0 la multiplication s'entend element par element,
+c il est alors suppose que mp1 et mp2, donc mp3 sont de dimension
+c l x n.
+c
+c!
+c
+c&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+c
+c
+ double precision mp1(*), mp2(*), mp3(*)
+ integer d1(*), d2(*), d3(*)
+ integer l, m, n
+ integer nl1, nl2
+ integer i, j, k, k1, k2, k3
+ integer p1, p2, p3
+c
+ d3(1)= 1
+ if (l .eq. 0 .or. m .eq. 0 .or. n .eq. 0) goto 500
+c
+ p2 = -nl2
+ p3 = -l
+ do 10 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 11 i = 1, l
+ mp3(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ p1 = i - nl1
+ do 12 k = 1, m
+ p1 = p1 + nl1
+ k2 = d2(p2+k+1) - d2(p2+k) - 1
+ k1 = d1(p1 + 1) - d1(p1) - 1
+ call dpmul(mp1(d1(p1)),k1,mp2(d2(p2+k)),k2,
+ & mp3(d3(p3+i)),k3)
+ 12 continue
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+ 11 continue
+ 10 continue
+ return
+ 500 if (l .eq. 0) goto 600
+ if (m .eq. 0) goto 700
+ p1 = -nl1
+ p3 = -l
+ k2 = d2(2) - d2(1) - 1
+ do 510 j = 1, m
+ p1 = p1 + nl1
+ p3 = p3 + l
+ do 510 i = 1, l
+ k3 = 0
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ mp3(d3(p3 + i)) = 0.0d+0
+ call dpmul(mp1(d1(p1+i)),k1,mp2(1),k2,mp3(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+510 continue
+ return
+600 k1 = d1(2) - d1(1) - 1
+ p2 = -nl2
+ p3 = -m
+ do 610 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + m
+ do 610 i = 1, m
+ k3 = 0
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3(d3(p3+i)) = 0.0d+0
+ call dpmul(mp1(1),k1,mp2(d2(p2+i)),k2,mp3(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+610 continue
+ return
+ 700 p1 = -nl1
+ p2 = -nl2
+ p3 = -l
+ do 710 j = 1, n
+ p1 = p1 + nl1
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 710 i = 1, l
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ call dpmul(mp1(d1(p1+i)),k1,mp2(d2(p2+i)),k2,mp3(d3(p3+i)),
+ & k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+710 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmpmu.lo b/modules/polynomials/src/fortran/dmpmu.lo
new file mode 100755
index 000000000..5395f0e2b
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmpmu.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmpmu.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmpmu.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dmptra.f b/modules/polynomials/src/fortran/dmptra.f
new file mode 100755
index 000000000..9d69b915f
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmptra.f
@@ -0,0 +1,54 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DMPTRA,SSI=0
+c Copyright INRIA
+ subroutine dmptra(pm1,d1,ld1,pm2,d2,m,n)
+c!but
+c cette subroutine transpose une matrice dont les coefficients sont
+c des polynomes.
+c!liste d'appel
+c
+c subroutine dmptra(pm1,d1,ld1,pm2,d2,m,n)
+c double precision pm1(*),pm2(*)
+c integer d1(*),d2(n,m),m,n,iw(n)
+c
+c pm1 : tableau reel contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c ld1 : entier definissant le rangement dans d1
+c
+c pm2,d2 : definitions similaires a celles de pm1,d1, ld2
+c est suppose egal a n
+c m : nombre de ligne de la matrice pm1
+c n : nombre de colonne de matrice pm1
+c!
+ double precision pm1(*),pm2(*)
+ integer d1(*),d2(*),m,n
+ d2(1)=1
+ i2=1
+ do 20 i=1,m
+ i1=i
+ do 10 j=1,n
+ l1=d1(i1)
+ n1=d1(i1+1)-l1
+ l2=d2(i2)
+ call dcopy(n1,pm1(l1),1,pm2(l2),1)
+ i1=i1+ld1
+ i2=i2+1
+ d2(i2)=l2+n1
+ 10 continue
+ 20 continue
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dmptra.lo b/modules/polynomials/src/fortran/dmptra.lo
new file mode 100755
index 000000000..adbd908aa
--- /dev/null
+++ b/modules/polynomials/src/fortran/dmptra.lo
@@ -0,0 +1,12 @@
+# src/fortran/dmptra.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dmptra.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dpmul.f b/modules/polynomials/src/fortran/dpmul.f
new file mode 100755
index 000000000..370f69a95
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpmul.f
@@ -0,0 +1,149 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DPMUL,SSI=0
+c Copyright INRIA
+ subroutine dpmul(p1,d1,p2,d2,p3,d3)
+c!purpose
+c ce sous programme effectue le calcul:
+c
+c p3(x) = p3(x) + (p1(x) * p2(x))
+c
+c ou p1, p2 et p3 sont des polynomes de degres d1, d2 et d3,
+c respectivement. Ils sont classes en ordre croissant.
+c Tous les parametres sont d'entree, sauf p3 et d3 qui sont
+c d'entree-sortie.
+c!
+c &&var
+ implicit double precision (a-h,o-z)
+ double precision dlamch,ddot
+ double precision p1(*),p2(*),p3(*)
+ integer d1,d2,d3
+ integer dmax,dmin,dsum
+ integer i, k, j, l
+ integer e1, e2
+ eps=dlamch('p')
+c &&ker
+ dsum = d1 + d2
+c fixation de dmax et dmin
+ dmax = d1
+ if (d2 .gt. d1) dmax = d2
+ dmin = dsum - dmax
+c fixation de d3
+ if (d3 .ge. dsum) goto 1
+ e1 = d3+2
+ e2 = dsum +1
+ do 2 i = e1 , e2
+ p3(i) = 0.0d+0
+ 2 continue
+ d3 = dsum
+ 1 continue
+c cas des degres egaux a zero
+ if (d1 .eq. 0 .or. d2 .eq. 0) goto 53
+c produit et addition
+ e1 = 1
+ e2 = dmin + 1
+ do 10 i = e1, e2
+ w=ddot(i,p1(1),1,p2(1),-1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 10 continue
+ k = 1
+ if (d1 .eq. d2) goto 21
+ e1 = dmin + 2
+ e2 = dmax + 1
+c si d1 > d2
+ if (d1 .lt. d2) goto 25
+ do 20 i = e1, e2
+ k = k + 1
+ w=ddot(dmin+1, p1(k), 1, p2(1), -1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 20 continue
+ 21 e1 = dmax + 2
+ e2 = dsum + 1
+ l = 1
+ j = dmin + 1
+ do 40 i = e1, e2
+ j = j -1
+ k = k + 1
+ l =l + 1
+ w=ddot(j, p1(k), 1, p2(l), -1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 40 continue
+ return
+c si d2 > d1
+ 25 do 30 i = e1, e2
+ k = k + 1
+ w=ddot(dmin+1, p2(k), -1, p1(1), 1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 30 continue
+ e1 = dmax + 2
+ e2 = dsum + 1
+ l = 1
+ j = dmin + 1
+ do 50 i = e1, e2
+ j = j -1
+ k = k + 1
+ l =l + 1
+ w=ddot(j, p1(l), 1, p2(k), -1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 50 continue
+ return
+c cas des degres egaux a zero
+ 53 if (d1 .eq. 0 .and. d2 .eq. 0) goto 100
+ e1 = 1
+ if (d1 .eq.0) goto 60
+ e2 = d1 + 1
+ do 55 i = e1, e2
+ w=p1(i) * p2(1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 55 continue
+ return
+ 60 e2 = d2 + 1
+ do 65 i = e1, e2
+ w=p2(i) * p1(1)
+ w1=p3(i)+w
+ if(abs(w1).gt.eps*max(abs(p3(i)),abs(w))) then
+ p3(i) = w1
+ else
+ p3(i)=0.0d+0
+ endif
+ 65 continue
+ return
+ 100 p3(1) = p3(1) + p1(1) * p2(1)
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dpmul.lo b/modules/polynomials/src/fortran/dpmul.lo
new file mode 100755
index 000000000..2fac46bde
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpmul.lo
@@ -0,0 +1,12 @@
+# src/fortran/dpmul.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dpmul.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dpmul1.f b/modules/polynomials/src/fortran/dpmul1.f
new file mode 100755
index 000000000..0a05a2d7f
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpmul1.f
@@ -0,0 +1,78 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DPMUL1,SSI=0
+c Copyright INRIA
+ subroutine dpmul1(p1,d1,p2,d2,p3)
+c!but
+c ce sous programme effectue le produit polynomial:
+c
+c p3(x) = p1(x) * p2(x)
+c
+c!liste d'appel
+c subroutine dpmul1(p1,d1,p2,d2,p3)
+c double precision p1(d1+1),p2(d2+1),p3(d1+d2+1)
+c integer d1,d2,d3
+c
+c p1 : contient les coefficient du premier polynome ranges
+c suivant les puissances croissantes
+c p2 : contient les coefficients du second polynome ranges
+c suivant les puissances croissantes
+c p3 :contient les coefficient du resultats.
+c p3 peut designer la meme adresse que p1 ou p2
+c d1,d2 : degre respectifs des polynomesp1 et p2
+c!sous programmes appeles
+c ddot (blas)
+c min (fortran)
+c!
+c &&var
+ double precision p1(*),p2(*),p3(*),ddot
+ integer d1,d2,d3
+ integer k,l1,l2,l3,l,m3
+c &&ker
+ l=1
+ l1=d1+1
+ l2=d2+1
+ d3=d1+d2
+ l3=d3+1
+c
+ m3=min(l1,l2)
+ do 10 k=1,m3
+ p3(l3)=ddot(l,p1(l1),1,p2(l2),-1)
+ l=l+1
+ l3=l3-1
+ l1=l1-1
+ l2=l2-1
+ 10 continue
+ l=l-1
+c
+ if(l1.eq.0) goto 30
+ m3=l1
+ do 20 k=1,m3
+ p3(l3)=ddot(l,p1(l1),1,p2,-1)
+ l1=l1-1
+ l3=l3-1
+ 20 continue
+ goto 40
+ 30 if(l2.eq.0) goto 40
+ m3=l2
+ do 31 k=1,m3
+ p3(l3)=ddot(l,p1,1,p2(l2),-1)
+ l2=l2-1
+ l3=l3-1
+ 31 continue
+c
+ 40 if(l3.eq.0) return
+ m3=l3
+ do 41 k=1,m3
+ l=l-1
+ p3(l3)=ddot(l,p1,1,p2,-1)
+ l3=l3-1
+ 41 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dpmul1.lo b/modules/polynomials/src/fortran/dpmul1.lo
new file mode 100755
index 000000000..6eb0076a0
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpmul1.lo
@@ -0,0 +1,12 @@
+# src/fortran/dpmul1.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dpmul1.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dpodiv.f b/modules/polynomials/src/fortran/dpodiv.f
new file mode 100755
index 000000000..f25e7ebf2
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpodiv.f
@@ -0,0 +1,44 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine dpodiv(a,b,na,nb )
+ implicit double precision (a-h,o-z)
+ dimension a(*),b(*)
+c
+c 1. a: avant execution c'est le tableau des coefficients du
+c polynome dividende range suivant les puissances croissantes
+c de la variable (ordre na+1).
+c apres execution,contient dans les nb premiers elements
+c le tableau des coefficients du reste ordonne suivant les
+c puissances croissantes, et dans les (na-nb+1) derniers elements,
+c le tableau des coefficients du polynome quotient range suivant
+c les puissances croissantes de la variable.
+c 2. b: tableau des coefficients du polynome diviseur range suivant
+c les puissances croissantes de la variable (ordre nb+1).
+c 3. na: degre du polynome a.
+c 4. nb: degre du polynome b.
+c
+ l=na-nb+1
+ 2 if (l .le. 0) then
+ goto 5
+ else
+ goto 3
+ endif
+ 3 n=l+nb
+ q=a(n)/b(nb+1)
+ nb1=nb+1
+ do 4 i=1,nb1
+ n1=nb-i+2
+ n2=n-i+1
+ 4 a(n2)=a(n2)-b(n1)*q
+ a(n)=q
+ l=l-1
+ goto 2
+ 5 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dpodiv.lo b/modules/polynomials/src/fortran/dpodiv.lo
new file mode 100755
index 000000000..91d50c900
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpodiv.lo
@@ -0,0 +1,12 @@
+# src/fortran/dpodiv.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dpodiv.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dprxc.f b/modules/polynomials/src/fortran/dprxc.f
new file mode 100755
index 000000000..839080b1d
--- /dev/null
+++ b/modules/polynomials/src/fortran/dprxc.f
@@ -0,0 +1,56 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DPRXC,SSI=0
+c Copyright INRIA
+ subroutine dprxc(n,roots,coeff)
+c!but
+c dpxrc calcule les coefficients d'un polynome defini par ses
+c racines (reelles) et dont le coefficient de degre maximum est 1
+c
+c!liste d'appel
+c subroutine dpxrc(n,roots,coeff)
+c double precision roots(n),coeff(n+1)
+c integer n
+c
+c n : degre du polynome
+c roots : tableau contenant les racines
+c coeff : tableau contenant les coefficients du polynome, ranges
+c par odre croissant
+c!sous programmes appeles
+c dset daxpy (blas)
+c!
+ double precision roots(n),coeff(*)
+ integer n
+c
+ integer j,nj, ninf
+ double precision dlamch
+c
+ ninf=0
+ call dset (n,0.0d+0,coeff,1)
+ coeff(n+1)=1.0d+0
+c
+ do 10 j=1,n
+ if(abs(roots(j)).gt.dlamch('o')) then
+c . infinite roots gives zero high degree coeff
+ ninf=ninf+1
+ else
+ nj=n+1-j
+c call daxpy(j,-roots(j),coeff(nj+1),1,coeff(nj),1)
+ do k=nj,nj+j-1
+ coeff(k)=coeff(k)-roots(j)*coeff(1+k)
+ enddo
+ endif
+ 10 continue
+ if (ninf.gt.0) then
+ call unsfdcopy(n-ninf+1,coeff(ninf+1),1,coeff(1),1)
+ call dset(ninf,0.0d0,coeff(n-ninf+2),1)
+ endif
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dprxc.lo b/modules/polynomials/src/fortran/dprxc.lo
new file mode 100755
index 000000000..d11cad1da
--- /dev/null
+++ b/modules/polynomials/src/fortran/dprxc.lo
@@ -0,0 +1,12 @@
+# src/fortran/dprxc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dprxc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dpsimp.f b/modules/polynomials/src/fortran/dpsimp.f
new file mode 100755
index 000000000..aab4f27b5
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpsimp.f
@@ -0,0 +1,192 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1990-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine dpsimp(a,na,b,nb,a1,na1,b1,nb1,w,ierr)
+c! but
+c Etant donnes une fraction rationnelle donnee par ses polynomes
+c numerateur et denominateurs, ce sous programme retourne le numerateur
+c et le denominateur de sa representation simplifiee.
+c! liste d'appel
+c subroutine dpsimp(a,na,b,nb,as,nas,bs,nbs,w,ierr)
+c
+c double precision a(na+1),b(nb+1),as(*),bs(*),w,er
+c integer na,nb,nas,nbs,ierr
+c
+c a : tableau contenant les coefficients du numerateur range
+c par puissance croissante.(entree)
+c na : degre du numerateur (entree)
+c b : tableau contenant les coefficients du denominateur range
+c par puissance croissante. (entree)
+c nb : degre du denominateur (entree)
+c
+c a1 : tableau contenant les coefficients du numerateur range
+c par puissance croissante.(sortie)
+c na1 : degre+1 du numerateur (sortie)
+c b1 : tableau contenant les coefficients du denominateur range
+c par puissance croissante. (sortie)
+c nb1 : degre+1 du denominateur (sortie)
+c
+c les implantations de a et a1, b et b1 peuvent etre confondues.
+c Dans les cas ou les zones memoires de a (resp b) et a1 (resp b1) se
+c chevauchent, l'adresse de a1 (resp b1) doit etre au moins egale a
+c l'adresse de a (resp b)
+c
+c w : tableau de travail de taille:
+c 2*(na+nb)+min(na,nb)+10*max(na,nb)+3*max(na,nb)**2+4
+c ierr :
+c en entree ierr specifie l'espace memoire disponible dans w
+c en sortie:
+c ierr=0 : ok
+c ierr=1 : denominateur nul
+c ierr=2 : espace memoire insuffisant on retourne les polynomes
+c!
+ double precision a(na+1),b(nb+1),w(*),a1(*),b1(*),t,er,t1,t2
+ integer na,nb,ierr,ipb(6)
+c
+ lw=1+2*(na+nb)+min(na,nb)+3
+c n0=max(na,nb)+1
+c lfree=lw+10*n0+3*n0*n0
+
+c
+ maxw=ierr
+ ierr=0
+c
+c degre reel des polynomes
+c
+
+c
+ nnb=nb+1
+ 08 nnb=nnb-1
+ if(nnb.lt.0) then
+ ierr=1
+ return
+ endif
+ if(b(nnb+1).eq.0.0d+0) goto 08
+
+ nna=na+1
+ 09 nna=nna-1
+ if(nna.lt.0) goto 20
+ if(a(nna+1).eq.0.0d+0) goto 09
+c
+c elimination des racines en zero
+ la0=0
+ 10 la0=la0+1
+ if(a(la0).eq.0.0d+0) goto 10
+ na1=nna-(la0-1)
+ nz=la0-1
+c
+ lb0=0
+ 11 lb0=lb0+1
+ if(b(lb0).eq.0.0d+0) goto 11
+ nb1=nnb-(lb0-1)
+ nz=nz-(lb0-1)
+c
+
+ n0=max(na1,nb1)+1
+ lfree=lw+10*n0+3*n0*n0
+ if(lfree.ge.maxw.and.na1.gt.0.and.nb1.gt.0) ierr=2
+ if(lfree.ge.maxw.or.na1.eq.0.or.nb1.eq.0) then
+ if(nz.eq.0) then
+ call dcopy(na1+1,a(la0),1,a1,1)
+ call dcopy(nb1+1,b(lb0),1,b1,1)
+ elseif(nz.gt.0) then
+ call dset(nz,0.0d0,a1,1)
+ call dcopy(na1+1,a(la0),1,a1(nz+1),1)
+ call dcopy(nb1+1,b(lb0),1,b1,1)
+ na1=na1+nz
+ else
+ call dcopy(na1+1,a(la0),1,a1,1)
+ call dset(-nz,0.0d0,b1,1)
+ call dcopy(nb1+1,b(lb0),1,b1(-nz+1),1)
+ nb1=nb1-nz
+ endif
+ na1=na1+1
+ nb1=nb1+1
+ return
+ endif
+c normalize highest degree coefficients of num and den
+ t1=a(nna+1)
+ t2=b(nnb+1)
+ call dscal(na1+1,1.0d0/t1,a(la0),1)
+ call dscal(nb1+1,1.0d0/t2,b(lb0),1)
+c
+ call recbez(a(la0),na1,b(lb0),nb1,w,ipb,w(lw),er)
+ if(er.gt.1d-3) goto 30
+ nden=ipb(5)-ipb(4)
+ nnum=ipb(6)-ipb(5)
+ if(na1.ne.nnum-1) then
+ t=w(ipb(5)-1)
+ t=(1.0d0)/t
+ if(nz.eq.0) then
+ call dcopy(nnum,w(ipb(5)),1,a1,1)
+ call dcopy(nden,w(ipb(4)),1,b1,1)
+ call dscal(nden,t,b1,1)
+ else if(nz.gt.0) then
+ call dcopy(nnum,w(ipb(5)),1,a1(1+nz),1)
+ call dset(nz,0.0d0,a1,1)
+ nnum=nnum+nz
+ call dcopy(nden,w(ipb(4)),1,b1,1)
+ call dscal(nden,t,b1,1)
+ else if(nz.lt.0) then
+ nz=-nz
+ call dcopy(nnum,w(ipb(5)),1,a1,1)
+ call dcopy(nden,w(ipb(4)),1,b1(1+nz),1)
+ call dset(nz,0.0d+0,b1,1)
+ call dscal(nden,t,b1(1+nz),1)
+ nden=nden+nz
+ endif
+ call dscal(nnum,-t*t1/t2,a1,1)
+ else
+ if(nz.eq.0) then
+ call dcopy(nnum,a(la0),1,a1,1)
+ call dcopy(nden,b(lb0),1,b1,1)
+ else if(nz.gt.0) then
+ call dcopy(nnum,a(la0),1,a1(1+nz),1)
+ call dset(nz,0.0d+0,a1,1)
+ nnum=nnum+nz
+ call dcopy(nden,b(lb0),1,b1,1)
+ else
+ nz=-nz
+ call dcopy(nnum,a(la0),1,a1,1)
+ call dcopy(nden,b(lb0),1,b1(1+nz),1)
+ call dset(nz,0.0d+0,b1,1)
+ nden=nden+nz
+ endif
+ call dscal(nnum,t1,a1,1)
+ call dscal(nden,t2,b1,1)
+
+ endif
+ na1=nnum
+ nb1=nden
+ return
+ 20 a1(1)=0.0d+0
+ b1(1)=1.0d+0
+ na1=1
+ nb1=1
+ return
+ 30 if(nz.eq.0) then
+ call dcopy(na1+1,a(la0),1,a1,1)
+ call dcopy(nb1+1,b(lb0),1,b1,1)
+ elseif(nz.gt.0) then
+ call dset(nz,0.0d0,a1,1)
+ call dcopy(na1+1,a(la0),1,a1(nz+1),1)
+ call dcopy(nb1+1,b(lb0),1,b1,1)
+ na1=na1+nz
+ else
+ call dcopy(na1+1,a(la0),1,a1,1)
+ call dset(-nz,0.0d0,b1,1)
+ call dcopy(nb1+1,b(lb0),1,b1(-nz+1),1)
+ nb1=nb1-nz
+ endif
+ na1=na1+1
+ nb1=nb1+1
+ call dscal(na1,t1,a1,1)
+ call dscal(nb1,t2,b1,1)
+ return
+
+ end
diff --git a/modules/polynomials/src/fortran/dpsimp.lo b/modules/polynomials/src/fortran/dpsimp.lo
new file mode 100755
index 000000000..0df13b036
--- /dev/null
+++ b/modules/polynomials/src/fortran/dpsimp.lo
@@ -0,0 +1,12 @@
+# src/fortran/dpsimp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dpsimp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/dwmpmu.f b/modules/polynomials/src/fortran/dwmpmu.f
new file mode 100755
index 000000000..f8305f5e6
--- /dev/null
+++ b/modules/polynomials/src/fortran/dwmpmu.f
@@ -0,0 +1,146 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=DWMPMU,SSI=0
+ subroutine dwmpmu(mp1r,d1,nl1,mp2r,mp2i,d2,nl2,
+ & mp3r,mp3i,d3,l,m,n)
+c!purpose
+c ce sous programme effectue le calcul du produit de matrices
+c de polynomes mp1 a coefficients reels et mp2 a coefficients complexes
+c
+c mp3 = mp1 * mp2
+c
+c! calling sequence
+c
+c pm1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*nl1 + k) )
+c pm1 doit etre de taille au moins d1(nl1*n+1)-d1(1)
+c d1 : tableau entier de taille nl1*n+1, si k=i+(j-1)*nl1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c nl1 : entier definissant le rangement dans d1
+c
+c pm2,d2,nl2 : definitions similaires a celles de pm1,d1,nl1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, nl3 est
+c suppose egal a l
+c l : nombre de lignes de mp1
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c avec les conventions suivantes:
+c
+c -si l = 0 signifie que mp1 est un polynome, et que la
+c multiplication s'entend alors au sens de la multiplication
+c de tous les coefficients de mp2 par mp1.
+c
+c -si n = 0 signifie que mp2 est un polynome, et que la
+c multiplication s'entend au sens de la multiplication de tous
+c les coefficients de mp1 par mp2.
+c
+c -si m = 0 la multiplication s'entend element par element,
+c il est alors suppose que mp1 et mp2, donc mp3 sont de dimension
+c l x n.
+c
+c!
+c
+c&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+c
+c
+ double precision mp1r(*),mp2r(*),mp2i(*),mp3r(*),mp3i(*)
+ integer d1(*), d2(*), d3(*)
+ integer l, m, n
+ integer nl1, nl2
+ integer i, j, k, k1, k2, k3
+ integer p1, p2, p3
+c
+ d3(1)= 1
+ if (l .eq. 0 .or. m .eq. 0 .or. n .eq. 0) goto 500
+c
+ p2 = -nl2
+ p3 = -l
+ do 10 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 11 i = 1, l
+ mp3r(d3(p3+i)) = 0.0d+0
+ mp3i(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ p1 = i - nl1
+ do 12 k = 1, m
+ p1 = p1 + nl1
+ k2 = d2(p2+k+1) - d2(p2+k) - 1
+ k1 = d1(p1 + 1) - d1(p1) - 1
+ kk=k3
+ call dpmul(mp1r(d1(p1)),k1,mp2r(d2(p2+k)),k2,
+ & mp3r(d3(p3+i)),kk)
+ call dpmul(mp1r(d1(p1)),k1,mp2i(d2(p2+k)),k2,
+ & mp3i(d3(p3+i)),k3)
+ 12 continue
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+ 11 continue
+ 10 continue
+ return
+ 500 if (l .eq. 0) goto 600
+ if (m .eq. 0) goto 700
+ p1 = -nl1
+ p3 = -l
+ k2 = d2(2) - d2(1) - 1
+ do 510 j = 1, m
+ p1 = p1 + nl1
+ p3 = p3 + l
+ do 510 i = 1, l
+ k3 = 0
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ mp3r(d3(p3 + i)) = 0.0d+0
+ kk=k3
+ call dpmul(mp1r(d1(p1+i)),k1,mp2r(1),k2,mp3r(d3(p3+i)),kk)
+ mp3i(d3(p3 + i)) = 0.0d+0
+ call dpmul(mp1r(d1(p1+i)),k1,mp2i(1),k2,mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+510 continue
+ return
+600 k1 = d1(2) - d1(1) - 1
+ p2 = -nl2
+ p3 = -m
+ do 610 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + m
+ do 610 i = 1, m
+ k3 = 0
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3r(d3(p3+i)) = 0.0d+0
+ kk=k3
+ call dpmul(mp1r(1),k1,mp2r(d2(p2+i)),k2,mp3r(d3(p3+i)),kk)
+ mp3i(d3(p3+i)) = 0.0d+0
+ call dpmul(mp1r(1),k1,mp2i(d2(p2+i)),k2,mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+610 continue
+ return
+ 700 p1 = -nl1
+ p2 = -nl2
+ p3 = -l
+ do 710 j = 1, n
+ p1 = p1 + nl1
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 710 i = 1, l
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3r(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ call dpmul(mp1r(d1(p1+i)),k1,mp2r(d2(p2+i)),k2,
+ 1 mp3r(d3(p3+i)),k3)
+ mp3i(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ call dpmul(mp1r(d1(p1+i)),k1,mp2i(d2(p2+i)),k2,
+ 1 mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+710 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/dwmpmu.lo b/modules/polynomials/src/fortran/dwmpmu.lo
new file mode 100755
index 000000000..a2be16803
--- /dev/null
+++ b/modules/polynomials/src/fortran/dwmpmu.lo
@@ -0,0 +1,12 @@
+# src/fortran/dwmpmu.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/dwmpmu.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/fxshfr.f b/modules/polynomials/src/fortran/fxshfr.f
new file mode 100755
index 000000000..8f04a986c
--- /dev/null
+++ b/modules/polynomials/src/fortran/fxshfr.f
@@ -0,0 +1,122 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine fxshfr(l2, nz)
+c computes up to l2 fixed shift k-polynomials,
+c testing for convergence in the linear or quadratic
+c case. initiates one of the variable shift
+c iterations and returns with the number of zeros
+c found.
+c l2 - limit of fixed shift steps
+c nz - number of zeros found
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a, b, c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ real eta, are, mre
+ integer n, nn
+ double precision svu, svv, ui, vi, s
+ real betas, betav, oss, ovv, ss, vv, ts, tv,
+ * ots, otv, tvv, tss
+ integer l2, nz, type, i, j, iflag
+ logical vpass, spass, vtry, stry
+ nz = 0
+ betav = .25
+ betas = .25
+ oss = sr
+ ovv = v
+c evaluate polynomial by synthetic division
+ call quadsd(nn, u, v, p(1), qp(1), a, b)
+ call calcsc(type)
+ do 80 j=1,l2
+c calculate next k polynomial and estimate v
+ call nextk(type)
+ call calcsc(type)
+ call newest(type, ui, vi)
+ vv = vi
+c estimate s
+ ss = 0.
+ if (k(n).ne.0.0d+0) ss = -p(nn)/k(n)
+ tv = 1.
+ ts = 1.
+ if (j.eq.1 .or. type.eq.3) go to 70
+c compute relative measures of convergence of s and v
+c sequences
+ if (vv.ne.0.) tv = abs((vv-ovv)/vv)
+ if (ss.ne.0.) ts = abs((ss-oss)/ss)
+c if decreasing, multiply two most recent
+c convergence measures
+ tvv = 1.
+ if (tv.lt.otv) tvv = tv*otv
+ tss = 1.
+ if (ts.lt.ots) tss = ts*ots
+c compare with convergence criteria
+ vpass = tvv.lt.betav
+ spass = tss.lt.betas
+ if (.not.(spass .or. vpass)) go to 70
+c at least one sequence has passed the convergence
+c test. store variables before iterating
+ svu = u
+ svv = v
+ do 10 i=1,n
+ svk(i) = k(i)
+ 10 continue
+ s = ss
+c choose iteration according to the fastest
+c converging sequence
+ vtry = .false.
+ stry = .false.
+ if (spass .and. ((.not.vpass) .or.
+ * tss.lt.tvv)) go to 40
+ 20 call quadit(ui, vi, nz)
+ if (nz.gt.0) return
+c quadratic iteration has failed. flag that it has
+c been tried and decrease the convergence criterion.
+ vtry = .true.
+ betav = betav*.25
+c try linear iteration if it has not been tried and
+c the s sequence is converging
+ if (stry .or. (.not.spass)) go to 50
+ do 30 i=1,n
+ k(i) = svk(i)
+ 30 continue
+ 40 call realit(s, nz, iflag)
+ if (nz.gt.0) return
+c linear iteration has failed. flag that it has been
+c tried and decrease the convergence criterion
+ stry = .true.
+ betas = betas*.25
+ if (iflag.eq.0) go to 50
+c if linear iteration signals an almost double real
+c zero attempt quadratic interation
+ ui = -(s+s)
+ vi = s*s
+ go to 20
+c restore variables
+ 50 u = svu
+ v = svv
+ do 60 i=1,n
+ k(i) = svk(i)
+ 60 continue
+c try quadratic iteration if it has not been tried
+c and the v sequence is converging
+ if (vpass .and. (.not.vtry)) go to 20
+c recompute qp and scalar values to continue the
+c second stage
+ call quadsd(nn, u, v, p(1), qp(1), a, b)
+ call calcsc(type)
+ 70 ovv = vv
+ oss = ss
+ otv = tv
+ ots = ts
+ 80 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/fxshfr.lo b/modules/polynomials/src/fortran/fxshfr.lo
new file mode 100755
index 000000000..a9575f1e7
--- /dev/null
+++ b/modules/polynomials/src/fortran/fxshfr.lo
@@ -0,0 +1,12 @@
+# src/fortran/fxshfr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/fxshfr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/horner.f b/modules/polynomials/src/fortran/horner.f
new file mode 100755
index 000000000..32fb48e84
--- /dev/null
+++ b/modules/polynomials/src/fortran/horner.f
@@ -0,0 +1,49 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1986-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=HORNER,SSI=0
+ subroutine horner(p,dp,xr,xi,vr,vi)
+c!but
+c cette subroutine calcule la valeur du polynome p au point x
+c suivant la formule de horner
+c!liste d'appel
+c subroutine horner(p,dp,xr,xi,vr,vi)
+c
+c double precision p(dp+1),xr,xi,vr,vi
+c integer dp
+c
+c p : tableau contenant les coefficients du polynome ranges
+c consecutivement et par puissance croissante
+c dp : degre du polynome
+c xr,xi : parties reelle et imaginaire de l'argument
+c vr,vi : parties reelle et imaginaire du resultat
+c!
+ integer dp,ip,i
+ double precision p(dp+1),xr,xi,vr,vi,t
+c
+ ip=dp+1
+ vr=p(ip)
+ vi=0.0d+0
+ if(dp.eq.0) return
+ if(xi.ne.0.0d+0) goto 20
+c x reel
+ do 10 i=1,dp
+ vr=vr*xr+p(ip-i)
+ 10 continue
+ return
+c
+c x complexe
+ 20 continue
+ do 21 i=1,dp
+ t=vr*xr-vi*xi+p(ip-i)
+ vi=vi*xr+vr*xi
+ vr=t
+ 21 continue
+ return
+c
+ end
diff --git a/modules/polynomials/src/fortran/horner.lo b/modules/polynomials/src/fortran/horner.lo
new file mode 100755
index 000000000..357b706d1
--- /dev/null
+++ b/modules/polynomials/src/fortran/horner.lo
@@ -0,0 +1,12 @@
+# src/fortran/horner.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/horner.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/idegre.f b/modules/polynomials/src/fortran/idegre.f
new file mode 100755
index 000000000..8304ae418
--- /dev/null
+++ b/modules/polynomials/src/fortran/idegre.f
@@ -0,0 +1,33 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine idegre(a,majo,nvrai)
+c!but
+c calcul du degre d un polynome
+c!liste d'appel
+c a=coeff par ordre croissant
+c majo=majorant
+c nvrai=degre calcule
+c!
+ dimension a(*)
+ double precision a,test,dasum,an
+c
+ an=dasum(majo+1,a,1)
+ if(an.eq.0.0d+0) goto 20
+ if(majo.eq.0) goto 20
+ do 10 k=1,majo+1
+ kk=majo+2-k
+ test=abs(a(kk))/an
+ if(1.0d+0+test.ne.1.0d+0) then
+ nvrai=kk-1
+ return
+ endif
+ 10 continue
+ 20 nvrai=0
+ return
+ end
diff --git a/modules/polynomials/src/fortran/idegre.lo b/modules/polynomials/src/fortran/idegre.lo
new file mode 100755
index 000000000..8859737bb
--- /dev/null
+++ b/modules/polynomials/src/fortran/idegre.lo
@@ -0,0 +1,12 @@
+# src/fortran/idegre.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/idegre.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/impcnc.f b/modules/polynomials/src/fortran/impcnc.f
new file mode 100755
index 000000000..f045f2951
--- /dev/null
+++ b/modules/polynomials/src/fortran/impcnc.f
@@ -0,0 +1,95 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=IMPCNC,SSI=0
+c Copyright INRIA
+ subroutine impcnc(pm1,d1,ld1,pm2,d2,ld2,pm3,d3,l,m,n,job)
+c!but
+c cette subroutine concatene deux matrices dont les coefficients
+c sont des polynomes (a coeff entiers) s:
+c pm3=<pm1 pm2>
+c ou
+c pm3=<pm1' pm2'>'
+c!liste d'appel
+c
+c subroutine impcnc(pm1,d1,ld1,pm2,d2,ld2,pm3,d3,l,m,n,job)
+c integer pm1(*),pm2(*),pm3(*)
+c integer d1(ld1*n+1),d2(ld2*n+1),d3(m*n+1),l,m,n,ld1,ld2,job
+c
+c pm1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c ld1 : entier definissant le rangement dans d1
+c
+c pm2,d2,ld2 : definitions similaires a celles de pm1,d1,ld1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, l3 est
+c suppose egal a m
+c l : nombre de ligne de pm1 (et de pm2 et pm3 si job>0)
+c m : nombre de colonnes de pm1 (job>0)
+c nombre de ligne de pm2 (job<0)
+c n : nombre de colonnes de pm2 (job>0)
+c et nombre de colonnes de pm1 et pm3 si job <0
+c job : indique l'operation a effectuer:
+c job >0 pm3=<pm1 pm2>
+c job <0 pm3=<pm1' pm2'>'
+c!
+ integer pm1(*),pm2(*),pm3(*)
+ integer d1(*),d2(*),d3(*),l,m,n,ld1,ld2
+c
+ integer i1,i2,i3,np,i,j
+c
+ i3=1
+ d3(1)=1
+ i1=1-ld1
+ i2=1-ld2
+c
+ if(job.lt.0) goto 30
+c
+ do 11 j=1,m
+ i1=i1+ld1
+ np=d1(i1+l)-d1(i1)
+ call icopy(np,pm1(d1(i1)),1,pm3(d3(i3)),1)
+ do 10 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d1(i1+i)-d1(i1+i-1)
+ 10 continue
+ 11 continue
+ do 21 j=1,n
+ i2=i2+ld2
+ np=d2(i2+l)-d2(i2)
+ call icopy(np,pm2(d2(i2)),1,pm3(d3(i3)),1)
+ do 20 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d2(i2+i)-d2(i2+i-1)
+ 20 continue
+ 21 continue
+ return
+c
+ 30 do 50 j=1,n
+ i1=i1+ld1
+ i2=i2+ld2
+ np=d1(i1+l)-d1(i1)
+ call icopy(np,pm1(d1(i1)),1,pm3(d3(i3)),1)
+ do 40 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d1(i1+i)-d1(i1+i-1)
+ 40 continue
+ np=d2(i2+m)-d2(i2)
+ call icopy(np,pm2(d2(i2)),1,pm3(d3(i3)),1)
+ do 45 i=1,m
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d2(i2+i)-d2(i2+i-1)
+ 45 continue
+ 50 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/impcnc.lo b/modules/polynomials/src/fortran/impcnc.lo
new file mode 100755
index 000000000..1529ac9b5
--- /dev/null
+++ b/modules/polynomials/src/fortran/impcnc.lo
@@ -0,0 +1,12 @@
+# src/fortran/impcnc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/impcnc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/impext.f b/modules/polynomials/src/fortran/impext.f
new file mode 100755
index 000000000..1e7275502
--- /dev/null
+++ b/modules/polynomials/src/fortran/impext.f
@@ -0,0 +1,147 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1986-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine impext(mp,d,m,n,row,nr,col,nc,mp1,d1,job,ierr)
+c!but
+c impext extrait une sous matrice definie par un choix de lignes
+c et un choix de colonnes,d'une matrice polynomiale
+c a coefficients entiers ,donnee.
+c!liste d'appel
+c subroutine impext(mp,d,m,n,row,nr,col,nc,mp1,d1,job,ierr)
+c integer mp(*),mp1(*)
+c integer d(*),m,n,row(*),nr,col(*),nc,d1(*),job,ierr
+c
+c mp:tableau contenant les coefficients des polynomes de la
+c matrice polynomiale donnee
+c d:tableau des pointeurs sur les premiers coeff de chaque poly
+c m: nombre de ligne de la matrice polynomiale
+c n: nombre de colonnes
+c row:vecteur contenant les indices des lignes choisies
+c si nr <=0 row n'est pas reference
+c nr:nombre de lignes choisies ,si nr < 0 on choisit toutes
+c les lignes
+c col:vecteur contenant les indices des colonnes choisies
+c si nc <=0 col n'est pas reference.
+c nc:nombre de colonnes choisies, si nc < 0 on choisit toutes
+c les colonnes
+c mp1:tableau contenant les coeff de la matrice polynomiale
+c resultat. si job=0 mp1 n'est pas referencee
+c d1:matrice des pointeurs de la matrice polynomiale resultat
+c d1 est calculee si job.ne.1,si job =1 d1 doit etre fournie
+c job:indicateur d'execution
+c job=0 seul d1 est calcule
+c job=1 mp1 est calcule supposant d1 donnee
+c sinon d1 et mp1 sont calcules
+c ierr:indicateur d'erreur:
+c ierr=0 ok
+c ierr>0 une des lignes (colonnes) choisies n'appartient
+c pas a la matrice donnee.
+c!sous programmes appeles
+c icopy (blas)
+c!
+ integer mp(*),mp1(*)
+ integer d(*),m,n,row(*),nr,col(*),nc,d1(*),job,ierr
+c
+ ierr=0
+ if(nr*nc.eq.0) return
+ if(m.le.0.or.n.le.0) return
+ if(nr.lt.0) goto 40
+ if(nc.lt.0) goto 50
+c
+c un choix de lignes et un choix de colonnes
+c
+c verifications de la validite des vecteurs row et col
+c do 10 j=1,nc
+c if(col(j).le.0.or.col(j).gt.n) goto 100
+c 10 continue
+c do 11 i=1,nr
+c if(row(i).le.0.or.row(i).gt.m) goto 100
+c 11 continue
+c
+ if(job.eq.1) goto 25
+c calcul de la matrice deplacement de la matrice polynomiale resultat
+ d1(1)=1
+ id1=1
+ do 20 j=1,nc
+ id=m*(col(j)-1)+1
+ do 20 i=1,nr
+ id1=id1+1
+ 20 d1(id1)=d1(id1-1)+d(id+row(i))-d(id+row(i)-1)
+ if(job.eq.0) return
+c
+ 25 id1=1
+ do 26 j=1,nc
+ id=m*(col(j)-1)
+ do 26 i=1,nr
+ id1=id1+1
+ call icopy(d1(id1)-d1(id1-1),mp(d(id+row(i))),1,mp1(d1(id1-1)),1)
+ 26 continue
+ return
+c
+ 40 if(nc.lt.0) goto 60
+c toutes les lignes et un choix de colonnes (nr<0)
+c do 41 j=1,nc
+c if(col(j).le.0.or.col(j).gt.n) goto 100
+c 41 continue
+ if(job.eq.1) goto 45
+ id1=1
+ d1(id1)=1
+ do 42 j=1,nc
+ id=m*(col(j)-1)+1
+ do 42 i=1,m
+ id1=id1+1
+ d1(id1)=d1(id1-1)+d(id+i)-d(id+i-1)
+ 42 continue
+ if(job.eq.0) return
+ 45 id1=1
+ do 46 j=1,nc
+ id=1+m*(col(j)-1)
+ call icopy(d(id+m)-d(id),mp(d(id)),1,mp1(d1(id1)),1)
+ id1=id1+m
+ 46 continue
+ return
+c
+ 50 continue
+c toutes les colonnnes et un choix de lignes
+c do 51 i=1,nr
+c if(row(i).le.0.or.row(i).gt.m) goto 100
+c 51 continue
+ if(job.eq.1) goto 55
+ id1=1
+ d1(1)=1
+ id=1-m
+ do 52 j=1,n
+ id=id+m
+ do 52 i=1,nr
+ id1=id1+1
+ d1(id1)=d1(id1-1)+d(id+row(i))-d(id+row(i)-1)
+ 52 continue
+ if(job.eq.0) return
+ 55 continue
+ id1=1
+ do 53 j=1,n
+ id=(j-1)*m
+ do 53 i=1,nr
+ idi=id+row(i)
+ call icopy(d(idi+1)-d(idi),mp(d(idi)),1,mp1(d1(id1)),1)
+ id1=id1+1
+ 53 continue
+ return
+c
+ 60 continue
+c toutes les lignes et toutes les colonnes
+ if(job.eq.1) goto 65
+ do 61 i=1,m*n+1
+ d1(i)=d(i)
+ 61 continue
+ if(job.eq.0) return
+ 65 call icopy(d(m*n+1)-1,mp,1,mp1,1)
+ return
+c 100 ierr=1
+c return
+ end
diff --git a/modules/polynomials/src/fortran/impext.lo b/modules/polynomials/src/fortran/impext.lo
new file mode 100755
index 000000000..e9beabfc2
--- /dev/null
+++ b/modules/polynomials/src/fortran/impext.lo
@@ -0,0 +1,12 @@
+# src/fortran/impext.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/impext.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/impins.f b/modules/polynomials/src/fortran/impins.f
new file mode 100755
index 000000000..f6a2db7d5
--- /dev/null
+++ b/modules/polynomials/src/fortran/impins.f
@@ -0,0 +1,86 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c Copyright (C) {date_debut_2}-{date_fin_2} - {organisme 2} -
+c {auteur 2}
+c ...
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING,
+c which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C /MEMBR ADD NAME=IMPINS,SSI=0
+c Copyright INRIA
+ subroutine impins(mat1,dep1,lig1,col1,mat2,
+ & dep2,lig2,col2,matr,depr,ligr,colr)
+c !but
+c
+c Cette subroutine fait l'insertion d'une matrice
+c de polynomes mat2 dans une autre mat1 d'apres deux vecteurs.
+c On suppose donnees depr, ligr et colr.
+c Le resultat viendra dans une troisieme matrice.
+c
+c !parametres d'appel
+c
+c call impins(mat1,dep1,lig1,col1,mat2,dep2,lig2,
+c 1 col2,matr,depr,ligr,colr)
+c
+c ou
+c
+c mat1: matrice integer de polynomes
+c
+c dep1: matrice integere qui donne les deplacements relatifs des
+c elements de mat1
+c
+c lig1, col1: integers, dimensions de mat1
+c
+c mat2 ,dep2, lig2, col2: analogues aux correspondents 1
+c (correspond a m dans l'example)
+c
+c matr, depr, ligr, colr: parametres de sortie, matrice matr et
+c autres valeurs relationnes.
+c
+c
+c attention!: aucune de matrices mat1, mat2,matr,dep1, dep2 ou depr
+c doit coincider. Cas contraire, les resultats seraient
+c imprevisibles.
+c
+c
+c !
+ integer mat1(*),mat2(*),matr(*)
+ integer dep1(*),dep2(*),depr(*)
+c
+ integer lig1,col1,lig2,col2,ligr,colr
+ depr(1)=1
+ kr=1
+c
+ do 21 j=1,colr
+ do 20 i=1,ligr
+ kr=kr+1
+ lr=depr(kr)
+ if (lr .lt. 0) then
+ goto 11
+ elseif (lr .eq. 0) then
+ goto 12
+ else
+ goto 13
+ endif
+ 11 l2=-lr
+ l=dep2(l2+1)-dep2(l2)
+ call icopy(l,mat2(dep2(l2)),1,matr(depr(kr-1)),1)
+ depr(kr)=depr(kr-1)+l
+ goto 20
+ 12 continue
+c matr(depr(kr-1))=40
+ depr(kr)=depr(kr-1)
+ goto 20
+ 13 l1=lr
+ l=dep1(l1+1)-dep1(l1)
+ call icopy(l,mat1(dep1(l1)),1,matr(depr(kr-1)),1)
+ depr(kr)=depr(kr-1)+l
+c
+ 20 continue
+ 21 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/impins.lo b/modules/polynomials/src/fortran/impins.lo
new file mode 100755
index 000000000..094d88a07
--- /dev/null
+++ b/modules/polynomials/src/fortran/impins.lo
@@ -0,0 +1,12 @@
+# src/fortran/impins.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/impins.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/imptra.f b/modules/polynomials/src/fortran/imptra.f
new file mode 100755
index 000000000..769af35f4
--- /dev/null
+++ b/modules/polynomials/src/fortran/imptra.f
@@ -0,0 +1,52 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=IMPTRA,SSI=0
+c Copyright INRIA
+ subroutine imptra(pm1,d1,ld1,pm2,d2,m,n)
+c!but
+c cette subroutine transpose une matrice dont les coefficients sont
+c des polynomes entiers ou des strings.
+c!liste d'appel
+c
+c subroutine imptra(pm1,d1,ld1,pm2,d2,m,n)
+c integer pm1(*),pm2(*)
+c integer d1(*),d2(n,m),m,n,iw(n)
+c
+c pm1 : tableau entier contenant les coefficients des
+c polynomes.
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c ld1 : entier definissant le rangement dans d1
+c
+c pm2,d2 : definitions similaires a celles de pm1,d1, ld2
+c est suppose egal a n
+c m : nombre de lignes de la matrice pm1
+c n : nombre de colonne de matrice pm1
+c!
+ integer pm1(*),pm2(*)
+ integer d1(*),d2(*),m,n
+ d2(1)=1
+ i2=1
+ do 20 i=1,m
+ i1=i
+ do 10 j=1,n
+ l1=d1(i1)
+ n1=d1(i1+1)-l1
+ l2=d2(i2)
+ call icopy(n1,pm1(l1),1,pm2(l2),1)
+ i1=i1+ld1
+ i2=i2+1
+ d2(i2)=l2+n1
+ 10 continue
+ 20 continue
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/imptra.lo b/modules/polynomials/src/fortran/imptra.lo
new file mode 100755
index 000000000..3f0f2a7e6
--- /dev/null
+++ b/modules/polynomials/src/fortran/imptra.lo
@@ -0,0 +1,12 @@
+# src/fortran/imptra.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/imptra.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/linear_algebra_Import.def b/modules/polynomials/src/fortran/linear_algebra_Import.def
new file mode 100755
index 000000000..124cec3e5
--- /dev/null
+++ b/modules/polynomials/src/fortran/linear_algebra_Import.def
@@ -0,0 +1,5 @@
+LIBRARY linear_algebra.dll
+
+
+EXPORTS
+intspec_
diff --git a/modules/polynomials/src/fortran/linpack_f_Import.def b/modules/polynomials/src/fortran/linpack_f_Import.def
new file mode 100755
index 000000000..7834a06e2
--- /dev/null
+++ b/modules/polynomials/src/fortran/linpack_f_Import.def
@@ -0,0 +1,7 @@
+ LIBRARY linpack_f.dll
+
+
+EXPORTS
+;
+;linpack_f
+icopy_ \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/mpdegr.f b/modules/polynomials/src/fortran/mpdegr.f
new file mode 100755
index 000000000..21a60b10f
--- /dev/null
+++ b/modules/polynomials/src/fortran/mpdegr.f
@@ -0,0 +1,36 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1988-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=MPDEGR,SSI=0
+c Copyright INRIA
+ subroutine mpdegr(d,nl,deg,m,n)
+c!but
+c mpdegr calcule le degre maximum des elements d'une matrice de polynomes
+c!liste d'appel
+c integer d(nl*n+1),nl,m,n,deg
+c d : tableau entier de taille nl*n+1, si k=i+(j-1)*nl alors
+c d(k)) contient l'adresse dans pm du coeff de degre 0
+c du polynome mp(i,j). Le degre du polynome mp(i,j) vaut:
+c d(k+1)-d(k) -1
+c nl : entier definissant le rangement dans d
+c m : nombre de ligne de la matrice polynomiale
+c n : nombre de colonnes de la matrice polynomiale
+c
+c!
+ integer d(*),nl,m,n,deg
+c
+c determination du degre max de mp
+ deg=0
+ ip=-nl
+ do 10 k=1,n
+ ip=ip+nl
+ do 10 i=1,m
+ deg=max(deg,d(ip+i+1)-d(ip+i)-1)
+ 10 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/mpdegr.lo b/modules/polynomials/src/fortran/mpdegr.lo
new file mode 100755
index 000000000..2426f2ff6
--- /dev/null
+++ b/modules/polynomials/src/fortran/mpdegr.lo
@@ -0,0 +1,12 @@
+# src/fortran/mpdegr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/mpdegr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/mpdiag.f b/modules/polynomials/src/fortran/mpdiag.f
new file mode 100755
index 000000000..34d8796aa
--- /dev/null
+++ b/modules/polynomials/src/fortran/mpdiag.f
@@ -0,0 +1,54 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=MPDIAG,SSI=0
+ subroutine mpdiag(d,m,n,diag,dd,mr,nr)
+ integer d(*),dd(*),diag
+c
+ if(n.le.0) goto 20
+c
+c extraction d'une diagonale dune matrice
+c
+ nr=1
+ mn=min(m,n)
+ k=-diag+1
+ if(diag.ge.0) k=diag*m+1
+ mr=diag+m
+ if(diag+m.ge.mn) mr=mn
+ if(diag.ge.n-mn) mr=n-diag
+ l=0
+ if(mr.le.0) goto 11
+ do 10 kk=2,mr+1
+ dd(kk)=k
+ l=l+d(k+1)-d(k)
+ 10 k=k+m+1
+ 11 dd(1)=l
+ return
+c
+c
+c creation d'une matrice 'diagonale'
+c
+ 20 mr=m
+ nr=m
+ l=0
+ if(diag.ge.0) then
+ nr=nr+diag
+ else
+ mr=mr-diag
+ endif
+ do 21 k=2,mr*nr+1
+ 21 dd(k)=0
+ kk=1-diag
+ if(diag.ge.0) kk=diag*mr+1
+ do 22 k=1,m
+ dd(kk+1)=k
+ kk=kk+mr+1
+ 22 l=d(k+1)-d(k)+l
+ dd(1)=l+mr*nr-m
+ return
+ end
diff --git a/modules/polynomials/src/fortran/mpdiag.lo b/modules/polynomials/src/fortran/mpdiag.lo
new file mode 100755
index 000000000..30276f9d0
--- /dev/null
+++ b/modules/polynomials/src/fortran/mpdiag.lo
@@ -0,0 +1,12 @@
+# src/fortran/mpdiag.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/mpdiag.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/mpinsp.f b/modules/polynomials/src/fortran/mpinsp.f
new file mode 100755
index 000000000..ef1332c38
--- /dev/null
+++ b/modules/polynomials/src/fortran/mpinsp.f
@@ -0,0 +1,293 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING,
+c which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine mpinsp(dep1,lig1,col1,v1,d1,v2,d2,dep2,
+ & lig2,col2,depr,ligr,colr,defsz,iwork,ierr)
+c !but
+c
+c Cette subroutine pretraite l'insertion d'une
+c matrice de polynomes mat2 dans une autre mat1 d'apres deux
+c vecteurs.Pour calculer le volume qu'occupera le resultat
+c
+c !parametres d'appel
+c
+c call mpinsp(dep1,lig1,col1,v1,d1,v2,d2,dep2,lig2,col2
+c & ,depr,ligr,colr,defsz,iwork,ierr)
+c
+c ou
+c
+c dep1: matrice entiere qui donne les deplacements relatifs des
+c elements de mat1
+c
+c lig1, col1: entiers, dimensions de mat1
+c
+c v1: vecteur entier
+c
+c d1: longueur du vecteur v1
+c
+c v2, d2: analogues aux anterieurs
+c
+c dep2, lig2, col2: analogues aux correspondents 1
+c
+c depr: contient les information issues du pretraitement:
+c depr(1) contient le volume des coeff de la matrice resultat
+c depr(1+i) contient un pointeur vers dep1 si positif
+c vers dep2 si negatif
+c vers 0 si nul
+c
+c ligr, colr: entiers dimensions de la matrice de sortie
+c depr. S'ils ne sont pas connus au prealable
+c peuvent etre calcules par la subroutine dimin.
+c defsz: entier: taille de l'element par default
+c iwork: tableau entier de taille colr+ligr
+c ierr: si 0 terminaison correcte,
+c sinon les dimensions de mat2 ne sont pas compatibles
+c
+c
+c attention!: aucune de matrices dep1, dep2 ou depr ne
+c doit coincider. Dans le cas contraire, les resultats seraient
+c imprevisibles.
+c
+
+c
+c
+c !
+ integer dep1(*),v1(*),v2(*),dep2(*),depr(*),iwork(*)
+ integer lig1,col1,d1,d2,lig2,col2,ligr,colr,ierr,defsz
+c
+ integer volr
+c
+ ierr=0
+ volr=0
+ if (d1.eq.0.or.d2.eq.0) return
+
+ if(d1.gt.0.or.d2.gt.0) goto 10
+c
+c cas (:,:)
+c
+ if(lig1.ne.lig2.or.col1.ne.col2) then
+ if(lig2*col2.eq.1) then
+ ir=lig1*col1+1
+ do 04 i=1,ir
+ depr(i+1)=-1
+ 04 continue
+ volr=(dep2(2)-dep2(1))*lig1*col1
+ goto 999
+ else
+ ierr=1
+ return
+ endif
+ endif
+c
+ ir=lig1*col1+1
+ do 05 i=1,ir
+ depr(i+1)=-i
+ 05 continue
+ volr=dep2(ir)-dep2(1)
+ goto 999
+c
+ 10 if(d1.lt.0) then
+c cas (:,.)
+ inc2=1
+ if(max(1,lig1).ne.lig2) then
+ if(lig2.eq.1.and.col2.eq.1) then
+ inc2=0
+ else
+ ierr=1
+ return
+ endif
+ endif
+c
+c toutes les lignes pour un choix de colonnes
+c
+ kr=1
+ volr=0
+c trouver les colonnes qui sont modifiées
+ call iset(colr,0,iwork,1)
+ do i=1,d2
+ iwork(v2(i))=i
+ enddo
+ do 19 jr=1,colr
+c la colonne jr est elle a modifier ?
+ id2=iwork(jr)
+ if(id2.eq.0) goto 14
+c oui
+ if(inc2.eq.1) then
+ k2=lig2*(id2-1)
+ do 12 ir=1,ligr
+ kr=kr+1
+ depr(kr)=-1
+ 12 continue
+ volr=volr+ligr*(dep2(2)-dep2(1))
+ else
+ do 13 ir=1,ligr
+ kr=kr+1
+ depr(kr)=-(k2+ir)
+ 13 continue
+ volr=volr+dep2(k2+ligr+1)-dep2(k2+1)
+ endif
+ go to 19
+c non
+ 14 if(jr.le.col1) then
+c la colonne designee existe dans mat1
+ k1=(jr-1)*lig1
+ do 17 ir=1,ligr
+ kr=kr+1
+ depr(kr)=(k1+ir)
+ 17 continue
+ volr=volr+dep1(k1+ligr+1)-dep1(k1+1)
+ goto 19
+ endif
+c si non, inserer un string vide
+ do 18 ir=1,ligr
+ kr=kr+1
+ depr(kr)=0
+ 18 continue
+ volr=volr+ligr*defsz
+ 19 continue
+ goto 999
+ endif
+c
+ if(d2.lt.0) then
+c cas (.,:)
+ inc2=1
+ if(col1.ne.max(1,col2)) then
+ if(lig2.eq.1.and.col2.eq.1) then
+ inc2=0
+ else
+ ierr=1
+ return
+ endif
+ endif
+c
+c toutes les colonnes pour un choix de lignes
+c
+ call iset(ligr,0,iwork,1)
+ do i=1,d1
+ iwork(v1(i))=i
+ enddo
+
+ do 29 ir=1,ligr
+ kr=ir+1-ligr
+c la ligne ir est elle a modifier ?
+ id1=iwork(ir)
+ if(id1.eq.0) goto 24
+c oui
+ if(inc2.eq.1) then
+ k2=id1-lig2
+ do 22 jr=1,colr
+ kr=kr+ligr
+ k2=k2+lig2
+ depr(kr)=-k2
+ volr=volr+dep2(k2+1)-dep2(k2)
+ 22 continue
+ else
+ do 23 jr=1,colr
+ kr=kr+ligr
+ depr(kr)=-1
+ volr=volr+colr*(dep2(2)-dep2(1))
+ 23 continue
+ endif
+ go to 29
+c non
+ 24 if(ir.le.lig1) then
+c la ligne designee existe dans mat1
+ k1=ir-lig1
+ do 27 jr=1,colr
+ kr=kr+ligr
+ k1=k1+lig1
+ volr=volr+dep1(k1+1)-dep1(k1)
+ depr(kr)=k1
+ 27 continue
+ goto 29
+ endif
+c si non, inserer des zeros
+ do 28 jr=1,colr
+ kr=kr+ligr
+ depr(kr)=0
+ 28 continue
+ volr=volr+colr*defsz
+ 29 continue
+ goto 999
+ endif
+c
+c cas general
+c
+ kr=2
+ inc2=1
+ if(lig2.eq.1.and.col2.eq.1) inc2=0
+
+ call iset(colr+ligr,0,iwork,1)
+ do i=1,d2
+ iwork(v2(i))=i
+ enddo
+
+ do i=1,d1
+ iwork(colr+v1(i))=i
+ enddo
+
+ do 40 jr=1,colr
+c la colonne jr est elle a modifier ?
+ id2=iwork(jr)
+ if(id2.eq.0) goto 35
+c
+ do 34 ir=1,ligr
+c la ligne ir est-elle a modifier
+ id1=iwork(colr+ir)
+ if(id1.eq.0) goto 32
+c
+ if(inc2.eq.1) then
+ k2=id1+lig2*(id2-1)
+ depr(kr)=-k2
+ volr=volr+dep2(k2+1)-dep2(k2)
+ else
+ depr(kr)=-1
+ volr=volr+dep2(2)-dep2(1)
+ endif
+ kr=kr+1
+ go to 34
+c
+ 32 if(ir.gt.lig1.or.jr.gt.col1) goto 33
+ k1=ir+lig1*(jr-1)
+ depr(kr)=k1
+ kr=kr+1
+ volr=volr+dep1(k1+1)-dep1(k1)
+ goto 34
+c
+ 33 depr(kr)=0
+ kr=kr+1
+ volr=volr+defsz
+ 34 continue
+ goto 40
+c non
+c toutes les lignes de la colonne designee
+ 35 if(jr.gt.col1) goto 38
+ k1=(jr-1)*lig1
+ do 36 ir=1,lig1
+ depr(kr)=k1+ir
+ kr=kr+1
+ 36 continue
+ volr=volr+dep1(k1+lig1+1)-dep1(k1+1)
+ if(lig1.ge.ligr) goto 40
+ do 37 ir=lig1+1,ligr
+ depr(kr)=0
+ kr=kr+1
+ 37 continue
+ volr=volr+(ligr-lig1)*defsz
+ goto 40
+ 38 do 39 ir=1,ligr
+ depr(kr)=0
+ kr=kr+1
+ 39 continue
+ volr=volr+ligr*defsz
+ 40 continue
+c
+ 999 depr(1)=volr
+ return
+ end
diff --git a/modules/polynomials/src/fortran/mpinsp.lo b/modules/polynomials/src/fortran/mpinsp.lo
new file mode 100755
index 000000000..5c474e3d4
--- /dev/null
+++ b/modules/polynomials/src/fortran/mpinsp.lo
@@ -0,0 +1,12 @@
+# src/fortran/mpinsp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/mpinsp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/mptri.f b/modules/polynomials/src/fortran/mptri.f
new file mode 100755
index 000000000..3de56c692
--- /dev/null
+++ b/modules/polynomials/src/fortran/mptri.f
@@ -0,0 +1,65 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=MPTRI,SSI=0
+c Copyright INRIA
+ subroutine mptri(d,m,n,diag,dd,job)
+c
+ integer d(*),m,n,dd(*),diag,job
+c
+ do 10 i=2,m*n+1
+ 10 dd(i)=i-1
+c
+ if(job.eq.0) goto 15
+c triangle superieur
+ if(diag.le.0) goto 11
+ call iset(m*diag,0,dd(2),1)
+ ls=m*diag+2
+ nn=n-diag
+ ll=m-1
+ goto 12
+ 11 ls=2-diag
+ nn=n
+ ll=m-1+diag
+ 12 do 13 j=1,nn
+ if(ll.le.0) goto 20
+ call iset(ll,0,dd(ls+1),1)
+ ll=ll-1
+ ls=ls+m+1
+ 13 continue
+ goto 20
+c
+c triangle inferieur
+ 15 nn=n
+ if(diag.lt.0) goto 16
+ ls=m*(diag+1)+1
+ nn=n-diag-1
+ ll=1
+ goto 17
+ 16 ls=1
+ ll=-diag
+ nn=n
+ 17 do 19 j=1,nn
+ if(ll.gt.m) ll=m
+ call iset(ll,0,dd(ls+1),1)
+ ls=ls+m
+ ll=ll+1
+ 19 continue
+c
+c calcul du volume
+ 20 l=0
+ do 21 i=2,m*n+1
+ if(dd(i).eq.0) then
+ l=l+1
+ else
+ l=l+d(dd(i)+1)-d(dd(i))
+ endif
+ 21 continue
+ dd(1)=l
+ return
+ end
diff --git a/modules/polynomials/src/fortran/mptri.lo b/modules/polynomials/src/fortran/mptri.lo
new file mode 100755
index 000000000..7665b4b04
--- /dev/null
+++ b/modules/polynomials/src/fortran/mptri.lo
@@ -0,0 +1,12 @@
+# src/fortran/mptri.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/mptri.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/newest.f b/modules/polynomials/src/fortran/newest.f
new file mode 100755
index 000000000..79b39b6d0
--- /dev/null
+++ b/modules/polynomials/src/fortran/newest.f
@@ -0,0 +1,48 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine newest(type, uu, vv)
+c compute new estimates of quadratic coefficients
+c using the scalars computed in calcsc.
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a ,b,c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ real eta, are, mre
+ integer n, nn
+ double precision a4, a5, b1, b2, c1, c2, c3,
+ * c4, temp, uu, vv
+ integer type
+c use formulas appropriate to setting of type.
+ if (type.eq.3) go to 30
+ if (type.eq.2) go to 10
+ a4 = a + u*b + h*f
+ a5 = c + (u+v*f)*d
+ go to 20
+ 10 a4 = (a+g)*f + h
+ a5 = (f+u)*c + v*d
+c evaluate new quadratic coefficients.
+ 20 b1 = -k(n)/p(nn)
+ b2 = -(k(n-1)+b1*p(n))/p(nn)
+ c1 = v*b2*a1
+ c2 = b1*a7
+ c3 = b1*b1*a3
+ c4 = c1 - c2 - c3
+ temp = a5 + b1*a4 - c4
+ if (temp.eq.0.0d+0) go to 30
+ uu = u - (u*(c3+c2)+v*(b1*a1+b2*a7))/temp
+ vv = v*(1.+c4/temp)
+ return
+c if type=3 the quadratic is zeroed
+ 30 uu = 0.0d+0
+ vv = 0.0d+0
+ return
+ end
diff --git a/modules/polynomials/src/fortran/newest.lo b/modules/polynomials/src/fortran/newest.lo
new file mode 100755
index 000000000..b5f3ad0f7
--- /dev/null
+++ b/modules/polynomials/src/fortran/newest.lo
@@ -0,0 +1,12 @@
+# src/fortran/newest.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/newest.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/nextk.f b/modules/polynomials/src/fortran/nextk.f
new file mode 100755
index 000000000..0ef489058
--- /dev/null
+++ b/modules/polynomials/src/fortran/nextk.f
@@ -0,0 +1,51 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine nextk(type)
+c computes the next k polynomials using scalars
+c computed in calcsc
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a, b, c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ real eta, are, mre
+ integer n, nn
+ double precision temp
+ integer type
+ if (type.eq.3) go to 40
+ temp = a
+ if (type.eq.1) temp = b
+ if (abs(a1).gt.abs(temp)*eta*10.) go to 20
+c if a1 is nearly zero then use a special form of the
+c recurrence
+ k(1) = 0.0d+0
+ k(2) = -a7*qp(1)
+ do 10 i=3,n
+ k(i) = a3*qk(i-2) - a7*qp(i-1)
+ 10 continue
+ return
+c use scaled form of the recurrence
+ 20 a7 = a7/a1
+ a3 = a3/a1
+ k(1) = qp(1)
+ k(2) = qp(2) -a7*qp(1)
+ do 30 i=3,n
+ k(i) = a3*qk(i-2) - a7*qp(i-1) + qp(i)
+ 30 continue
+ return
+c use unscaled form of the recurrence if type is 3
+ 40 k(1) = 0.0d+0
+ k(2) = 0.0d+0
+ do 50 i=3,n
+ k(i) = qk(i-2)
+ 50 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/nextk.lo b/modules/polynomials/src/fortran/nextk.lo
new file mode 100755
index 000000000..535ac9082
--- /dev/null
+++ b/modules/polynomials/src/fortran/nextk.lo
@@ -0,0 +1,12 @@
+# src/fortran/nextk.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/nextk.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/output_stream_Import.def b/modules/polynomials/src/fortran/output_stream_Import.def
new file mode 100755
index 000000000..f46484880
--- /dev/null
+++ b/modules/polynomials/src/fortran/output_stream_Import.def
@@ -0,0 +1,8 @@
+LIBRARY output_stream.dll
+
+
+EXPORTS
+basout_
+msgs_
+error_
+msgstxt_ \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/polynomials_Import.def b/modules/polynomials/src/fortran/polynomials_Import.def
new file mode 100755
index 000000000..2f7091108
--- /dev/null
+++ b/modules/polynomials/src/fortran/polynomials_Import.def
@@ -0,0 +1,5 @@
+LIBRARY polynomials.dll
+
+
+EXPORTS
+gloglo_ \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/polynomials_f.rc b/modules/polynomials/src/fortran/polynomials_f.rc
new file mode 100755
index 000000000..05bc99a87
--- /dev/null
+++ b/modules/polynomials/src/fortran/polynomials_f.rc
@@ -0,0 +1,96 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "polynomials_f module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "polynomials_f module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "polynomials_f.dll"
+ VALUE "ProductName", "polynomials_f module"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/polynomials/src/fortran/polynomials_f.vfproj b/modules/polynomials/src/fortran/polynomials_f.vfproj
new file mode 100755
index 000000000..e795962b9
--- /dev/null
+++ b/modules/polynomials/src/fortran/polynomials_f.vfproj
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VisualStudioProject ProjectType="typeDynamicLibrary" ProjectCreator="Intel Fortran" Keyword="Dll" Version="11.0" ProjectIdGuid="{3A72C3ED-98F7-49C7-B59C-2C6C47FF9390}">
+ <Platforms>
+ <Platform Name="Win32"/>
+ <Platform Name="x64"/></Platforms>
+ <Configurations>
+ <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="polynomials_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib polynomials.lib output_stream.lib linear_algebra.lib elementary_functions_f.lib elementary_functions.lib cacsd_f.lib linpack_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)polynomials_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)polynomials.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linear_algebra_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linear_algebra.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)cacsd_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)cacsd_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="polynomials_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib polynomials.lib output_stream.lib linear_algebra.lib elementary_functions_f.lib elementary_functions.lib cacsd_f.lib linpack_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)polynomials_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)polynomials.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linear_algebra_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linear_algebra.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)cacsd_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)cacsd_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="polynomials_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib polynomials.lib output_stream.lib linear_algebra.lib elementary_functions_f.lib elementary_functions.lib cacsd_f.lib linpack_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)polynomials_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)polynomials.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linear_algebra_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linear_algebra.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)cacsd_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)cacsd_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="polynomials_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib polynomials.lib output_stream.lib linear_algebra.lib elementary_functions_f.lib elementary_functions.lib cacsd_f.lib linpack_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)polynomials_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)polynomials.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linear_algebra_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linear_algebra.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)Elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)cacsd_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)cacsd_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
+ <Files>
+ <Filter Name="Header Files" Filter="fi;fd"/>
+ <Filter Name="Library Dependencies">
+ <File RelativePath=".\cacsd_f_Import.def"/>
+ <File RelativePath=".\Core_f_Import.def"/>
+ <File RelativePath=".\core_import.def"/>
+ <File RelativePath=".\Elementary_functions_f_Import.def"/>
+ <File RelativePath=".\Elementary_functions_Import.def"/>
+ <File RelativePath=".\linear_algebra_Import.def"/>
+ <File RelativePath=".\linpack_f_Import.def"/>
+ <File RelativePath=".\output_stream_Import.def"/>
+ <File RelativePath=".\polynomials_Import.def"/></Filter>
+ <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ <File RelativePath=".\polynomials_f.rc"/></Filter>
+ <Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
+ <File RelativePath=".\bezstp.f"/>
+ <File RelativePath=".\blktit.f"/>
+ <File RelativePath=".\calcsc.f"/>
+ <File RelativePath=".\chkvar.f"/>
+ <File RelativePath=".\ddmpev.f"/>
+ <File RelativePath=".\dimin.f"/>
+ <File RelativePath=".\dmp2pm.f"/>
+ <File RelativePath=".\dmpad.f"/>
+ <File RelativePath=".\dmpadj.f"/>
+ <File RelativePath=".\dmpcle.f"/>
+ <File RelativePath=".\dmpcnc.f"/>
+ <File RelativePath=".\dmpext.f"/>
+ <File RelativePath=".\dmpins.f"/>
+ <File RelativePath=".\dmpmu.f"/>
+ <File RelativePath=".\dmptra.f"/>
+ <File RelativePath=".\dpmul.f"/>
+ <File RelativePath=".\dpmul1.f"/>
+ <File RelativePath=".\dpodiv.f"/>
+ <File RelativePath=".\dprxc.f"/>
+ <File RelativePath=".\dpsimp.f"/>
+ <File RelativePath=".\dwmpmu.f"/>
+ <File RelativePath=".\fxshfr.f"/>
+ <File RelativePath=".\horner.f"/>
+ <File RelativePath=".\idegre.f"/>
+ <File RelativePath=".\impcnc.f"/>
+ <File RelativePath=".\impext.f"/>
+ <File RelativePath=".\impins.f"/>
+ <File RelativePath=".\imptra.f"/>
+ <File RelativePath=".\mpdegr.f"/>
+ <File RelativePath=".\mpdiag.f"/>
+ <File RelativePath=".\mpinsp.f"/>
+ <File RelativePath=".\mptri.f"/>
+ <File RelativePath=".\newest.f"/>
+ <File RelativePath=".\nextk.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\polops.f"/>
+ <File RelativePath=".\quad.f"/>
+ <File RelativePath=".\quadit.f"/>
+ <File RelativePath=".\quadsd.f"/>
+ <File RelativePath=".\realit.f"/>
+ <File RelativePath=".\recbez.f"/>
+ <File RelativePath=".\residu.f"/>
+ <File RelativePath=".\rpoly.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_bezout.f">
+ <FileConfiguration Name="Release|x64">
+ <Tool Name="VFFortranCompilerTool" Optimization="optimizeDisabled"/></FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VFFortranCompilerTool" Optimization="optimizeDisabled"/></FileConfiguration></File>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_coeff.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_degree.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_diag.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_div.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_pclean.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_poly.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_prod.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_psimp.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_roots.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_rsimp.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_sfact.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_simp.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_simpmd.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_sum.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_triu_tril.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_varn.f"/>
+ <File RelativePath=".\sfact1.f"/>
+ <File RelativePath=".\sfact2.f"/>
+ <File RelativePath=".\wdmpad.f"/>
+ <File RelativePath=".\wdmpmu.f"/>
+ <File RelativePath=".\wmpad.f"/>
+ <File RelativePath=".\wmpadj.f"/>
+ <File RelativePath=".\wmpcle.f"/>
+ <File RelativePath=".\wmpcnc.f"/>
+ <File RelativePath=".\wmpins.f"/>
+ <File RelativePath=".\wmpmu.f"/>
+ <File RelativePath=".\wmptra.f"/>
+ <File RelativePath=".\wpmul.f"/>
+ <File RelativePath=".\wpmul1.f"/>
+ <File RelativePath=".\wpodiv.f"/>
+ <File RelativePath=".\wprxc.f"/>
+ <File RelativePath=".\writebufsfact.f"/></Filter>
+ <File RelativePath="..\..\Makefile.am"/>
+ <File RelativePath="..\..\sci_gateway\polynomials_gateway.xml"/></Files>
+ <Globals/></VisualStudioProject>
diff --git a/modules/polynomials/src/fortran/polynomials_f2c.vcxproj b/modules/polynomials/src/fortran/polynomials_f2c.vcxproj
new file mode 100755
index 000000000..bee6fbfb8
--- /dev/null
+++ b/modules/polynomials/src/fortran/polynomials_f2c.vcxproj
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>polynomials_f</ProjectName>
+ <ProjectGuid>{3A72C3ED-98F7-49C7-B59C-2C6C47FF9390}</ProjectGuid>
+ <RootNamespace>polynomials_f2c</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\..\..\..\Visual-Studio-settings\f2c.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreLinkEventUseInBuild>
+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreLinkEventUseInBuild>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linear_algebra_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linear_algebra.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)cacsd_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)cacsd_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;../../../core/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials.lib;output_stream.lib;linear_algebra.lib;elementary_functions_f.lib;elementary_functions.lib;cacsd_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/lapack.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>polynomials_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linear_algebra_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linear_algebra.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)cacsd_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)cacsd_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;../../../core/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials.lib;output_stream.lib;linear_algebra.lib;elementary_functions_f.lib;elementary_functions.lib;cacsd_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/lapack.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>polynomials_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linear_algebra_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linear_algebra.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)cacsd_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)cacsd_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <ClCompile>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;../../../core/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials.lib;output_stream.lib;linear_algebra.lib;elementary_functions_f.lib;elementary_functions.lib;cacsd_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/lapack.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>polynomials_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linear_algebra_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linear_algebra.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)cacsd_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)cacsd_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;../../../core/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;POLYNOMIALS_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;polynomials.lib;output_stream.lib;linear_algebra.lib;elementary_functions_f.lib;elementary_functions.lib;cacsd_f.lib;linpack_f.lib;core_f.lib;../../../../bin/blasplus.lib;../../../../bin/lapack.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>polynomials_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="bezstp.c" />
+ <ClCompile Include="blktit.c" />
+ <ClCompile Include="calcsc.c" />
+ <ClCompile Include="chkvar.c" />
+ <ClCompile Include="ddmpev.c" />
+ <ClCompile Include="dimin.c" />
+ <ClCompile Include="dmp2pm.c" />
+ <ClCompile Include="dmpad.c" />
+ <ClCompile Include="dmpadj.c" />
+ <ClCompile Include="dmpcle.c" />
+ <ClCompile Include="dmpcnc.c" />
+ <ClCompile Include="dmpext.c" />
+ <ClCompile Include="dmpins.c" />
+ <ClCompile Include="dmpmu.c" />
+ <ClCompile Include="dmptra.c" />
+ <ClCompile Include="dpmul.c" />
+ <ClCompile Include="dpmul1.c" />
+ <ClCompile Include="dpodiv.c" />
+ <ClCompile Include="dprxc.c" />
+ <ClCompile Include="dpsimp.c" />
+ <ClCompile Include="dwmpmu.c" />
+ <ClCompile Include="..\..\..\elementary_functions\src\c\f2c_workaround.c" />
+ <ClCompile Include="fxshfr.c" />
+ <ClCompile Include="horner.c" />
+ <ClCompile Include="idegre.c" />
+ <ClCompile Include="impcnc.c" />
+ <ClCompile Include="impext.c" />
+ <ClCompile Include="impins.c" />
+ <ClCompile Include="imptra.c" />
+ <ClCompile Include="mpdegr.c" />
+ <ClCompile Include="mpdiag.c" />
+ <ClCompile Include="mpinsp.c" />
+ <ClCompile Include="mptri.c" />
+ <ClCompile Include="newest.c" />
+ <ClCompile Include="nextk.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\polops.c" />
+ <ClCompile Include="quad.c" />
+ <ClCompile Include="quadit.c" />
+ <ClCompile Include="quadsd.c" />
+ <ClCompile Include="realit.c" />
+ <ClCompile Include="recbez.c" />
+ <ClCompile Include="residu.c" />
+ <ClCompile Include="rpoly.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_bezout.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_coeff.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_degree.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_diag.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_div.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_pclean.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_poly.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_prod.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_psimp.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_roots.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_rsimp.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_sfact.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_simp.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_simpmd.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_sum.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_triu_tril.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_varn.c" />
+ <ClCompile Include="sfact1.c" />
+ <ClCompile Include="sfact2.c" />
+ <ClCompile Include="wdmpad.c" />
+ <ClCompile Include="wdmpmu.c" />
+ <ClCompile Include="wmpad.c" />
+ <ClCompile Include="wmpadj.c" />
+ <ClCompile Include="wmpcle.c" />
+ <ClCompile Include="wmpcnc.c" />
+ <ClCompile Include="wmpins.c" />
+ <ClCompile Include="wmpmu.c" />
+ <ClCompile Include="wmptra.c" />
+ <ClCompile Include="wpmul.c" />
+ <ClCompile Include="wpmul1.c" />
+ <ClCompile Include="wpodiv.c" />
+ <ClCompile Include="wprxc.c" />
+ <ClCompile Include="writebufsfact.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <f2c_rule Include="bezstp.f" />
+ <f2c_rule Include="blktit.f" />
+ <f2c_rule Include="calcsc.f" />
+ <f2c_rule Include="chkvar.f" />
+ <f2c_rule Include="ddmpev.f" />
+ <f2c_rule Include="dimin.f" />
+ <f2c_rule Include="dmp2pm.f" />
+ <f2c_rule Include="dmpad.f" />
+ <f2c_rule Include="dmpadj.f" />
+ <f2c_rule Include="dmpcle.f" />
+ <f2c_rule Include="dmpcnc.f" />
+ <f2c_rule Include="dmpext.f" />
+ <f2c_rule Include="dmpins.f" />
+ <f2c_rule Include="dmpmu.f" />
+ <f2c_rule Include="dmptra.f" />
+ <f2c_rule Include="dpmul.f" />
+ <f2c_rule Include="dpmul1.f" />
+ <f2c_rule Include="dpodiv.f" />
+ <f2c_rule Include="dprxc.f" />
+ <f2c_rule Include="dpsimp.f" />
+ <f2c_rule Include="dwmpmu.f" />
+ <f2c_rule Include="fxshfr.f" />
+ <f2c_rule Include="horner.f" />
+ <f2c_rule Include="idegre.f" />
+ <f2c_rule Include="impcnc.f" />
+ <f2c_rule Include="impext.f" />
+ <f2c_rule Include="impins.f" />
+ <f2c_rule Include="imptra.f" />
+ <f2c_rule Include="mpdegr.f" />
+ <f2c_rule Include="mpdiag.f" />
+ <f2c_rule Include="mpinsp.f" />
+ <f2c_rule Include="mptri.f" />
+ <f2c_rule Include="newest.f" />
+ <f2c_rule Include="nextk.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\polops.f" />
+ <f2c_rule Include="quad.f" />
+ <f2c_rule Include="quadit.f" />
+ <f2c_rule Include="quadsd.f" />
+ <f2c_rule Include="realit.f" />
+ <f2c_rule Include="recbez.f" />
+ <f2c_rule Include="residu.f" />
+ <f2c_rule Include="rpoly.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_bezout.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_coeff.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_degree.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_diag.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_div.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_pclean.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_poly.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_prod.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_psimp.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_roots.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_rsimp.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_sfact.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_simp.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_simpmd.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_sum.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_triu_tril.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_varn.f" />
+ <f2c_rule Include="sfact1.f" />
+ <f2c_rule Include="sfact2.f" />
+ <f2c_rule Include="wdmpad.f" />
+ <f2c_rule Include="wdmpmu.f" />
+ <f2c_rule Include="wmpad.f" />
+ <f2c_rule Include="wmpadj.f" />
+ <f2c_rule Include="wmpcle.f" />
+ <f2c_rule Include="wmpcnc.f" />
+ <f2c_rule Include="wmpins.f" />
+ <f2c_rule Include="wmpmu.f" />
+ <f2c_rule Include="wmptra.f" />
+ <f2c_rule Include="wpmul.f" />
+ <f2c_rule Include="wpmul1.f" />
+ <f2c_rule Include="wpodiv.f" />
+ <f2c_rule Include="wprxc.f" />
+ <f2c_rule Include="writebufsfact.f" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\Makefile.am" />
+ <None Include="..\..\sci_gateway\polynomials_gateway.xml" />
+ <None Include="cacsd_f_Import.def" />
+ <None Include="Core_f_Import.def" />
+ <None Include="Elementary_functions_f_Import.def" />
+ <None Include="Elementary_functions_Import.def" />
+ <None Include="core_import.def" />
+ <None Include="linear_algebra_Import.def" />
+ <None Include="linpack_f_Import.def" />
+ <None Include="output_stream_Import.def" />
+ <None Include="polynomials_Import.def" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="..\..\..\..\Visual-Studio-settings\f2c.targets" />
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/polynomials_f2c.vcxproj.filters b/modules/polynomials/src/fortran/polynomials_f2c.vcxproj.filters
new file mode 100755
index 000000000..9439061b3
--- /dev/null
+++ b/modules/polynomials/src/fortran/polynomials_f2c.vcxproj.filters
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ <Filter Include="Fortran files">
+ <UniqueIdentifier>{e55ddfad-7065-49f2-b140-a387e4569d6e}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{6f18cbe4-21b9-43ab-a195-ce1c999af6d2}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="bezstp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="blktit.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="calcsc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ddmpev.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dimin.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmp2pm.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpad.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpadj.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpcle.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpcnc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpext.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpins.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmpmu.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dmptra.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dpmul.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dpmul1.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dpodiv.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dprxc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dpsimp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dwmpmu.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\elementary_functions\src\c\f2c_workaround.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="fxshfr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="horner.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="idegre.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="impcnc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="impext.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="impins.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="imptra.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mpdegr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mpdiag.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mpinsp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mptri.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="newest.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="nextk.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\polops.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="quad.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="quadit.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="quadsd.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="realit.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="recbez.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="residu.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="rpoly.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_bezout.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_coeff.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_degree.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_diag.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_div.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_pclean.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_poly.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_prod.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_psimp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_roots.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_rsimp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_sfact.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_simp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_simpmd.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_sum.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_triu_tril.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_varn.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="sfact1.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="sfact2.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wdmpad.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wdmpmu.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmpad.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmpadj.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmpcle.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmpcnc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmpins.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmpmu.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wmptra.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wpmul.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wpmul1.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wpodiv.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wprxc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="writebufsfact.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="chkvar.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <f2c_rule Include="bezstp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="blktit.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="calcsc.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="ddmpev.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dimin.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmp2pm.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpad.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpadj.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpcle.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpcnc.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpext.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpins.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmpmu.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dmptra.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dpmul.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dpmul1.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dpodiv.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dprxc.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dpsimp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="dwmpmu.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="fxshfr.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="horner.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="idegre.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="impcnc.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="impext.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="impins.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="imptra.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="mpdegr.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="mpdiag.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="mpinsp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="mptri.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="newest.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="nextk.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\polops.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="quad.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="quadit.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="quadsd.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="realit.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="recbez.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="residu.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="rpoly.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_bezout.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_coeff.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_degree.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_diag.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_div.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_pclean.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_poly.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_prod.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_psimp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_roots.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_rsimp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_sfact.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_simp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_simpmd.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_sum.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_triu_tril.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_varn.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="sfact1.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="sfact2.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wdmpad.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wdmpmu.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmpad.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmpadj.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmpcle.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmpcnc.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmpins.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmpmu.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wmptra.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wpmul.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wpmul1.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wpodiv.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="wprxc.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="writebufsfact.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="chkvar.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\Makefile.am" />
+ <None Include="..\..\sci_gateway\polynomials_gateway.xml" />
+ <None Include="Elementary_functions_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Elementary_functions_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="linear_algebra_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="output_stream_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="polynomials_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="cacsd_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="linpack_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Core_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/polynomials/src/fortran/quad.f b/modules/polynomials/src/fortran/quad.f
new file mode 100755
index 000000000..71dad9208
--- /dev/null
+++ b/modules/polynomials/src/fortran/quad.f
@@ -0,0 +1,52 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine quad(a, b1, c, sr, si, lr, li)
+c calculate the zeros of the quadratic a*z**2+b1*z+c.
+c the quadratic formula, modified to avoid
+c overflow, is used to find the larger zero if the
+c zeros are real and both zeros are complex
+c the smaller real zero is found directly from the
+c product of the zero c/a.
+ double precision a, b1, c, sr, si, lr, li, b,
+ * d, e
+ if (a.ne.0.0d+0) go to 20
+ sr = 0.0d+0
+ if (b1.ne.0.0d+0) sr = -c/b1
+ lr = 0.0d+0
+ 10 si = 0.0d+0
+ li = 0.0d+0
+ return
+ 20 if (c.ne.0.0d+0) go to 30
+ sr = 0.0d+0
+ lr = -b1/a
+ go to 10
+c compute discriminant avoiding overflow
+ 30 b = b1/2.0d+0
+ if (abs(b).lt.abs(c)) go to 40
+ e = 1.0d+0 - (a/b)*(c/b)
+ d = sqrt(abs(e))*abs(b)
+ go to 50
+ 40 e = a
+ if (c.lt.0.0d+0) e = -a
+ e = b*(b/abs(c)) - e
+ d = sqrt(abs(e))*sqrt(abs(c))
+ 50 if (e.lt.0.0d+0) go to 60
+c real zeros
+ if (b.ge.0.0d+0) d = -d
+ lr = (-b+d)/a
+ sr = 0.0d+0
+ if (lr.ne.0.0d+0) sr = (c/lr)/a
+ go to 10
+c complex conjugate zeros
+ 60 sr = -b/a
+ lr = sr
+ si = abs(d/a)
+ li = -si
+ return
+ end
diff --git a/modules/polynomials/src/fortran/quad.lo b/modules/polynomials/src/fortran/quad.lo
new file mode 100755
index 000000000..191c7c7cc
--- /dev/null
+++ b/modules/polynomials/src/fortran/quad.lo
@@ -0,0 +1,12 @@
+# src/fortran/quad.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/quad.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/quadit.f b/modules/polynomials/src/fortran/quadit.f
new file mode 100755
index 000000000..33b132bc4
--- /dev/null
+++ b/modules/polynomials/src/fortran/quadit.f
@@ -0,0 +1,92 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine quadit(uu, vv, nz)
+c variable-shift k-polynomial iteration for a
+c quadratic factor converges only if the zeros are
+c equimodular or nearly so.
+c uu,vv - coefficients of starting quadratic
+c nz - number of zero found
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a, b, c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ real eta, are, mre
+ integer n, nn
+ double precision ui, vi, uu, vv
+ real mp, omp, ee, relstp, t, zm
+ integer nz, type, i, j
+ logical tried
+ nz = 0
+ tried = .false.
+ u = uu
+ v = vv
+ j = 0
+c main loop
+ 10 call quad(1.0d+0, u, v, szr, szi, lzr, lzi)
+c return if roots of the quadratic are real and not
+c close to multiple or nearly equal and of opposite
+c sign
+ if (abs(abs(szr)-abs(lzr)).gt.0.010d+0*
+ * abs(lzr)) return
+c evaluate polynomial by quadratic synthetic division
+ call quadsd(nn, u, v, p(1), qp(1), a, b)
+ mp = abs(a-szr*b) + abs(szi*b)
+c compute a rigorous bound on the rounding error in
+c evaluting p
+ zm = sqrt(abs(real(v)))
+ ee = 2.*abs(real(qp(1)))
+ t = -szr*b
+ do 20 i=2,n
+ ee = ee*zm + abs(real(qp(i)))
+ 20 continue
+ ee = ee*zm + abs(real(a)+t)
+ ee = (5.*mre+4.*are)*ee - (5.*mre+2.*are)*
+ * (abs(real(a)+t)+abs(real(b))*zm) +
+ * 2.*are*abs(t)
+c iteration has converged sufficienty if the
+c polynomial value is less than 20 times this bound
+ if (mp.gt.20.*ee) go to 30
+ nz = 2
+ return
+ 30 j = j + 1
+c stop iteration after 20 steps
+ if (j.gt.20) return
+ if (j.lt.2) go to 50
+ if (relstp.gt..01 .or. mp.lt.omp .or. tried)
+ * go to 50
+c a cluster appears to be stalling the convergence.
+c five fixed shift steps are taken with a u,v close
+c to the cluster
+ if (relstp.lt.eta) relstp = eta
+ relstp = sqrt(relstp)
+ u = u - u*relstp
+ v = v + v*relstp
+ call quadsd(nn, u, v, p(1), qp(1), a, b)
+ do 40 i=1,5
+ call calcsc(type)
+ call nextk(type)
+ 40 continue
+ tried = .true.
+ j = 0
+ 50 omp = mp
+c calculate next k polynomial and new u and v
+ call calcsc(type)
+ call nextk(type)
+ call calcsc(type)
+ call newest(type, ui, vi)
+c if vi is zero the iteration is not converging
+ if (vi.eq.0.0d+0) return
+ relstp = abs((vi-v)/vi)
+ u = ui
+ v = vi
+ go to 10
+ end
diff --git a/modules/polynomials/src/fortran/quadit.lo b/modules/polynomials/src/fortran/quadit.lo
new file mode 100755
index 000000000..34613f5b5
--- /dev/null
+++ b/modules/polynomials/src/fortran/quadit.lo
@@ -0,0 +1,12 @@
+# src/fortran/quadit.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/quadit.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/quadsd.f b/modules/polynomials/src/fortran/quadsd.f
new file mode 100755
index 000000000..0f4593cf3
--- /dev/null
+++ b/modules/polynomials/src/fortran/quadsd.f
@@ -0,0 +1,26 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=QUADSD,SSI=0
+ subroutine quadsd(nn, u, v, p, q, a, b)
+c divides p by the quadratic 1,u,v placing the
+c quotient in q and the remainder in a,b
+ double precision p(nn), q(nn), u, v, a, b, c
+ integer i
+ b = p(1)
+ q(1) = b
+ a = p(2) - u*b
+ q(2) =a
+ do 10 i=3,nn
+ c = p(i) - u*a - v*b
+ q(i) =c
+ b = a
+ a = c
+ 10 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/quadsd.lo b/modules/polynomials/src/fortran/quadsd.lo
new file mode 100755
index 000000000..891ea8617
--- /dev/null
+++ b/modules/polynomials/src/fortran/quadsd.lo
@@ -0,0 +1,12 @@
+# src/fortran/quadsd.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/quadsd.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/realit.f b/modules/polynomials/src/fortran/realit.f
new file mode 100755
index 000000000..eecf828f0
--- /dev/null
+++ b/modules/polynomials/src/fortran/realit.f
@@ -0,0 +1,100 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine realit(sss, nz, iflag)
+c variable-shift h polynomial iteration for a real
+c zero.
+c sss - starting iterate
+c nz - number of zero found
+c iflag - flag to indicate a pair of zero near real
+c axis.
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a, b, c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ real eta, are, mre
+ integer n, nn
+ double precision pv, kv, t, s, sss
+ real ms, mp, omp, ee
+ integer nz, iflag, i, j, nm1
+ nm1 = n - 1
+ nz = 0
+ s = sss
+ iflag = 0
+ j = 0
+c main loop
+ 10 pv = p(1)
+c evaluate p at s
+ qp(1) = pv
+ do 20 i=2,nn
+ pv = pv*s + p(i)
+ qp(i) = pv
+ 20 continue
+ mp = abs(pv)
+c compute a rigorous bound on the error in evaluating
+c p
+ ms = abs(s)
+ ee = (mre/(are+mre))*abs(real(qp(1)))
+ do 30 i=2,nn
+ ee = ee*ms + abs(real(qp(i)))
+ 30 continue
+c iteration has converges sufficiently if the
+c polynomial value is less yhan 20 times this bound
+ if (mp.gt.20.*((are+mre)*ee-mre*mp)) go to 40
+ nz = 1
+ szr = s
+ szi = 0.0d+0
+ return
+ 40 j = j +1
+c stop iteration after 10 steps
+ if (j.gt.10) return
+ if (j.lt.2) go to 50
+ if (abs(t).gt..001*abs(s-t) .or. mp.le.omp)
+ * go to 50
+c a cluster of zeros near the real axis has been
+c encountered return with iflag set to initiate a
+c quadratic iteration
+ iflag = 1
+ sss = s
+ return
+c return if the polynomial value has increased
+c significantly
+ 50 omp = mp
+c compute t, the next polynomial, and the new iterate
+ kv = k(1)
+ qk(1) = kv
+ do 60 i=2,n
+ kv = kv*s + k(i)
+ qk(i) = kv
+ 60 continue
+ if (abs(kv).le.abs(k(n))*10.*eta) go to 80
+c use the scaled form of the recurrence if the value
+c of k at s is nonzero
+ t = -pv/kv
+ k(1) = qp(1)
+ do 70 i=2,n
+ k(i) = t*qk(i-1) + qp(i)
+ 70 continue
+ go to 100
+c use unscaled form
+ 80 k(1) = 0.0d+0
+ do 90 i=2,n
+ k(i) = qk(i-1)
+ 90 continue
+ 100 kv = k(1)
+ do 110 i=2,n
+ kv = kv*s +k(i)
+ 110 continue
+ t = 0.0d+0
+ if (abs(kv).gt.abs(k(n))*10.*eta) t = -pv/kv
+ s = s + t
+ go to 10
+ end
diff --git a/modules/polynomials/src/fortran/realit.lo b/modules/polynomials/src/fortran/realit.lo
new file mode 100755
index 000000000..0705b3abc
--- /dev/null
+++ b/modules/polynomials/src/fortran/realit.lo
@@ -0,0 +1,12 @@
+# src/fortran/realit.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/realit.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/recbez.f b/modules/polynomials/src/fortran/recbez.f
new file mode 100755
index 000000000..9197508b3
--- /dev/null
+++ b/modules/polynomials/src/fortran/recbez.f
@@ -0,0 +1,240 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1989-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine recbez(A,n,B,m,best,ipb,w,err)
+c!but
+c calcule la factorisation de bezout de deux polynomes A,B c'est a dire
+c les polynomes x,y,u, v et pgcd de degre minimal et tels que :
+c [x u]
+c [A B] * [ ] = [0 Pgcd]
+c [y v]
+c!liste d'appel
+c subroutine recbez(A,n,B,m,best,ipb,w,err)
+c double precision A(n+1),B(m+1),w(*),best(*),err
+c
+c A : vector of A polynomial coefficients, in increasing degrees order
+c n : degree of A polynomial
+c B : vector of B polynomial coefficients, in increasing degrees order
+c m : degree of B polynomial
+c
+c best : Array where the result is stored
+c (2*(n+m)+min(n,m)+3) [gcd u,v,x,y]
+c gcd=best(1:ipb(2)-1),
+c u=best(ipb(2):ipb(3)-1) v=best(ipb(3):ipb(4)-1)
+c x=best(ipb(4):ipb(5)-1) y=best(ipb(5):ipb(6)-1)
+c ipb : integer array that gives the way gcd u,v,x,y are stored in best
+c w: working array w(7*n0+3*n0*n0) ou n0=max(n,m)+1
+c err : estimated equation error
+c! method
+c If A and B are polynomials of degree m and n : A in R[x] , B in R[x]
+c n m
+c The application: (P,Q) in R[x] x R[x] --> P*A+Q*B in R[x]
+c m-l n-l n+m-l
+c
+c is linear. It can be represented by a linear application from
+c R^(n+m-2*l+2) to R^(n+m-l+1) X--> X*S. Let call S the matrix S
+c of this linear application. If l=1 this is the Sylvester matrix.
+c example for A of degree 5 (n=5) and B of degree 4 (m=4) and l=2.
+c [A_0 A_1 A_2 A_3 A_4 A_5 0 0]
+c [ 0 A_0 A_1 A_2 A_3 A_4 A_5 0]
+c [ 0 0 A_0 A_1 A_2 A_3 A_4 A_5]
+c S = [B_0 B_1 B_2 B_3 B_4 0 0 0]
+c [ 0 B_0 B_1 B_2 B_3 B_4 0 0]
+c [ 0 0 B_0 B_1 B_2 B_3 B_4 0]
+c [ 0 0 0 B_0 B_1 B_2 B_3 B_4]
+c
+c X = [P_0 P_1 P_2 Q_0 Q_1 Q_2 Q_3]
+c The greater l for which S becomes not full rank is the GCD degree.
+c The kernel of S then gives the x and y value
+c The GCD is the element of the image of S that has the smaller
+c degree.
+c The determination of the S rank is a difficult problem. To avoid
+c the use of a tolerance The algorithm try all l from min(m,n)-1 to
+c 1. and keeps the solution that minimise a criterion based on
+c forward equation errors ||A*x+B*y|| and ||A*u+B*V-GCD|| and
+c backward equation errors ||y*CGD+A|| and ||x*GCD-B||
+c Finally instead of computing QR decomposition of each S matrices a
+c recursive method is used that updates previous QR decomposition
+c using givens rotations. This algorithm also requires to store only
+c a matrix which has max(m,n)+1 columns.
+c
+c! called routines
+c dest dcopy bezstp dlamch
+ double precision A(n+1),B(m+1),w(*),best(*),err
+ double precision dlamch
+ integer ipb(6)
+c
+ integer nn,mm
+c
+ err=dlamch('o')
+ nn = n
+ mm = m
+c
+c compute the true degree for A and B taking care of 0 higer degree
+c
+ nn=n+1
+ 01 nn=nn-1
+ if(nn.lt.0) goto 30
+ if(A(nn+1).eq.0.0d+0) goto 01
+c
+ mm=m+1
+ 02 mm=mm-1
+ if(mm.lt.0) goto 30
+ if(B(mm+1).eq.0.0d+0) goto 02
+c
+ n0=max(nn,mm)+1
+ n02=n0*(n0+1)
+c leading dimension of the S matrix
+ ldS=n0+1
+c leading dimension of the Q matrix of the QR factorization
+ ldQ=n0+1
+
+c allocate working arrays
+c start index of S array in w
+ iS=1
+c start index of Q array in w
+ iQ=iS+n02
+c start index of working array for bezstp
+ iw=iQ+2*n02
+ ifree=iw+7*n0
+
+c initialize S (n0+1) x n0 matrix array. Take care that it is a
+c compact form of the S matrix described in the method part.
+
+ call dset(n02,0.0d+0,w(iS),1)
+c the last 2 rows form the current S matrix
+c lS points to the beginning of last row
+c and lS-1 to the beginning of the previous one
+ lS=iS-1+ldS
+c initialize with x and y of degree 0
+c [0 ]
+c S= [coeff(A)]
+c [coeff(B)]
+c no
+
+ call dcopy(nn+1,A,1,w(lS-1),ldS)
+ call dcopy(mm+1,B,1,w(lS),ldS)
+
+c initialize U (n0+1) x (2*n0) array
+c [0...0|0...0 0 0]
+c U= [0...0|0...0 1 0]
+c [0...0|0...0 0 1]
+C n0 n0
+ call dset(2*n02,0.0d+0,w(iQ),1)
+ lQ=iQ-1+ldQ+2*n0*ldQ
+c the last 2 rows form the current Q matrix
+ call dset(2,1.0d+0,w(lQ-1-2*ldQ),ldQ+1)
+
+c loop on GCD degree degree(gcd)=n0+1-l
+ do 20 l=1,n0
+ lS=lS-1
+ lQ=lQ-1-2*ldQ
+ lx=lS-1+ldS
+ lv=lQ-1-2*ldQ
+c . lS : points on the upper left corner of the current A matrix,
+c . lQ : points on the upper left corner of the current Q matrix
+ call bezstp(A,nn,B,mm,w(lS),ldS,w(lQ),ldQ,l,w(lx),
+ $ w(lv),w(iw),best,ipb,err)
+ 20 continue
+ return
+
+
+ 30 continue
+c Handle special cases at least one polynomial is a scalar
+ err=0.0d+0
+ ipb(1)=1
+ if(min(nn,mm).eq.0) goto 70
+ CRES=nn-mm
+ if (CRES .lt. 0) then
+ goto 40
+ elseif (CRES .eq. 0) then
+ goto 50
+ else
+ goto 60
+ endif
+ 40 continue
+c A=0
+ np=mm
+ call dcopy(mm+1,B,1,best(1),1)
+ ipb(2)=ipb(1)+mm+1
+ best(ipb(2))=0.0d+0
+ ipb(3)=ipb(2)+1
+ best(ipb(3))=1.0d+0
+ ipb(4)=ipb(3)+1
+ best(ipb(4))=1.0d+0
+ ipb(5)=ipb(4)+1
+ best(ipb(5))=0.0d+0
+ ipb(6)=ipb(5)+1
+ return
+ 50 continue
+c A=0,B=0 la decomposition n'est pas definie
+ np=0
+ best(1)=0.0d+0
+ ipb(2)=ipb(1)+1
+ best(ipb(2))=1.0d+0
+ ipb(3)=ipb(2)+1
+ best(ipb(3))=0.0d+0
+ ipb(4)=ipb(3)+1
+ best(ipb(4))=0.0d+0
+ ipb(5)=ipb(4)+1
+ best(ipb(5))=1.0d+0
+ ipb(6)=ipb(5)+1
+ return
+ 60 continue
+c B=0
+ np=nn
+ call dcopy(nn+1,A,1,best(1),1)
+ ipb(2)=ipb(1)+nn+1
+ best(ipb(2))=1.0d+0
+ ipb(3)=ipb(2)+1
+ best(ipb(3))=0.0d+0
+ ipb(4)=ipb(3)+1
+ best(ipb(4))=0.0d+0
+ ipb(5)=ipb(4)+1
+ best(ipb(5))=1.0d+0
+ ipb(6)=ipb(5)+1
+ return
+c
+ 70 best(1)=1.0d+0
+ ipb(2)=2
+ CRES=nn-mm
+ if (CRES .lt. 0) then
+ goto 90
+ elseif (CRES .eq. 0) then
+ goto 95
+ else
+ goto 100
+ endif
+ 90 continue
+c A=cte
+ best(ipb(2))=1.0d+0/A(1)
+ ipb(3)=ipb(2)+1
+ best(ipb(3))=0.0d+0
+ ipb(4)=ipb(3)+1
+ call dcopy(mm+1,B,1,best(ipb(4)),1)
+ ipb(5)=ipb(4)+mm+1
+ best(ipb(5))=-A(1)
+ ipb(6)=ipb(5)+1
+ return
+ 95 continue
+c A=cte,B=cte
+ if(abs(A(1)).gt.abs(B(1))) goto 90
+c
+ 100 continue
+c B=cte
+ best(ipb(2))=0.0d+0
+ ipb(3)=ipb(2)+1
+ best(ipb(3))=1.0d+0/B(1)
+ ipb(4)=ipb(3)+1
+ best(ipb(4))=-B(1)
+ ipb(5)=ipb(4)+1
+ call dcopy(nn+1,A,1,best(ipb(5)),1)
+ ipb(6)=ipb(5)+nn+1
+ return
+c
+ end
diff --git a/modules/polynomials/src/fortran/recbez.lo b/modules/polynomials/src/fortran/recbez.lo
new file mode 100755
index 000000000..4203facae
--- /dev/null
+++ b/modules/polynomials/src/fortran/recbez.lo
@@ -0,0 +1,12 @@
+# src/fortran/recbez.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/recbez.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/residu.f b/modules/polynomials/src/fortran/residu.f
new file mode 100755
index 000000000..77c7e49eb
--- /dev/null
+++ b/modules/polynomials/src/fortran/residu.f
@@ -0,0 +1,137 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Francois DELBECQUE
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine residu(p,np,a,na,b,nb,v,tol,ierr)
+c but! calcul de residus
+c calcul de la somme des residus de p/(a.b)
+c aux zeros de a
+c p=polynome de degre np
+c a= na
+c b= nb
+c
+c les zeros de b sont supposes tous differents des
+c zeros de a....
+c
+c a,b et p dimensionnes au moins a leur degre+1 dans le pgm
+c appelant.
+c rangement par degres croissants.
+c v=resultat
+c ierr=0 O.K.
+c ierr=1 mauvais appel
+c si a et b ont une racine commune
+c on teste la division par zero par rapport a tol
+c principe du calcul:si a (resp b) est une constante on a
+c v=p(nb)/b(nb+1)/a(1) (resp v=p(na)/a(na+1)/b(1) )
+c sinon on remplace p et a par le reste de la division
+c euclidienne de p et a par b,puis on inverse les roles
+c de a et b en changeant le signe de v.
+c on itere jusqu a trouver degre de a ou degre de b=0.
+c routines appelees:dpodiv,idegre (bibli blaise Inria)
+c
+ dimension a(*),b(*),p(*)
+ double precision a,b,p,v,r,b1,tol
+ v=0.0d+0
+ ierr=0
+ npp=np
+ call idegre(a,na,na)
+ call idegre(b,nb,nb)
+ if(na.eq.0) return
+c
+c b=constante v=... et return
+ if(nb.eq.0) then
+ b1=b(1)
+ if(b1.eq.0.0d+0) then
+ ierr=1
+ return
+ endif
+ if(npp.ge.na-1) then
+ v=p(na)/a(na+1)/b1
+ return
+ else
+ v=0.0d+0
+ return
+ endif
+ endif
+c
+c degre de b >= 1
+c
+ if(na.le.np) then
+c p=p/a (reste de la division euclidienne...)
+ call dpodiv(p,a,np,na)
+ call idegre(p,na-1,np)
+ endif
+ if(na.le.nb) then
+c b=b/a (reste de la div euclidienne...)
+ call dpodiv(b,a,nb,na)
+ call idegre(b,na-1,nb)
+ endif
+c ici nb=degre de b < na=degre de a
+c et np=degre de p < na=degre de a
+c si degre de a=1 (b et p =cstes) v=... et return
+ if(na.eq.1) then
+ b1=b(1)
+ if(abs(b1).le.tol) then
+ ierr=1
+ return
+ endif
+ v=p(na)/a(na+1)/b1
+ return
+ endif
+c
+c si degre de b=0 v=... et return
+ call idegre(b,min(na-1,nb),nb)
+ if(nb.eq.0) then
+ b1=b(1)
+ if(abs(b1).le.tol) then
+ ierr=1
+ return
+ endif
+ if(npp.ge.na-1) then
+ v=p(na)/a(na+1)/b1
+ return
+ else
+ v=0.0d+0
+ return
+ endif
+ endif
+c si degre de b>0 on itere
+ nit=0
+ 20 continue
+ if(nit.ge.1) na=nbb
+ nit=nit+1
+ nbb=nb
+c a=a/b (reste de la division euclidienne...)
+c p=p/b (reste de la division euclidienne...)
+c
+ call dpodiv(a,b,na,nb)
+ call idegre(a,nb-1,na)
+ call dpodiv(p,b,np,nb)
+ call idegre(p,nb-1,np)
+c b=-a
+ do 30 k=1,nb+1
+ r=b(k)
+ b(k)=-a(k)
+ a(k)=r
+ 30 continue
+c
+c si degre de b=0 v=...
+c
+ call idegre(b,na,nb)
+ if(nb.eq.0) then
+ b1=b(1)
+ if(abs(b1).le.tol) then
+ ierr=1
+ v=0.0d+0
+ return
+ endif
+ v=p(nbb)/a(nbb+1)/b1
+ return
+ endif
+c sinon goto 20
+ goto 20
+ end
diff --git a/modules/polynomials/src/fortran/residu.lo b/modules/polynomials/src/fortran/residu.lo
new file mode 100755
index 000000000..802a6b8c0
--- /dev/null
+++ b/modules/polynomials/src/fortran/residu.lo
@@ -0,0 +1,12 @@
+# src/fortran/residu.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/residu.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/rpoly.f b/modules/polynomials/src/fortran/rpoly.f
new file mode 100755
index 000000000..8fc12514a
--- /dev/null
+++ b/modules/polynomials/src/fortran/rpoly.f
@@ -0,0 +1,276 @@
+c
+c From NETLIB : TOMS/493
+c Based on Jenkins-Traub algorithm :
+c http://en.wikipedia.org/wiki/Jenkins-Traub_method
+c
+ subroutine rpoly(op, degree, zeror, zeroi, fail)
+c!purpose
+c finds the zeros of a real polynomial
+c!calling sequence
+c op - double precision vector of coefficients in
+c order of decreasing powers.
+c degree - integer degree of polynomial.
+c zeror, zeroi - output double precision vectors of
+c real and imaginary parts of the
+c zeros.
+c fail - output parameter,
+c 2 if leading coefficient is zero
+c 1 for non convergence or if rpoly
+c has found fewer than degree zeros.
+c in the latter case degree is reset to
+c the number of zeros found.
+c 3 if degree>100
+c!comments
+c to change the size of polynomials which can be
+c solved, reset the dimensions of the arrays in the
+c common area and in the following declarations.
+c the subroutine uses single precision calculations
+c for scaling, bounds and error calculations. all
+c calculations for the iterations are done in double
+c precision.
+c!
+ external dlamch,slamch
+ double precision dlamch
+ real slamch
+c
+ common /gloglo/ p, qp, k, qk, svk, sr, si, u,
+ * v, a, b, c, d, a1, a2, a3, a6, a7, e, f, g,
+ * h, szr, szi, lzr, lzi, eta, are, mre, n, nn
+ double precision p(101), qp(101), k(101),
+ * qk(101), svk(101), sr, si, u, v, a, b, c, d,
+ * a1, a2, a3, a6, a7, e, f, g, h, szr, szi,
+ * lzr, lzi
+ double precision op(*), temp(101),
+ * zeror(*), zeroi(*), t, aa, bb, cc,factor
+ real ptt(101), lo, maxi, mini, xx, yy, cosr,
+ * sinr, xxx, x, sc, bnd, xm, ff, df, dx, infin,
+ * smalno, base,eta,are,mre
+ integer degree, cnt, nz, i, j, jj, nm1, n, nn
+ logical zerok
+ integer fail
+c
+ real ZERO
+ parameter (ZERO = 0.0E+0)
+
+ if(degree.gt.100) goto 300
+c the following statements set machine constants used
+c in various parts of the program. the meaning of the
+c four constants are...
+c eta the maximum relative representation error
+c which can be described as the smallest
+c positive floating point number such that
+c 1.do+eta is greater than 1.
+c infiny the largest floating-point number.
+c smalno the smallest positive floating-point number
+c if the exponent range differs in single and
+c double precision then smalno and infin
+c should indicate the smaller range.
+c base the base of the floating-point number
+c system used.
+
+c
+c Rely on compiler instead of Lapack
+c slamch function does not work under macosX
+c replace this by compiler stuffs working on each platform
+c http://www.netlib.org/lapack/util/slamch.f
+c
+c slamch('u') <=> TINY(ZERO)
+ smalno=TINY(ZERO)
+c slamch('o') <=> HUGE(ZERO)
+ infin=HUGE(ZERO)
+c slamch('b') <=> RADIX(ZERO)
+ base=RADIX(ZERO)
+ eta=real(dlamch('p'))
+c are and mre refer to the unit error in + and *
+c respectively. they are assumed to be the same as
+c eta.
+ are = eta
+ mre = eta
+ lo = smalno/eta
+c initialization of constants for shift rotation
+ xx = 0.707106780d+0
+ yy = -xx
+ cosr = -0.0697564740d+0
+ sinr = 0.997564050d+0
+ fail = 0.
+ n = degree
+ nn = n + 1
+c algorithm fails if the leading coefficient is zero.
+ if (op(1).ne.0.0d+0) go to 10
+ fail = 2
+ degree = 0
+ return
+c make a copy of the coefficients
+ 10 do 20 i=1,nn
+ p(i) = op(i)
+ 20 continue
+c remove the zeros at the origin if any
+ 30 if (p(nn).ne.0.0d+0) go to 40
+ j = degree - n + 1
+ zeror(j) = 0.0d+0
+ zeroi(j) = 0.0d+0
+ nn = nn - 1
+ n = n - 1
+ go to 30
+c start the algorithm for one zero
+ 40 if (n.gt.2) go to 60
+ if (n.lt.1) return
+c calculate the final zero or pair zeros
+ if (n.eq.2) go to 50
+ zeror(degree) = - p(2)/p(1)
+ zeroi(degree) = 0.0d+0
+ return
+ 50 call quad(p(1), p(2), p(3), zeror(degree-1),
+ * zeroi(degree-1), zeror(degree), zeroi(degree))
+ return
+c find largest and smallest moduli of coefficients.
+ 60 maxi = 0.
+ mini = infin
+ do 70 i=1,nn
+ x = abs(real(p(i)))
+ if (x.gt.maxi) maxi = x
+ if (x.ne.0. .and. x.lt.mini) mini = x
+ 70 continue
+C maxi=min(infin,maxi) bug "f77 -mieee-with-inexact"
+ if (infin.lt.maxi) maxi=infin
+c scale if there are large or very small coefficients
+c computes a scale factor to multiply the
+c coefficients of the polynomial. the scaling is done
+c to avoid overflow and to avoid undetected underflow
+c interfering with the convergence criterion.
+c the factor is a power of the base
+ sc = lo/mini
+ if (sc.gt.1.0) go to 80
+ if (maxi.lt.10.) go to 110
+ if (sc.eq.0.) sc = smalno
+ go to 90
+ 80 if (infin/sc.lt.maxi) go to 110
+ 90 l = log(sc)/log(base) + .5
+ factor = (base*1.0d+0)**l
+ if (factor.eq.1.0d+0) go to 110
+ do 100 i=1,nn
+ p(i) = factor*p(i)
+ 100 continue
+c compute lower bound on moduli of zeros.
+ 110 do 120 i=1,nn
+c ptt(i) = min(infin,abs(real(p(i)))) bug "f77 -mieee-with-inexact"
+ ptt(i) = abs(real(p(i)))
+ if (infin.lt.abs(real(p(i)))) ptt(i)=infin
+ 120 continue
+ ptt(nn) = -ptt(nn)
+c compute upper estimate of bound
+ x = exp((log(-ptt(nn))-log(ptt(1)))/real(n))
+ if (ptt(n).eq.0.) go to 130
+c if newton step at the origin is better, use it.
+ xm = -ptt(nn)/ptt(n)
+ if (xm.lt.x) x = xm
+c chop the interval (0,x) until ff .le. 0
+ 130 xm = x*.1
+ ff = ptt(1)
+ do 140 i=2,nn
+ ff = ff*xm + ptt(i)
+ 140 continue
+ if (ff.le.0) go to 150
+ if(ff.gt.infin) goto 310
+ x = xm
+ go to 130
+ 150 dx = x
+c do newton iteration until x converges to two
+c decimal places
+ 160 if (abs(dx/x).le..005) go to 180
+ ff = ptt(1)
+ df = ff
+ do 170 i=2,n
+ ff = ff*x + ptt(i)
+ df = df*x + ff
+ 170 continue
+ ff = ff*x + ptt(nn)
+ if(ff.gt.infin) goto 310
+ dx = ff/df
+ x = x - dx
+ go to 160
+ 180 bnd = x
+c compute the derivative as the intial k polynomial
+c and do 5 steps with no shift
+ nm1 = n - 1
+ do 190 i=2,n
+ k(i) = real(nn-i)*p(i)/real(n)
+ 190 continue
+ k(1) = p(1)
+ aa = p(nn)
+ bb = p(n)
+ zerok = k(n).eq.0.0d+0
+ do 230 jj=1,5
+ cc = k(n)
+ if (zerok) go to 210
+c use scaled form of recurrence if value of k at 0 is
+c nonzero
+ t = -aa/cc
+ do 200 i=1,nm1
+ j = nn - i
+ k(j) = t*k(j-1) + p(j)
+ 200 continue
+ k(1) = p(1)
+ zerok = abs(k(n)).le.abs(bb)*eta*10.
+ go to 230
+c use unscaled form form of recurrence
+ 210 do 220 i=1,nm1
+ j = nn - i
+ k(j) = k(j-1)
+ 220 continue
+ k(1) = 0.0d+0
+ zerok = k(n).eq.0.0d+0
+ 230 continue
+c save k for restarts with new shifts
+ do 240 i=1,n
+ temp(i) = k(i)
+ 240 continue
+c loop to select the quadratic corresponding to each
+c new shift
+ do 280 cnt=1,20
+c quadratic corresponds to a double shift to a
+c non-real point and its complex conjugate. the point
+c has modulus bnd and amplitude rotated by 94 degrees
+c from the previous shift
+ xxx = cosr*xx - sinr*yy
+ yy = sinr*xx + cosr*yy
+ xx = xxx
+ sr = bnd*xx
+ si = bnd*yy
+ u = -2.0d+0*sr
+ v = bnd
+c second stage calculation, fixed quadratic
+ call fxshfr(20*cnt, nz)
+ if (nz.eq.0) go to 260
+c the second stage jumps directly to one of the third
+c stage iterations and returns here if successful.
+c deflate the polynomial, store the zero or zeros and
+c return to the main algorithm.
+ j = degree - n + 1
+ zeror(j) = szr
+ zeroi(j) = szi
+ nn = nn - nz
+ n = nn - 1
+ do 250 i=1,nn
+ p(i) = qp(i)
+ 250 continue
+ if (nz.eq.1) go to 40
+ zeror(j+1) = lzr
+ zeroi(j+1) = lzi
+ go to 40
+c if the iteration is unsuccessful another quadratic
+c is chosen after restoring k
+ 260 do 270 i=1,n
+ k(i) = temp(i)
+ 270 continue
+ 280 continue
+c return with failure if no convergence with 20
+c shifts
+ fail = 1
+ degree = degree - n
+ return
+ 300 fail=3
+ return
+ 310 fail=1
+ return
+ end
diff --git a/modules/polynomials/src/fortran/rpoly.lo b/modules/polynomials/src/fortran/rpoly.lo
new file mode 100755
index 000000000..6a55b5012
--- /dev/null
+++ b/modules/polynomials/src/fortran/rpoly.lo
@@ -0,0 +1,12 @@
+# src/fortran/rpoly.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/rpoly.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/sfact1.f b/modules/polynomials/src/fortran/sfact1.f
new file mode 100755
index 000000000..4d4da77e2
--- /dev/null
+++ b/modules/polynomials/src/fortran/sfact1.f
@@ -0,0 +1,132 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1986-2008 - INRIA - Francois DELBECQUE
+c Copyright (C) 1990-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine sfact1(b,n,w,maxit,ierr)
+c!but
+c on cherche une factorisation spectrale d'un polynome a donne
+c par : a*(a(1/z) = b(n)*z**-n+....+b(0)+ ... +b(n)*z**n
+c!liste d'appel
+c subroutine sfact1(b,n,w,maxit,ierr)
+c
+c double precision b(n+1),w(6*(n+1))
+c integer n,maxit,ierr
+c
+c b : contient les coeffs b(n),b(n-1),....,b(0)
+c apres execution b contient les coeff du resultat
+c n : degre de a
+c w : tableau de travail de taille 6*(n+1)
+c maxit : nombre maxi d'iterations admis
+c ierr : indicateur d'erreur
+c si ierr=0 : ok
+c si ierr<0 : convergence a 10**ierr pres
+c si ierr=1 : non convergence
+c si ierr=2 : b(0) est negatif ou nul.
+c
+c!origine
+c V Kucera : Discrete Linear control (john Wiley& Sons) 1979
+c!
+ dimension b(n+1),w(*)
+ double precision b,b0,w,a0,temp,b00,s,dlamch,eps,best
+c
+ eps=dlamch('p')*10.0d+0
+c
+ lb=n+1
+ ierr=0
+c
+ lomeg=1
+ lalpha=lomeg+lb
+ lro=lalpha+lb
+ leta=lro+lb
+ lbold=leta+lb
+ lambda=lbold+lb
+ lsave=lambda+lb
+c
+ call dcopy(lb,b,-1,w(lbold),1)
+ call dcopy(lb,w(lbold),1,b,1)
+ b00=w(lbold)
+ if(b00.le.0.0d+0) goto 91
+ b0=sqrt(b00)
+ do 1 j=1,lb
+ w(lalpha-1+j)=b(j)/b0
+ 1 continue
+c
+ do 40 i=1,maxit
+c
+ call dcopy(lb,w(lbold),1,b,1)
+ call dcopy(lb,w(lalpha),1,w(lomeg),1)
+c premier tableau
+ do 15 k=1,lb-1
+ call dcopy(lb-k+1,w(lalpha),-1,w(lro),1)
+ w(lambda+k-1)=w(lalpha+lb-k)/w(lro+lb-k)
+ do 11 j=1,lb-k
+ w(lalpha-1+j)=w(lalpha-1+j)-w(lambda+k-1)*w(lro+j-1)
+ 11 continue
+ a0=w(lalpha)
+c calcul de eta
+ w(leta+lb-k)=2.0d+0*b(lb-k+1)/a0
+ if (k.lt.lb-1) then
+ do 12 j=2,lb-k
+ b(j)=b(j)-0.50d+0*w(leta+lb-k)*w(lalpha+lb-k-j+1)
+ 12 continue
+ endif
+ 15 continue
+ w(leta)=b(1)/w(lalpha)
+c deuxieme tableau
+ do 21 k=lb-1,1,-1
+ call dcopy(lb-k+1,w(leta),-1,b,1)
+ do 19 j=1,lb-k+1
+ w(leta+j-1)=w(leta+j-1)-w(lambda+k-1)*b(j)
+ 19 continue
+ 21 continue
+ s=0.0d+0
+ do 22 j=1,lb
+ w(lalpha-1+j)=0.50d+0*(w(leta+j-1)+w(lomeg+j-1))
+ s=s+w(lalpha-1+j)*w(lalpha-1+j)
+ 22 continue
+c
+c test de convergence
+
+c calcul de l'erreur element par elements
+c$$$ call dcopy(lb,w(lbold),-1,b,1)
+c$$$ do 900 iii=0,n
+c$$$ x=b(iii+1)-ddot(iii+1,w(lalpha),1,w(lalpha+n-iii),1)
+c$$$ write(6,'(10x,e10.3,'','',e10.3,'';'')') x,b(1+iii)
+c$$$ 900 continue
+
+ temp=abs(s-b00)/b00
+ if(temp.le.eps) goto 50
+ if(i.eq.1) best=temp
+ if(temp.lt.best) then
+ call dcopy(lb,w(lalpha),1,w(lsave),1)
+ best=temp
+ endif
+ 40 continue
+ goto 90
+c
+ 50 do 51 i=1,lb
+ b(i)=w(lalpha-1+i)
+ 51 continue
+ return
+c
+c retours en erreur
+c
+ 90 continue
+ if(best.le.1.d-3) then
+ call dcopy(lb,w(lsave),1,b,1)
+ ierr=nint(log10(best))
+ else
+c non convergence
+ ierr=1
+ endif
+ return
+ 91 continue
+c b00 est negatif ou nul
+ ierr=2
+ return
+ end
diff --git a/modules/polynomials/src/fortran/sfact1.lo b/modules/polynomials/src/fortran/sfact1.lo
new file mode 100755
index 000000000..a4bf516a1
--- /dev/null
+++ b/modules/polynomials/src/fortran/sfact1.lo
@@ -0,0 +1,12 @@
+# src/fortran/sfact1.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sfact1.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/sfact2.f b/modules/polynomials/src/fortran/sfact2.f
new file mode 100755
index 000000000..f3848b0c8
--- /dev/null
+++ b/modules/polynomials/src/fortran/sfact2.f
@@ -0,0 +1,197 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=SFACT2,SSI=0
+c Copyright INRIA
+ subroutine sfact2(b,l,n,matg,maxit,ierr)
+c
+c!but
+c Etant donnee la matrice bloc :[B0, ..., B(n-1), B(n)]
+c ou les Bi sont les coefficients (de degre i) du produit
+c de la matrice polynomiale A par A'(1/z)
+c
+c alors cette subroutine produit les coefficients d'une
+c matrice polynomiale Hurwitz D, qui est le facteur
+c spectrale gauche associe a A, tel que A*A'(1/z)=D*D'(1/z)
+c (ou D=D0+D1*d+ ... +Dn*(d**n)).
+c
+c!methode
+c La methode de factorisation spectrale donnee ici est basee
+c dans la methode de factorisation de Cholesky. Elle est
+c iterative et asuure les convergences monotone et geometrique.
+c En plus elle peut etre employee naturellement pour des
+c polynomes scalaires, cependant que dans ce cas existent
+c des algorithmes plus surs et rapides.
+c
+c Voir V. KUCERA.- Discrete linear Control (The polynomial
+c equation approach), J. Wiley & sons, 1979. Secs 2.10 et 7.13.
+c
+c!parametres d'appel
+c
+c call sfact2(b,l,n,matg,maxit,ierr)
+c
+c double precision b(l,(n+1)*l) ) , matg(n*n*l*l)
+c integer n,maxit,ierr
+c
+c b : contient les coefficients bi : bi=b(1:l,1+(i-1)*l)
+c apres execution b contient les di.
+c l : nombre de lignes et de colonnes des bi
+c n: degre du polynome matriciel A, qui donne origine a b
+c matg : tableau de travail de taille q*(q+1)/2 avec q=(n+1)*l
+c
+c maxit:entier, indique le nombre maximum d'maxitations admis
+c
+c ierr:entier, si 0 fin normale,
+c si -1 fin pour quantite maximum d'iterations
+c si 1 probleme singulier ou non symetrique
+c atteinte
+c
+c!auteur
+c
+c Cette subroutine est la version fortran de l'algorithme
+c donne dans la section 7.13 du livre de vladimir kucera:
+c "discrete linear control", faite par
+c carlos klimann, inria, 16-xii-85.
+c
+c!
+c
+ double precision b(l,*),matg(*)
+ integer n,l,ierr,maxit
+c
+ double precision sigma,acu,tr1,tr2
+ integer i,j,k0,k,p,r,jj,kk,q,iter,q22
+c
+ iadr(i,j)=1+(i-j)+(q22-j)*(j-1)/2
+c
+c la matrice delta(i-1) est stockee dans matg sous forme compacte
+c l'element (i,j) est stocke en iadr(i,j)
+c l'element en haut a gauche est repere par id0,id0
+c
+ p=n*l
+ q=p+l
+ q22=2*q+2
+c
+ nel=q*(q+1)/2
+ do 05 j=1,nel
+ 05 matg(j)=0.0d+0
+ do 06 j=p+1,q
+ do 06 r=j,q
+06 matg(iadr(r,j))=b(r-p,j-p)
+c
+ id0=p+1
+ k0=p
+ iter=0
+ j=p
+c
+c calcul de delta(0) - par choleski
+ goto 20
+c
+10 continue
+c
+c calcul de x=[bi,...,b1]*delta(i-1)'**(-1)
+c
+ do 14 j=id0,p
+ j1=(j-1)/l
+ j2=j-j1*l
+ jj=(n-j1)*l+j2
+ if(matg(iadr(j,j)).eq.0.0d+0) goto 60
+ do 13 r=p+1,q
+ sigma=0.0d+0
+ if(j.eq.id0)goto 12
+ do 11 k=id0,j-1
+ sigma=sigma+(matg(iadr(j,k))*matg(iadr(r,k)))
+11 continue
+12 matg(iadr(r,j))=(b(r-p,jj)-sigma)/matg(iadr(j,j))
+13 continue
+14 continue
+c
+c calcul de b0-x*x'
+c
+ do 18 j=p+1,q
+ do 17 r=j,q
+ sigma=0.0d+0
+ do 16 k=id0,p
+16 sigma=sigma+matg(iadr(r,k))*matg(iadr(j,k))
+ matg(iadr(r,j))=b(r-p,j-p)-sigma
+17 continue
+18 continue
+c
+20 continue
+c
+c factorisation de cholesky du bloc en bas a droite
+c
+ do 26 j=p+1,q
+ sigma=matg(iadr(j,j))
+ if(j.eq.p+1)goto 22
+ do 21 k=p+1,j-1
+ sigma=sigma-(matg(iadr(j,k))*matg(iadr(j,k)))
+21 continue
+22 if(sigma.le.0.0d+0) goto 60
+ matg(iadr(j,j))=sqrt(sigma)
+ if(j.eq.q)goto 26
+c
+ do 25 r=j+1,q
+ sigma=matg(iadr(r,j))
+ if(j.eq.p+1)goto 24
+ do 23 k=p+1,j-1
+ sigma=sigma-(matg(iadr(j,k))*matg(iadr(r,k)))
+23 continue
+24 matg(iadr(r,j))=sigma/matg(iadr(j,j))
+25 continue
+26 continue
+c
+ if(n.eq.0)goto 50
+c
+c calcul de la trace du bloc en bas a droite
+c
+ tr2=0.0d+0
+ do 30 jj=p+1,q
+ tr2=tr2+matg(iadr(jj,jj))
+30 continue
+c
+c test de convergence
+c
+ if(iter.eq.1) goto 40
+ acu = abs(tr1-tr2)
+ if(acu+abs(tr2).le.abs(tr2)) goto 50
+ if(iter.ge.maxit)goto 50
+c
+c shift
+c
+40 id0=max(id0-l,1)
+ do 41 jj=id0,p
+ do 41 kk=id0,jj
+ matg(iadr(jj,kk))=matg(iadr(jj+l,kk+l))
+41 continue
+ tr1=tr2
+c
+ iter=iter+1
+ goto 10
+c
+50 continue
+c
+c fin
+c
+ do 53 r=1,l
+ do 51 j=r,l
+ b(r,j)=0.0d+0
+51 b(j,r)=matg(iadr(p+j,p+r))
+ if(n.eq.0) goto 53
+ do 52 j=l+1,q
+ j1=(j-1)/l
+ j2=j-j1*l
+ jj=(n-j1)*l+j2
+52 b(r,j)=matg(iadr(p+r,jj))
+53 continue
+ ierr=0
+ if(iter.ge.maxit) ierr=-1
+ return
+60 ierr=1
+ return
+c
+ end
diff --git a/modules/polynomials/src/fortran/sfact2.lo b/modules/polynomials/src/fortran/sfact2.lo
new file mode 100755
index 000000000..27596fdc1
--- /dev/null
+++ b/modules/polynomials/src/fortran/sfact2.lo
@@ -0,0 +1,12 @@
+# src/fortran/sfact2.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sfact2.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wdmpad.f b/modules/polynomials/src/fortran/wdmpad.f
new file mode 100755
index 000000000..ba1b73e63
--- /dev/null
+++ b/modules/polynomials/src/fortran/wdmpad.f
@@ -0,0 +1,95 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WDMPAD,SSI=0
+c Copyright INRIA
+ subroutine wdmpad(pm1r,pm1i,d1,l1,pm2r,d2,l2,pm3r,pm3i,d3,
+ & m,n)
+c!but
+c cette subroutine ajoute deux matrices dont les coefficients
+c sont des polynomes ,les polynomes de pm1 sont a coefficients
+c complexes, ceux de pm2 sont a coefficients reels
+c pm3=pm1+pm2
+c!liste d'appel
+c
+c subroutine wdmpad(pm1r,pm1i,d1,l1,pm2r,d2,l2,pm3r,pm3i,d3,
+c & m,n)
+c double precision pm1r(*),pm1i(*),pm2r(*),pm3r(*),pm3i(*)
+c integer d1(l1*n+1),d2(l2*n+1),d3(m*n+1),m,n,l1,l2
+c
+c pm1 : tableau reel contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*l1 + k) )
+c pm1 doit etre de taille au moins d1(l1*n+1)-d1(1)
+c d1 : tableau entier de taille l1*n+1, si k=i+(j-1)*l1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c l1 : entier definissant le rangement dans d1
+c
+c pm2,d2,l2 : definitions similaires a celles de pm1,d1,l1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, l3 est
+c suppose egal a m
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c!
+ double precision pm1r(*),pm1i(*),pm2r(*),pm3r(*),pm3i(*)
+ integer d1(*),d2(*),d3(*),m,n,l1,l2
+c
+ integer n1,n2,n3,mn,i,k
+c
+ mn=m*n
+c
+ d3(1)=1
+ i1=-l1
+ i2=-l2
+ k3=0
+c boucle sur les polynomes
+ do 20 j=1,n
+ i1=i1+l1
+ i2=i2+l2
+ do 20 i=1,m
+ k1=d1(i1+i)-1
+ k2=d2(i2+i)-1
+ n1=d1(i1+i+1)-d1(i1+i)
+ n2=d2(i2+i+1)-d2(i2+i)
+ if(n1.gt.n2) goto 15
+c
+c n1.le.n2
+c
+ do 12 k=1,n1
+ pm3r(k3+k)=pm1r(k1+k)+pm2r(k2+k)
+ pm3i(k3+k)=pm1i(k1+k)
+ 12 continue
+ if(n1.eq.n2) goto 14
+ n3=n1+1
+ do 13 k=n3,n2
+ pm3r(k3+k)=+pm2r(k2+k)
+ 13 pm3i(k3+k)=0.0d+0
+ 14 n3=n2
+ d3(i+1+(j-1)*m)=d3(i+(j-1)*m)+n3
+ goto 18
+c
+c n1.gt.n2
+c
+ 15 do 16 k=1,n2
+ pm3r(k3+k)=pm1r(k1+k)+pm2r(k2+k)
+ 16 pm3i(k3+k)=pm1i(k1+k)
+ n3=n2+1
+ do 17 k=n3,n1
+ pm3r(k3+k)=pm1r(k1+k)
+ 17 pm3i(k3+k)=pm1i(k1+k)
+ n3=n1
+ d3(i+1+(j-1)*m)=d3(i+(j-1)*m)+n3
+c
+ 18 k1=k1+n1
+ k2=k2+n2
+ k3=k3+n3
+ 20 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wdmpad.lo b/modules/polynomials/src/fortran/wdmpad.lo
new file mode 100755
index 000000000..a55a640f3
--- /dev/null
+++ b/modules/polynomials/src/fortran/wdmpad.lo
@@ -0,0 +1,12 @@
+# src/fortran/wdmpad.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wdmpad.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wdmpmu.f b/modules/polynomials/src/fortran/wdmpmu.f
new file mode 100755
index 000000000..083845647
--- /dev/null
+++ b/modules/polynomials/src/fortran/wdmpmu.f
@@ -0,0 +1,148 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WDMPMU,SSI=0
+ subroutine wdmpmu(mp1r,mp1i,d1,nl1,mp2r,d2,nl2,
+ & mp3r,mp3i,d3,l,m,n)
+c!purpose
+c ce sous programme effectue le calcul du produit de matrices
+c de polynomes a coefficients complexes
+c
+c mp3 = mp1 * mp2
+c
+c! calling sequence
+c
+c pm1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*nl1 + k) )
+c pm1 doit etre de taille au moins d1(nl1*n+1)-d1(1)
+c d1 : tableau entier de taille nl1*n+1, si k=i+(j-1)*nl1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c nl1 : entier definissant le rangement dans d1
+c
+c pm2,d2,nl2 : definitions similaires a celles de pm1,d1,nl1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, nl3 est
+c suppose egal a l
+c l : nombre de lignes de pm1
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c avec les conventions suivantes:
+c
+c -si l = 0 signifie que mp1 est un polynome, et que la
+c multiplication s'entend alors au sens de la multiplication
+c de tous les coefficients de mp2 par mp1.
+c
+c -si n = 0 signifie que mp2 est un polynome, et que la
+c multiplication s'entend au sens de la multiplication de tous
+c les coefficients de mp1 par mp2.
+c
+c -si m = 0 la multiplication s'entend element par element,
+c il est alors suppose que mp1 et mp2, donc mp3 sont de dimension
+c l x n.
+c
+c!
+c
+c
+c&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+c
+c
+ double precision mp1r(*),mp1i(*),mp2r(*),mp3r(*),mp3i(*)
+ integer d1(*), d2(*), d3(*)
+ integer l, m, n
+ integer nl1, nl2
+ integer i, j, k, k1, k2, k3
+ integer p1, p2, p3
+c
+c
+ d3(1)= 1
+ if (l .eq. 0 .or. m .eq. 0 .or. n .eq. 0) goto 500
+c
+ p2 = -nl2
+ p3 = -l
+ do 10 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 11 i = 1, l
+ mp3r(d3(p3+i)) = 0.0d+0
+ mp3i(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ p1 = i - nl1
+ do 12 k = 1, m
+ p1 = p1 + nl1
+ k2 = d2(p2+k+1) - d2(p2+k) - 1
+ k1 = d1(p1 + 1) - d1(p1) - 1
+ kk=k3
+ call dpmul(mp1r(d1(p1)),k1,mp2r(d2(p2+k)),k2,
+ & mp3r(d3(p3+i)),kk)
+ call dpmul(mp1i(d1(p1)),k1,mp2r(d2(p2+k)),k2,
+ & mp3i(d3(p3+i)),k3)
+ 12 continue
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+ 11 continue
+ 10 continue
+ return
+ 500 if (l .eq. 0) goto 600
+ if (m .eq. 0) goto 700
+ p1 = -nl1
+ p3 = -l
+ k2 = d2(2) - d2(1) - 1
+ do 510 j = 1, m
+ p1 = p1 + nl1
+ p3 = p3 + l
+ do 510 i = 1, l
+ k3 = 0
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ mp3r(d3(p3 + i)) = 0.0d+0
+ kk=k3
+ call dpmul(mp1r(d1(p1+i)),k1,mp2r(1),k2,mp3r(d3(p3+i)),kk)
+ mp3i(d3(p3 + i)) = 0.0d+0
+ call dpmul(mp1i(d1(p1+i)),k1,mp2r(1),k2,mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+510 continue
+ return
+600 k1 = d1(2) - d1(1) - 1
+ p2 = -nl2
+ p3 = -m
+ do 610 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + m
+ do 610 i = 1, m
+ k3 = 0
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3r(d3(p3+i)) = 0.0d+0
+ kk=k3
+ call dpmul(mp1r(1),k1,mp2r(d2(p2+i)),k2,mp3r(d3(p3+i)),kk)
+ mp3i(d3(p3+i)) = 0.0d+0
+ call dpmul(mp1i(1),k1,mp2r(d2(p2+i)),k2,mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+610 continue
+ return
+ 700 p1 = -nl1
+ p2 = -nl2
+ p3 = -l
+ do 710 j = 1, n
+ p1 = p1 + nl1
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 710 i = 1, l
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3r(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ call dpmul(mp1r(d1(p1+i)),k1,mp2r(d2(p2+i)),k2,
+ 1 mp3r(d3(p3+i)),k3)
+ mp3i(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ call dpmul(mp1i(d1(p1+i)),k1,mp2r(d2(p2+i)),k2,
+ 1 mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+710 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wdmpmu.lo b/modules/polynomials/src/fortran/wdmpmu.lo
new file mode 100755
index 000000000..9f6957bce
--- /dev/null
+++ b/modules/polynomials/src/fortran/wdmpmu.lo
@@ -0,0 +1,12 @@
+# src/fortran/wdmpmu.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wdmpmu.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmpad.f b/modules/polynomials/src/fortran/wmpad.f
new file mode 100755
index 000000000..203660c07
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpad.f
@@ -0,0 +1,93 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WMPAD,SSI=0
+c Copyright INRIA
+ subroutine wmpad(pm1r,pm1i,d1,l1,pm2r,pm2i,d2,l2,pm3r,pm3i,d3,
+ & m,n)
+c!but
+c cette subroutine ajoute deux matrices dont les coefficients
+c sont des polynomes a coefficients complexes : pm3=pm1+pm2
+c!liste d'appel
+c
+c subroutine wmpad(pm1r,pm1i,d1,l1,pm2r,pm2i,d2,l2,pm3r,pm3i,d3,
+c & m,n)
+c double precision pm1r(*),pm1i(*),pm2r(*),pm2i(*),pm3r(*),pm3i(*)
+c integer d1(l1*n+1),d2(l2*n+1),d3(m*n+1),m,n,l1,l2
+c
+c pm1 : tableau reel contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*l1 + k) )
+c pm1 doit etre de taille au moins d1(l1*n+1)-d1(1)
+c d1 : tableau entier de taille l1*n+1, si k=i+(j-1)*l1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c l1 : entier definissant le rangement dans d1
+c
+c pm2,d2,l2 : definitions similaires a celles de pm1,d1,l1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, l3 est
+c suppose egal a m
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c!
+ double precision pm1r(*),pm1i(*),pm2r(*),pm2i(*),pm3r(*),pm3i(*)
+ integer d1(*),d2(*),d3(*),m,n,l1,l2
+c
+ integer n1,n2,n3,mn,i,k
+c
+ mn=m*n
+c
+ d3(1)=1
+ i1=-l1
+ i2=-l2
+ k3=0
+c boucle sur les polynomes
+ do 20 j=1,n
+ i1=i1+l1
+ i2=i2+l2
+ do 20 i=1,m
+ k1=d1(i1+i)-1
+ k2=d2(i2+i)-1
+ n1=d1(i1+i+1)-d1(i1+i)
+ n2=d2(i2+i+1)-d2(i2+i)
+ if(n1.gt.n2) goto 15
+c
+c n1.le.n2
+c
+ do 12 k=1,n1
+ pm3r(k3+k)=pm1r(k1+k)+pm2r(k2+k)
+ pm3i(k3+k)=pm1i(k1+k)+pm2i(k2+k)
+ 12 continue
+ if(n1.eq.n2) goto 14
+ n3=n1+1
+ do 13 k=n3,n2
+ pm3r(k3+k)=+pm2r(k2+k)
+ 13 pm3i(k3+k)=pm2i(k2+k)
+ 14 n3=n2
+ d3(i+1+(j-1)*m)=d3(i+(j-1)*m)+n3
+ goto 18
+c
+c n1.gt.n2
+c
+ 15 do 16 k=1,n2
+ pm3r(k3+k)=pm1r(k1+k)+pm2r(k2+k)
+ 16 pm3i(k3+k)=pm1i(k1+k)+pm2i(k2+k)
+ n3=n2+1
+ do 17 k=n3,n1
+ pm3r(k3+k)=pm1r(k1+k)
+ 17 pm3i(k3+k)=pm1i(k1+k)
+ n3=n1
+ d3(i+1+(j-1)*m)=d3(i+(j-1)*m)+n3
+c
+ 18 k1=k1+n1
+ k2=k2+n2
+ k3=k3+n3
+ 20 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmpad.lo b/modules/polynomials/src/fortran/wmpad.lo
new file mode 100755
index 000000000..c5c4badce
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpad.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmpad.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmpad.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmpadj.f b/modules/polynomials/src/fortran/wmpadj.f
new file mode 100755
index 000000000..c22ea2f63
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpadj.f
@@ -0,0 +1,57 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine wmpadj(pm1r,pm1i,d1,m,n)
+c!but
+c cette subroutine determine les degres effectifs (en eliminant les
+c monomes nuls de plus haut degre ) des polynomes d'une matrice de
+c polynome a coefficinets compexes
+c!liste d'appel
+c
+c subroutine wmpadj(pm1r,pm1i,d1,m,n)
+c
+c pm1(r,i) : tableaux reel contenant les parties reelle et complexes
+c des coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*l1 + k) )
+c pm1 doit etre de taille au moins d1(l1*n+1)-d1(1)
+c d1 : tableau entier de taille l1*n+1, si k=i+(j-1)*l1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c Pm1 et d1 sont modifies par l'execution
+c
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+ double precision pm1r(*),pm1i(*)
+ integer d1(*),m,n,dj
+c
+ integer n1
+c
+ kk=1
+ dj=1
+c boucle sur les polynomes
+ do 40 j=1,m*n
+ k1=dj-1
+ n1=d1(j+1)-dj+1
+ 10 n1=n1-1
+ if(abs(pm1r(k1+n1))+abs(pm1i(k1+n1)).eq.0.0d+0
+ $ .and.n1.gt.1) goto 10
+ if(kk.ne.k1+1.and.n1.gt.0) then
+ do 11 i=1,n1
+ pm1r(kk-1+i)=pm1r(k1+i)
+ pm1i(kk-1+i)=pm1i(k1+i)
+ 11 continue
+ endif
+ kk=kk+n1
+ dj=d1(j+1)
+ d1(j+1)=kk
+ 40 continue
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmpadj.lo b/modules/polynomials/src/fortran/wmpadj.lo
new file mode 100755
index 000000000..aaceed9e8
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpadj.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmpadj.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmpadj.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmpcle.f b/modules/polynomials/src/fortran/wmpcle.f
new file mode 100755
index 000000000..c0a4d436e
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpcle.f
@@ -0,0 +1,67 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine wmpcle(pm1r,pm1i,d1,m,n,d2,epsr,epsa)
+c!but
+c Dans une matrice polynomiale pm1 cette routine met (pour
+c chaque polynome) a zero les coefficients de polynomes
+c de module inferieur a epsa ou epsr*(norme un du vecteur
+c des coefficients du polynome)
+c
+c!liste d'appel
+c
+c subroutine wmpclea(pm1r,pm1i,d1,m,n,d2,epsr,epsa)
+c double precision pm1r(*),pm1i(*)
+c integer d1(*),m,n
+c
+c pm1r : tableau reel contenant les coefficients des polynomes,
+c parties relles
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c pm1i : tableau reel contenant les coefficients des polynomes,
+c parties imaginaires
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c m : nombre de ligne de la matrice pm1
+c n : nombre de colonne de matrice pm1
+c d2 : cf d1
+c
+ double precision pm1r(*),pm1i(*),norm,normr,normi,epsr,epsa,eps
+ integer d1(*),d2(*),m,n
+c
+c
+c
+ mn=m*n
+ do 1 k=1,mn
+ lmin=d1(k)
+ lmax=d1(k+1)-1
+ normr=0.d0
+ normi=0.d0
+ do 2 l=lmin,lmax
+ normr=normr+abs(pm1r(l))
+ normi=normi+abs(pm1i(l))
+ norm=normr+normi
+ 2 continue
+ eps=max(epsa,epsr*norm)
+ do 3 l=lmin,lmax
+ if (abs(pm1r(l)).le.eps) then
+ pm1r(l)=0.0d0
+ endif
+ if (abs(pm1i(l)).le.eps) then
+ pm1i(l)=0.0d0
+ endif
+ 3 continue
+ 1 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmpcle.lo b/modules/polynomials/src/fortran/wmpcle.lo
new file mode 100755
index 000000000..e2ec3eee4
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpcle.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmpcle.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmpcle.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmpcnc.f b/modules/polynomials/src/fortran/wmpcnc.f
new file mode 100755
index 000000000..bbd46e000
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpcnc.f
@@ -0,0 +1,108 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WMPCNC,SSI=0
+c Copyright INRIA
+ subroutine wmpcnc(mp1r,mp1i,d1,ld1,mp2r,mp2i,d2,ld2,mp3r,mp3i,d3,
+ & l,m,n,job)
+c!but
+c cette subroutine concatene deux matrices dont les coefficients
+c sont des polynomes a coefficients complexes
+c mp3=<mp1 mp2>
+c ou
+c mp3=<mp1' mp2'>'
+c!liste d'appel
+c
+c subroutine wmpcnc(mp1r,mp1i,d1,ld1,mp2r,mp2i,d2,ld2,mp3r,mp3i,d3,
+c & l,m,n,job)
+c double precision mp1r(*),mp1i(*),mp2r(*),mp2i(*),mp3r(*),mp3i(*)
+c integer d1(ld1*n+1),d2(ld2*n+1),d3(m*n+1),l,m,n,ld1,ld2,job
+c
+c mp1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome mp1(i,j) est range
+c dans mp1( d1(i + (j-1)*ld1 + k) )
+c mp1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans mp1 du coeff de degre 0
+c du polynome mp1(i,j). Le degre du polynome mp1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c ld1 : entier definissant le rangement dans d1
+c
+c mp2,d2,ld2 : definitions similaires a celles de mp1,d1,ld1
+c mp3,d3 : definitions similaires a celles de mp1 et d1, l3 est
+c suppose egal a m
+c l : nombre de ligne de mp1 (et de mp2 et mp3 si job>0)
+c m : nombre de colonnes de mp1 (job>0)
+c nombre de ligne de mp2 (job<0)
+c n : nombre de colonnes de mp2 (job>0)
+c et nombre de colonnes de mp1 et mp3 si job <0
+c job : indique l'operation a effectuer:
+c job >0 mp3=<mp1 mp2>
+c job <0 mp3=<mp1' mp2'>'
+c si abs(job)=1 mp1 et mp2 sont complexes
+c si abs(job)=2 mp1 est reelle (mp1i vide) et mp2 complexe
+c si abs(job)=3 mp1 est complexe,mp2 reelle (mp2i vide)
+c!
+ double precision mp1r(*),mp1i(*),mp2r(*),mp2i(*),mp3r(*),mp3i(*)
+ integer d1(*),d2(*),d3(*),l,m,n,ld1,ld2
+c
+ integer i1,i2,i3,np,i,j
+c
+ i3=1
+ d3(1)=1
+ i1=1-ld1
+ i2=1-ld2
+c
+ if(job.lt.0) goto 30
+c
+ do 11 j=1,m
+ i1=i1+ld1
+ np=d1(i1+l)-d1(i1)
+ call dcopy(np,mp1r(d1(i1)),1,mp3r(d3(i3)),1)
+ if(job.ne.2) call dcopy(np,mp1i(d1(i1)),1,mp3i(d3(i3)),1)
+ if(job.eq.2) call dset(np,0.0d+0,mp3i(d3(i3)),1)
+ do 10 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d1(i1+i)-d1(i1+i-1)
+ 10 continue
+ 11 continue
+ do 21 j=1,n
+ i2=i2+ld2
+ np=d2(i2+l)-d2(i2)
+ call dcopy(np,mp2r(d2(i2)),1,mp3r(d3(i3)),1)
+ if(job.ne.3) call dcopy(np,mp2i(d2(i2)),1,mp3i(d3(i3)),1)
+ if(job.eq.3) call dset(np,0.0d+0,mp3i(d3(i3)),1)
+ do 20 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d2(i2+i)-d2(i2+i-1)
+ 20 continue
+ 21 continue
+ return
+c
+ 30 do 50 j=1,n
+ i1=i1+ld1
+ i2=i2+ld2
+ np=d1(i1+l)-d1(i1)
+ call dcopy(np,mp1r(d1(i1)),1,mp3r(d3(i3)),1)
+ if(job.ne.-2) call dcopy(np,mp1i(d1(i1)),1,mp3i(d3(i3)),1)
+ if(job.eq.-2) call dset(np,0.0d+0,mp3i(d3(i3)),1)
+ do 40 i=1,l
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d1(i1+i)-d1(i1+i-1)
+ 40 continue
+ np=d2(i2+m)-d2(i2)
+ call dcopy(np,mp2r(d2(i2)),1,mp3r(d3(i3)),1)
+ if(job.ne.-3) call dcopy(np,mp2i(d2(i2)),1,mp3i(d3(i3)),1)
+ if(job.eq.-3) call dset(np,0.0d+0,mp3i(d3(i3)),1)
+ do 45 i=1,m
+ i3=i3+1
+ d3(i3)=d3(i3-1)+d2(i2+i)-d2(i2+i-1)
+ 45 continue
+ 50 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmpcnc.lo b/modules/polynomials/src/fortran/wmpcnc.lo
new file mode 100755
index 000000000..97c9d5cce
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpcnc.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmpcnc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmpcnc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmpins.f b/modules/polynomials/src/fortran/wmpins.f
new file mode 100755
index 000000000..a8da9cda3
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpins.f
@@ -0,0 +1,84 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WMPINS,SSI=0
+ subroutine wmpins(mat1r,mat1i,dep1,lig1,col1,mat2r,mat2i,
+ & dep2,lig2,col2,matrr,matri,depr,ligr,colr)
+c!but
+c
+c Cette subroutine fait l'insertion (ampliation?) d'une matrice
+c de polynomes mat2 dans une autre mat1 d'apres deux vecteurs.
+c On suppose donnees depr, ligr et colr.
+c Le resultat viendra dans une troisieme matrice.
+c
+c!parametres d'appel
+c
+c call wmpins(mat1r,mat1i,dep1,lig1,col1,mat2r,mat2i,dep2,lig2,
+c 1 col2,matrr,matri,depr,ligr,colr)
+c
+c ou
+c
+c mat1: matrice integer de polynomes
+c
+c dep1: matrice integere qui donne les deplacements relatifs des
+c elements de mat1
+c
+c lig1, col1: integers, dimensions de mat1
+c
+c mat2 ,dep2, lig2, col2: analogues aux correspondents 1
+c (correspond a m dans l'example)
+c
+c matr, depr, ligr, colr: parametres de sortie, matrice matr et
+c autres valeurs relationnes.
+c
+c
+c attention!: aucune de matrices mat1, mat2,matr,dep1, dep2 ou depr
+c doit coincider. Cas contraire, les resultats seraient
+c imprevisibles.
+c
+c
+c
+c!
+ double precision mat1r(*),mat1i(*),mat2r(*),mat2i(*),
+ 1 matrr(*),matri(*)
+ integer dep1(*),dep2(*),depr(*)
+c
+ integer lig1,col1,lig2,col2,ligr,colr
+ depr(1)=1
+ kr=1
+c
+ do 20 j=1,colr
+ do 20 i=1,ligr
+ kr=kr+1
+ lr=depr(kr)
+ if (lr .lt. 0) then
+ goto 11
+ elseif (lr .eq. 0) then
+ goto 12
+ else
+ goto 13
+ endif
+ 11 l2=-lr
+ l=dep2(l2+1)-dep2(l2)
+ call dcopy(l,mat2r(dep2(l2)),1,matrr(depr(kr-1)),1)
+ call dcopy(l,mat2i(dep2(l2)),1,matri(depr(kr-1)),1)
+ depr(kr)=depr(kr-1)+l
+ goto 20
+ 12 matrr(depr(kr-1))=0.0d+0
+ matri(depr(kr-1))=0.0d+0
+ depr(kr)=depr(kr-1)+1
+ goto 20
+ 13 l1=lr
+ l=dep1(l1+1)-dep1(l1)
+ call dcopy(l,mat1r(dep1(l1)),1,matrr(depr(kr-1)),1)
+ call dcopy(l,mat1i(dep1(l1)),1,matri(depr(kr-1)),1)
+ depr(kr)=depr(kr-1)+l
+c
+ 20 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmpins.lo b/modules/polynomials/src/fortran/wmpins.lo
new file mode 100755
index 000000000..4c149a1b3
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpins.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmpins.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmpins.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmpmu.f b/modules/polynomials/src/fortran/wmpmu.f
new file mode 100755
index 000000000..619dca08d
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpmu.f
@@ -0,0 +1,140 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WMPMU,SSI=0
+c Copyright INRIA
+ subroutine wmpmu(mp1r,mp1i,d1,nl1,mp2r,mp2i,d2,nl2,
+ & mp3r,mp3i,d3,l,m,n)
+c!purpose
+c ce sous programme effectue le calcul du produit de matrices
+c de polynomes a coefficients complexes
+c
+c mp3 = mp1 * mp2
+c
+c! calling sequence
+c
+c pm1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*nl1 + k) )
+c pm1 doit etre de taille au moins d1(nl1*n+1)-d1(1)
+c d1 : tableau entier de taille nl1*n+1, si k=i+(j-1)*nl1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c nl1 : entier definissant le rangement dans d1
+c
+c pm2,d2,nl2 : definitions similaires a celles de pm1,d1,nl1
+c pm3,d3 : definitions similaires a celles de pm1 et d1, nl3 est
+c suppose egal a l
+c l : nombre de lignes de pm1
+c m : nombre de ligne des matrices pm
+c n : nombre de colonnes des matrices pm
+c avec les conventions suivantes:
+c
+c -si l = 0 signifie que mp1 est un polynome, et que la
+c multiplication s'entend alors au sens de la multiplication
+c de tous les coefficients de mp2 par mp1.
+c
+c -si n = 0 signifie que mp2 est un polynome, et que la
+c multiplication s'entend au sens de la multiplication de tous
+c les coefficients de mp1 par mp2.
+c
+c -si m = 0 la multiplication s'entend element par element,
+c il est alors suppose que mp1 et mp2, donc mp3 sont de dimension
+c l x n.
+c
+c!
+c
+c&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+c
+c
+ double precision mp1r(*),mp1i(*),mp2r(*),mp2i(*),mp3r(*),mp3i(*)
+ integer d1(*), d2(*), d3(*)
+ integer l, m, n
+ integer nl1, nl2
+ integer i, j, k, k1, k2, k3
+ integer p1, p2, p3
+c
+c
+ d3(1)= 1
+ if (l .eq. 0 .or. m .eq. 0 .or. n .eq. 0) goto 500
+c
+ p2 = -nl2
+ p3 = -l
+ do 10 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 11 i = 1, l
+ mp3r(d3(p3+i)) = 0.0d+0
+ mp3i(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ p1 = i - nl1
+ do 12 k = 1, m
+ p1 = p1 + nl1
+ k2 = d2(p2+k+1) - d2(p2+k) - 1
+ k1 = d1(p1 + 1) - d1(p1) - 1
+ call wpmul(mp1r(d1(p1)),mp1i(d1(p1)),k1,mp2r(d2(p2+k)),
+ & mp2i(d2(p2+k)),k2,mp3r(d3(p3+i)),mp3i(d3(p3+i)),k3)
+ 12 continue
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+ 11 continue
+ 10 continue
+ return
+ 500 if (l .eq. 0) goto 600
+ if (m .eq. 0) goto 700
+ p1 = -nl1
+ p3 = -l
+ k2 = d2(2) - d2(1) - 1
+ do 510 j = 1, m
+ p1 = p1 + nl1
+ p3 = p3 + l
+ do 510 i = 1, l
+ k3 = 0
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ mp3r(d3(p3 + i)) = 0.0d+0
+ mp3i(d3(p3 + i)) = 0.0d+0
+ call wpmul(mp1r(d1(p1+i)),mp1i(d1(p1+i)),k1,mp2r(1),
+ & mp2i(1),k2,mp3r(d3(p3+i)),mp3i(d3(p3+i)),k3)
+ d3(p3+i+1)=d3(p3+i) + k3 + 1
+510 continue
+ return
+600 k1 = d1(2) - d1(1) - 1
+ p2 = -nl2
+ p3 = -m
+ do 610 j = 1, n
+ p2 = p2 + nl2
+ p3 = p3 + m
+ do 610 i = 1, m
+ k3 = 0
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3r(d3(p3+i)) = 0.0d+0
+ mp3i(d3(p3+i)) = 0.0d+0
+ call wpmul(mp1r(1),mp1i(1),k1,mp2r(d2(p2+i)),
+ & mp2i(d2(p2+i)),k2,mp3r(d3(p3+i)),mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+610 continue
+ return
+ 700 p1 = -nl1
+ p2 = -nl2
+ p3 = -l
+ do 710 j = 1, n
+ p1 = p1 + nl1
+ p2 = p2 + nl2
+ p3 = p3 + l
+ do 710 i = 1, l
+ k1 = d1(p1 + i + 1) - d1(p1 + i) - 1
+ k2 = d2(p2 + i + 1) - d2(p2 + i) - 1
+ mp3r(d3(p3+i)) = 0.0d+0
+ mp3i(d3(p3+i)) = 0.0d+0
+ k3 = 0
+ call wpmul(mp1r(d1(p1+i)),mp1i(d1(p1+i)),k1,mp2r(d2(p2+i)),
+ & mp2i(d2(p2+i)),k2,mp3r(d3(p3+i)),mp3i(d3(p3+i)),k3)
+ d3(p3 + i + 1) = d3(p3 + i) + k3 + 1
+710 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmpmu.lo b/modules/polynomials/src/fortran/wmpmu.lo
new file mode 100755
index 000000000..fa64fe5c9
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmpmu.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmpmu.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmpmu.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wmptra.f b/modules/polynomials/src/fortran/wmptra.f
new file mode 100755
index 000000000..84d4dbee4
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmptra.f
@@ -0,0 +1,56 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WMPTRA,SSI=0
+ subroutine wmptra(pm1r,pm1i,d1,ld1,pm2r,pm2i,d2,m,n)
+c!but
+c cette subroutine transpose une matrice dont les coefficients
+c sont des polynomes a coefficients complexes
+c pm2=transpose(pm1)
+c!liste d'appel
+c
+c subroutine wmptra(pm1r,pm1i,d1,ld1,pm2r,pm2i,d2,m,n)
+c double precision pm1r(*),pm1i(*),pm2r(*),pm2i(*)
+c integer d1(*),d2(n,m),m,n
+c
+c pm1 : tableau contenant les coefficients des polynomes,
+c le coefficient de degre k du polynome pm1(i,j) est range
+c dans pm1( d1(i + (j-1)*ld1 + k) )
+c pm1 doit etre de taille au moins d1(ld1*n+1)-d1(1)
+c d1 : tableau entier de taille ld1*n+1, si k=i+(j-1)*ld1 alors
+c d1(k)) contient l'adresse dans pm1 du coeff de degre 0
+c du polynome pm1(i,j). Le degre du polynome pm1(i,j) vaut:
+c d1(k+1)-d1(k) -1
+c ld1 : entier definissant le rangement dans d1
+c
+c pm2,d2 : definitions similaires a celles de pm1,d1, ld2
+c est suppose egal a n
+c m : nombre de ligne de la matrice pm1
+c n : nombre de colonne de matrice pm1
+c!
+ double precision pm1r(*),pm1i(*),pm2r(*),pm2i(*)
+ integer d1(*),d2(*),m,n
+ d2(1)=1
+ i2=1
+ do 20 i=1,m
+ i1=i
+ do 10 j=1,n
+ l1=d1(i1)
+ n1=d1(i1+1)-l1
+ l2=d2(i2)
+ call dcopy(n1,pm1r(l1),1,pm2r(l2),1)
+ call dcopy(n1,pm1i(l1),1,pm2i(l2),1)
+ i1=i1+ld1
+ i2=i2+1
+ d2(i2)=l2+n1
+ 10 continue
+ 20 continue
+c call dscal(d2(1+m*n)-1,-1.0d+0,pm2i,1)
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wmptra.lo b/modules/polynomials/src/fortran/wmptra.lo
new file mode 100755
index 000000000..8cd324572
--- /dev/null
+++ b/modules/polynomials/src/fortran/wmptra.lo
@@ -0,0 +1,12 @@
+# src/fortran/wmptra.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wmptra.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wpmul.f b/modules/polynomials/src/fortran/wpmul.f
new file mode 100755
index 000000000..0e209ff0a
--- /dev/null
+++ b/modules/polynomials/src/fortran/wpmul.f
@@ -0,0 +1,126 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 1985-2008 - INRIA - Carlos KLIMANN
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WPMUL,SSI=0
+c Copyright INRIA
+ subroutine wpmul(p1r,p1i,d1,p2r,p2i,d2,p3r,p3i,d3)
+c!purpose
+c ce sous programme effectue le calcul:
+c
+c p3(x) = p3(x) + (p1(x) * p2(x))
+c
+c ou p1, p2 et p3 sont des polynomes de degres d1, d2 et d3,
+c respectivement, a coefficients complexes
+c les coefficients sont ranges consecutivement et par puissance
+c croissante
+c Tous les parametres sont d'entree, sauf p3 et d3 qui sont
+c d'entree-sortie.
+c!
+c &&var
+ implicit double precision (a-h,o-z)
+ double precision p1r(*),p1i(*),p2r(*),p2i(*),p3r(*),p3i(*)
+ integer d1,d2,d3
+ integer dmax,dmin,dsum
+ integer i, k, j, l
+ integer e1, e2
+c &&ker
+ dsum = d1 + d2
+c fixation de dmax et dmin
+ dmax = d1
+ if (d2 .gt. d1) dmax = d2
+ dmin = dsum - dmax
+c fixation de d3
+ if (d3 .ge. dsum) goto 1
+ e1 = d3+2
+ e2 = dsum +1
+ do 2 i = e1 , e2
+ p3r(i) = 0.0d+0
+ p3i(i) = 0.0d+0
+ 2 continue
+ d3 = dsum
+ 1 continue
+c cas des degres egaux a zero
+ if (d1 .eq. 0 .or. d2 .eq. 0) goto 53
+c produit et addition
+ e1 = 1
+ e2 = dmin + 1
+ do 10 i = e1, e2
+ p3r(i) = p3r(i) + ddot(i,p1r(1),1,p2r(1),-1)
+ & - ddot(i,p1i(1),1,p2i(1),-1)
+ p3i(i) = p3i(i) + ddot(i,p1r(1),1,p2i(1),-1)
+ & + ddot(i,p1i(1),1,p2r(1),-1)
+ 10 continue
+ k = 1
+ if (d1 .eq. d2) goto 21
+ e1 = dmin + 2
+ e2 = dmax + 1
+c si d1 > d2
+ if (d1 .lt. d2) goto 25
+ do 20 i = e1, e2
+ k = k + 1
+ p3r(i) = p3r(i) + ddot(dmin+1, p1r(k), 1, p2r(1), -1)
+ & - ddot(dmin+1, p1i(k), 1, p2i(1), -1)
+ p3i(i) = p3i(i) + ddot(dmin+1, p1r(k), 1, p2i(1), -1)
+ & + ddot(dmin+1, p1i(k), 1, p2r(1), -1)
+ 20 continue
+ 21 e1 = dmax + 2
+ e2 = dsum + 1
+ l = 1
+ j = dmin + 1
+ do 40 i = e1, e2
+ j = j -1
+ k = k + 1
+ l =l + 1
+ p3r(i) = p3r(i) + ddot(j, p1r(k), 1, p2r(l), -1)
+ & - ddot(j, p1i(k), 1, p2i(l), -1)
+ p3i(i) = p3i(i) + ddot(j, p1r(k), 1, p2i(l), -1)
+ & + ddot(j, p1i(k), 1, p2r(l), -1)
+ 40 continue
+ return
+c si d2 > d1
+ 25 do 30 i = e1, e2
+ k = k + 1
+ p3r(i) = p3r(i) + ddot(dmin+1, p2r(k), -1, p1r(1), 1)
+ & - ddot(dmin+1, p2i(k), -1, p1i(1), 1)
+ p3i(i) = p3i(i) + ddot(dmin+1, p2r(k), -1, p1i(1), 1)
+ & + ddot(dmin+1, p2i(k), -1, p1r(1), 1)
+ 30 continue
+ e1 = dmax + 2
+ e2 = dsum + 1
+ l = 1
+ j = dmin + 1
+ do 50 i = e1, e2
+ j = j -1
+ k = k + 1
+ l =l + 1
+ p3r(i) = p3r(i) + ddot(j, p1r(l), 1, p2r(k), -1)
+ & - ddot(j, p1i(l), 1, p2i(k), -1)
+ p3i(i) = p3i(i) + ddot(j, p1r(l), 1, p2i(k), -1)
+ & + ddot(j, p1i(l), 1, p2r(k), -1)
+ 50 continue
+ return
+c cas des degres egaux a zero
+ 53 if (d1 .eq. 0 .and. d2 .eq. 0) goto 100
+ e1 = 1
+ if (d1 .eq.0) goto 60
+ e2 = d1 + 1
+ do 55 i = e1, e2
+ p3r(i) = p3r(i) + p1r(i) * p2r(1) - p1i(i) * p2i(1)
+ p3i(i) = p3i(i) + p1r(i) * p2i(1) + p1i(i) * p2r(1)
+ 55 continue
+ return
+ 60 e2 = d2 + 1
+ do 65 i = e1, e2
+ p3r(i) = p3r(i) + p2r(i) * p1r(1) - p2i(i) * p1i(1)
+ p3i(i) = p3i(i) + p2r(i) * p1i(1) + p2i(i) * p1r(1)
+ 65 continue
+ return
+ 100 p3r(1) = p3r(1) + p1r(1) * p2r(1) - p1i(1) * p2i(1)
+ p3i(1) = p3i(1) + p1r(1) * p2i(1) + p1i(1) * p2r(1)
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wpmul.lo b/modules/polynomials/src/fortran/wpmul.lo
new file mode 100755
index 000000000..e5c728d77
--- /dev/null
+++ b/modules/polynomials/src/fortran/wpmul.lo
@@ -0,0 +1,12 @@
+# src/fortran/wpmul.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wpmul.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wpmul1.f b/modules/polynomials/src/fortran/wpmul1.f
new file mode 100755
index 000000000..1559f4a51
--- /dev/null
+++ b/modules/polynomials/src/fortran/wpmul1.f
@@ -0,0 +1,93 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WPMUL1,SSI=0
+c Copyright INRIA
+ subroutine wpmul1(p1r,p1i,d1,p2r,p2i,d2,p3r,p3i)
+c!but
+c ce sous programme effectue le produit polynomial:
+c
+c p3(x) = p1(x) * p2(x)
+c
+c ou p1 ,p2, p3 sont des polynomes a coefficients complexes
+c!liste d'appel
+c subroutine wpmul1(p1r,p1i,d1,p2r,p2i,d2,p3r,p3i)
+c double precision p1(d1+1),p2(d2+1),p3(d1+d2+1)
+c integer d1,d2,d3
+c
+c p1 : contient les coefficient du premier polynome ranges
+c suivant les puissances croissantes
+c p2 : contient les coefficients du second polynome ranges
+c suivant les puissances croissantes
+c p3 :contient les coefficient du resultats.
+c p3 peut designer la meme adresse que p1 ou p2
+c d1,d2 : degre respectifs des polynomesp1 et p2
+c!sous programmes appeles
+c ddot (blas)
+c min (fortran)
+c!
+c var
+ double precision p1r(*),p1i(*),p2r(*),p2i(*),p3r(*),p3i(*)
+ integer d1,d2,d3
+c
+ double precision ddot,sr,si
+ integer k,l1,l2,l3,l,m3
+c ker
+ l=1
+ l1=d1+1
+ l2=d2+1
+ d3=d1+d2
+ l3=d3+1
+c
+ m3=min(l1,l2)
+ do 10 k=1,m3
+ sr=ddot(l,p1r(l1),1,p2r(l2),-1)-ddot(l,p1i(l1),1,p2i(l2),-1)
+ si=ddot(l,p1r(l1),1,p2i(l2),-1)+ddot(l,p1i(l1),1,p2r(l2),-1)
+ p3r(l3)=sr
+ p3i(l3)=si
+ l=l+1
+ l3=l3-1
+ l1=l1-1
+ l2=l2-1
+ 10 continue
+ l=l-1
+c
+ if(l1.eq.0) goto 30
+ m3=l1
+ do 20 k=1,m3
+ sr=ddot(l,p1r(l1),1,p2r,-1)-ddot(l,p1i(l1),1,p2i,-1)
+ si=ddot(l,p1r(l1),1,p2i,-1)+ddot(l,p1i(l1),1,p2r,-1)
+ p3r(l3)=sr
+ p3i(l3)=si
+ l1=l1-1
+ l3=l3-1
+ 20 continue
+ goto 40
+ 30 if(l2.eq.0) goto 40
+ m3=l2
+ do 31 k=1,m3
+ sr=ddot(l,p1r,1,p2r(l2),-1)-ddot(l,p1i,1,p2i(l2),-1)
+ si=ddot(l,p1r,1,p2i(l2),-1)+ddot(l,p1i,1,p2r(l2),-1)
+ p3r(l3)=sr
+ p3i(l3)=si
+ l2=l2-1
+ l3=l3-1
+ 31 continue
+c
+ 40 if(l3.eq.0) return
+ m3=l3
+ do 41 k=1,m3
+ l=l-1
+ sr=ddot(l,p1r,1,p2r,-1)-ddot(l,p1i,1,p2i,-1)
+ si=ddot(l,p1r,1,p2i,-1)+ddot(l,p1i,1,p2r,-1)
+ p3r(l3)=sr
+ p3i(l3)=si
+ l3=l3-1
+ 41 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wpmul1.lo b/modules/polynomials/src/fortran/wpmul1.lo
new file mode 100755
index 000000000..27a53fb93
--- /dev/null
+++ b/modules/polynomials/src/fortran/wpmul1.lo
@@ -0,0 +1,12 @@
+# src/fortran/wpmul1.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wpmul1.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wpodiv.f b/modules/polynomials/src/fortran/wpodiv.f
new file mode 100755
index 000000000..d20ffcf4c
--- /dev/null
+++ b/modules/polynomials/src/fortran/wpodiv.f
@@ -0,0 +1,56 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine wpodiv(ar,ai,br,bi,na,nb,ierr)
+ implicit double precision (a-h,o-z)
+ dimension ar(*),br(*),ai(*),bi(*)
+c division euclidienne de deux polynomes a coefficients complexes
+c le suffixe r designe la partie reelle et i la partie imaginaire
+c
+c 1. a: avant execution c'est le tableau des coefficients du
+c polynome dividende range suivant les puissances croissantes
+c de la variable (ordre na+1).
+c apres execution,contient dans les nb premiers elements
+c le tableau des coefficients du reste ordonne suivant les
+c puissances croissantes, et dans les (na-nb+1) derniers elements,
+c le tableau des coefficients du polynome quotient range suivant
+c les puissances croissantes de la variable.
+c 2. b: tableau des coefficients du polynome diviseur range suivant
+c les puissances croissantes de la variable (ordre nb+1).
+c 3. na: degre du polynome a.
+c 4. nb: degre du polynome b.
+c
+ ierr=0
+ l=na-nb+1
+ 2 if (l .le. 0) then
+ goto 5
+ else
+ goto 3
+ endif
+ 3 n=l+nb
+c q=a(n)/b(nb+1)
+ call wwdiv(ar(n),ai(n),br(nb+1),bi(nb+1),qr,qi,ierr)
+ if(ierr.ne.0) then
+ return
+ endif
+ nb1=nb+1
+ do 4 i=1,nb1
+ n1=nb-i+2
+ n2=n-i+1
+c 4 a(n2)=a(n2)-b(n1)*q
+ call wmul(br(n1),bi(n1),qr,qi,wr,wi)
+ ar(n2)=ar(n2)-wr
+ ai(n2)=ai(n2)-wi
+ 4 continue
+ ar(n)=qr
+ ai(n)=qi
+ l=l-1
+ goto 2
+ 5 continue
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wpodiv.lo b/modules/polynomials/src/fortran/wpodiv.lo
new file mode 100755
index 000000000..147c5113c
--- /dev/null
+++ b/modules/polynomials/src/fortran/wpodiv.lo
@@ -0,0 +1,12 @@
+# src/fortran/wpodiv.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wpodiv.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/wprxc.f b/modules/polynomials/src/fortran/wprxc.f
new file mode 100755
index 000000000..651019854
--- /dev/null
+++ b/modules/polynomials/src/fortran/wprxc.f
@@ -0,0 +1,67 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA - Serge STEER
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+C/MEMBR ADD NAME=WPRXC,SSI=0
+c Copyright INRIA
+ subroutine wprxc(n,rootr,rooti,coeffr,coeffi)
+c!but
+c wprxc calcule les coefficients d'un polynome defini par ses
+c racines (complexes) et dont le coefficient de degre maximum est 1
+c
+c!liste d'appel
+c subroutine wprxc(n,rootr,rooti,coeffr,coeffi)
+c double precision rootr(n),rooti(n),coeffr(n+1),coeffi(n+1)
+c integer n
+c
+c n : degre du polynome
+c root : tableau contenant les racines
+c coeff : tableau contenant les coefficients du polynome, ranges
+c par odre croissant
+c!sous programmes appeles
+c dset waxpy (blas)
+c!
+ double precision rootr(n),rooti(n),coeffr(*),coeffi(*)
+ integer n
+c
+ integer j,nj,ninf
+ double precision dlamch
+c
+ ninf=0
+c
+ call dset (n,0.0d+0,coeffr,1)
+ call dset (n+1,0.0d+0,coeffi,1)
+ coeffr(n+1)=1.0d+0
+c
+ do 10 j=1,n
+ if(abs(rootr(j)).gt.dlamch('o').or.
+ $ abs(rooti(j)).gt.dlamch('o')) then
+c . infinite roots gives zero high degree coeff
+ ninf=ninf+1
+ else
+ nj=n+1-j
+c call waxpy(j,-rootr(j),-rooti(j),coeffr(nj+1),coeffi(nj+1),1
+c $ ,coeffr(nj),coeffi(nj),1)
+ do k=nj,nj+j-1
+ coeffr(k)=coeffr(k)-rootr(j)*coeffr(1+k)+
+ $ rooti(j)*coeffi(1+k)
+ coeffi(k)=coeffi(k)-rootr(j)*coeffi(1+k)-
+ $ rooti(j)*coeffr(1+k)
+ enddo
+ endif
+ 10 continue
+
+ if (ninf.gt.0) then
+ call unsfdcopy(n-ninf+1,coeffr(ninf+1),1,coeffr(1),1)
+ call dset(ninf,0.0d0,coeffr(n-ninf+2),1)
+ call unsfdcopy(n-ninf+1,coeffi(ninf+1),1,coeffi(1),1)
+ call dset(ninf,0.0d0,coeffi(n-ninf+2),1)
+
+ endif
+c
+ return
+ end
diff --git a/modules/polynomials/src/fortran/wprxc.lo b/modules/polynomials/src/fortran/wprxc.lo
new file mode 100755
index 000000000..c5ac264a3
--- /dev/null
+++ b/modules/polynomials/src/fortran/wprxc.lo
@@ -0,0 +1,12 @@
+# src/fortran/wprxc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/wprxc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/src/fortran/writebufsfact.f b/modules/polynomials/src/fortran/writebufsfact.f
new file mode 100755
index 000000000..0d57abad5
--- /dev/null
+++ b/modules/polynomials/src/fortran/writebufsfact.f
@@ -0,0 +1,26 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) 2009 - DIGITEO - Allan CORNET
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+c ====================================
+c requires by f2c :(
+c ====================================
+ subroutine writebufstfacta(buffer,line)
+
+ character*(*) buffer
+ integer line
+ write(buffer,82) line
+ 82 format('No real solution: degree ',i2,' entry is negative!')
+ end
+c ====================================
+ subroutine writebufstfactb(buffer,line)
+
+ character*(*) buffer
+ integer line
+ write(buffer(1:4),'(i3)') line
+ end
+c ====================================
diff --git a/modules/polynomials/src/fortran/writebufsfact.lo b/modules/polynomials/src/fortran/writebufsfact.lo
new file mode 100755
index 000000000..905d2e362
--- /dev/null
+++ b/modules/polynomials/src/fortran/writebufsfact.lo
@@ -0,0 +1,12 @@
+# src/fortran/writebufsfact.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/writebufsfact.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/polynomials/tests/nonreg_tests/bug_10611.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_10611.dia.ref
new file mode 100755
index 000000000..28599fda9
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_10611.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 10611 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10611
+//
+// <-- Short Description -->
+// poly() function gave different results on 64 and 32-bit Scilab on Windows.
+//
+bPoles = [-0.3826834+%i*0.9238795
+-0.9238795+%i*0.3826834
+-0.9238795-%i*0.3826834
+-0.3826834-%i*0.9238795];
+sPoly = poly(bPoles, 's', 'roots');
+sRoots = roots(sPoly);
+sRoot_REF = [-0.3826834+0.9238795*%i; ..
+-0.3826834-0.9238795*%i; ..
+-0.9238795+0.3826834*%i; ..
+-0.9238795-0.3826834*%i];
+assert_checkalmostequal(sRoots, sRoot_REF);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_10611.tst b/modules/polynomials/tests/nonreg_tests/bug_10611.tst
new file mode 100755
index 000000000..be35f7f75
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_10611.tst
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 10611 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10611
+//
+// <-- Short Description -->
+// poly() function gave different results on 64 and 32-bit Scilab on Windows.
+//
+
+
+bPoles = [-0.3826834+%i*0.9238795
+-0.9238795+%i*0.3826834
+-0.9238795-%i*0.3826834
+-0.3826834-%i*0.9238795];
+
+sPoly = poly(bPoles, 's', 'roots');
+
+sRoots = roots(sPoly);
+
+sRoot_REF = [-0.3826834+0.9238795*%i; ..
+-0.3826834-0.9238795*%i; ..
+-0.9238795+0.3826834*%i; ..
+-0.9238795-0.3826834*%i];
+
+assert_checkalmostequal(sRoots, sRoot_REF);
+
diff --git a/modules/polynomials/tests/nonreg_tests/bug_11064.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_11064.dia.ref
new file mode 100755
index 000000000..0cf605bbc
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_11064.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 11064 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11064
+//
+// <-- Short Description -->
+// poly returns a wrong result on x64 (windows)
+//
+r = clean(coeff(poly(roots(poly([1 1 1],"x","c")),"x","r")));
+REF = [1 1 1];
+assert_checkalmostequal(r, REF);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_11064.tst b/modules/polynomials/tests/nonreg_tests/bug_11064.tst
new file mode 100755
index 000000000..4d9445d7f
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_11064.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 11064 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11064
+//
+// <-- Short Description -->
+// poly returns a wrong result on x64 (windows)
+//
+
+r = clean(coeff(poly(roots(poly([1 1 1],"x","c")),"x","r")));
+REF = [1 1 1];
+assert_checkalmostequal(r, REF);
+
diff --git a/modules/polynomials/tests/nonreg_tests/bug_11110.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_11110.dia.ref
new file mode 100755
index 000000000..9fcc2c799
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_11110.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JAVA NOT MANDATORY -->
+//
+// <-- Non-regression test for bug 11110 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11110
+//
+// <-- Short Description -->
+// poly() result was wrong on windows x64
+//
+REF = [0 2 2 1];
+r = poly([0 -1+%i -1-%i],'s',"roots");
+assert_checkequal(coeff(r), REF);
+r = poly([-1+%i 0 -1-%i],'s',"roots");
+assert_checkequal(coeff(r), REF);
+r = poly([-1+%i -1-%i 0],'s',"roots");
+assert_checkequal(coeff(r), REF);
+r = poly([-1-%i -1+%i 0],'s',"roots");
+assert_checkequal(coeff(r), REF);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_11110.tst b/modules/polynomials/tests/nonreg_tests/bug_11110.tst
new file mode 100755
index 000000000..c4281b861
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_11110.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JAVA NOT MANDATORY -->
+//
+// <-- Non-regression test for bug 11110 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11110
+//
+// <-- Short Description -->
+// poly() result was wrong on windows x64
+//
+
+REF = [0 2 2 1];
+
+r = poly([0 -1+%i -1-%i],'s',"roots");
+assert_checkequal(coeff(r), REF);
+
+r = poly([-1+%i 0 -1-%i],'s',"roots");
+assert_checkequal(coeff(r), REF);
+
+r = poly([-1+%i -1-%i 0],'s',"roots");
+assert_checkequal(coeff(r), REF);
+
+r = poly([-1-%i -1+%i 0],'s',"roots");
+assert_checkequal(coeff(r), REF);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_12679.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_12679.dia.ref
new file mode 100755
index 000000000..1a295ae54
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_12679.dia.ref
@@ -0,0 +1,55 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12679 -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12679
+//
+// <-- Short Description -->
+// Checks on gcd() and lcm() arguments
+// Run with test_run('polynomials', 'bug_12679', ['no_check_error_output'])
+////////////////// gcd
+// Normal behavior, with polynomials
+s = poly(0, "s");
+p = [s, s*(s+1)^2, 2*s^2+s^3];
+[pgcd, u] = gcd(p);
+assert_checkequal(p*u, [0 0 s]);
+// Complex polynomials should yield an error
+// Normal behavior, with integers
+V = [2^2*3^5 2^3*3^2 2^2*3^4*5];
+V_int = int32(V);
+[thegcd, U] = gcd(V);
+[thegcd, U_int] = gcd(V);
+assert_checkequal(V*U, int32([0 0 36]));
+assert_checkequal(V_int*U_int, int32([0 0 36]));
+assert_checkequal(gcd(uint8([15 20])), uint8(5));
+assert_checkequal(gcd([iconvert(15, 4) iconvert(20, 4)]), int32(5));
+assert_checkequal(gcd(iconvert([15 20], 4)), int32(5));
+// Trying to use booleans, strings or decimals should yield an error
+refMsg2 = msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "gcd", 1);
+assert_checkerror("gcd(%t);", refMsg2);
+assert_checkerror("gcd(1.5);", refMsg2);
+assert_checkerror("gcd(""string"");", refMsg2);
+////////////////// lcm
+// Normal behavior, with polynomials
+s = poly(0, "s");
+p = [s, s*(s+1)^2, s^2*(s+2)];
+[pp, fact] = lcm(p);
+assert_checkequal(pp, [2*s^2 + 5*s^3 + 4*s^4 + s^5]);
+// Normal behavior, with integers
+V = [2^2*3^5 2^3*3^2 2^2*3^4*5];
+V_int = int32(V);
+assert_checkequal(lcm(V), int32(9720));
+assert_checkequal(lcm(V_int), int32(9720));
+// Trying to use booleans, strings or decimals should yield an error
+refMsg4 = msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "lcm", 1);
+assert_checkerror("lcm(%t);", refMsg4);
+assert_checkerror("lcm(1.5);", refMsg4);
+assert_checkerror("lcm(""string"");", refMsg4);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_12679.tst b/modules/polynomials/tests/nonreg_tests/bug_12679.tst
new file mode 100755
index 000000000..88f98ddd6
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_12679.tst
@@ -0,0 +1,61 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12679 -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12679
+//
+// <-- Short Description -->
+// Checks on gcd() and lcm() arguments
+
+// Run with test_run('polynomials', 'bug_12679', ['no_check_error_output'])
+
+////////////////// gcd
+// Normal behavior, with polynomials
+s = poly(0, "s");
+p = [s, s*(s+1)^2, 2*s^2+s^3];
+[pgcd, u] = gcd(p);
+assert_checkequal(p*u, [0 0 s]);
+// Complex polynomials should yield an error
+
+// Normal behavior, with integers
+V = [2^2*3^5 2^3*3^2 2^2*3^4*5];
+V_int = int32(V);
+[thegcd, U] = gcd(V);
+[thegcd, U_int] = gcd(V);
+assert_checkequal(V*U, int32([0 0 36]));
+assert_checkequal(V_int*U_int, int32([0 0 36]));
+assert_checkequal(gcd(uint8([15 20])), uint8(5));
+assert_checkequal(gcd([iconvert(15, 4) iconvert(20, 4)]), int32(5));
+assert_checkequal(gcd(iconvert([15 20], 4)), int32(5));
+// Trying to use booleans, strings or decimals should yield an error
+refMsg2 = msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "gcd", 1);
+assert_checkerror("gcd(%t);", refMsg2);
+assert_checkerror("gcd(1.5);", refMsg2);
+assert_checkerror("gcd(""string"");", refMsg2);
+
+
+////////////////// lcm
+// Normal behavior, with polynomials
+s = poly(0, "s");
+p = [s, s*(s+1)^2, s^2*(s+2)];
+[pp, fact] = lcm(p);
+assert_checkequal(pp, [2*s^2 + 5*s^3 + 4*s^4 + s^5]);
+
+// Normal behavior, with integers
+V = [2^2*3^5 2^3*3^2 2^2*3^4*5];
+V_int = int32(V);
+assert_checkequal(lcm(V), int32(9720));
+assert_checkequal(lcm(V_int), int32(9720));
+// Trying to use booleans, strings or decimals should yield an error
+refMsg4 = msprintf(_("%s: Wrong type for argument #%d: Integer array or Polynomial expected.\n"), "lcm", 1);
+assert_checkerror("lcm(%t);", refMsg4);
+assert_checkerror("lcm(1.5);", refMsg4);
+assert_checkerror("lcm(""string"");", refMsg4);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_13192.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_13192.dia.ref
new file mode 100755
index 000000000..099b25c2c
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_13192.dia.ref
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13192 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13192
+//
+// <-- Short Description -->
+// Horner function returned an error message when the input arguments did not
+// have the same size.
+s = %s;
+H = [1/s; 1/s; 1/(s+1)];
+f = [1+%i 1/(1-s)];
+expectedN = [1 1-5*s+10*s^2-10*s^3+5*s^4-s^5; 1 1-5*s+10*s^2-10*s^3+5*s^4-s^5; 1 1-5*s+10*s^2-10*s^3+5*s^4-s^5];
+expectedD = [1+%i 1-4*s+6*s^2-4*s^3+s^4; 1+%i 1-4*s+6*s^2-4*s^3+s^4; 2+%i 2-9*s+16*s^2-14*s^3+6*s^4-s^5];
+expected = expectedN./expectedD;
+res = horner(H,f);
+assert_checkequal(res, expected);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_13192.tst b/modules/polynomials/tests/nonreg_tests/bug_13192.tst
new file mode 100755
index 000000000..47d177c8d
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_13192.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13192 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13192
+//
+// <-- Short Description -->
+// Horner function returned an error message when the input arguments did not
+// have the same size.
+
+s = %s;
+H = [1/s; 1/s; 1/(s+1)];
+f = [1+%i 1/(1-s)];
+expectedN = [1 1-5*s+10*s^2-10*s^3+5*s^4-s^5; 1 1-5*s+10*s^2-10*s^3+5*s^4-s^5; 1 1-5*s+10*s^2-10*s^3+5*s^4-s^5];
+expectedD = [1+%i 1-4*s+6*s^2-4*s^3+s^4; 1+%i 1-4*s+6*s^2-4*s^3+s^4; 2+%i 2-9*s+16*s^2-14*s^3+6*s^4-s^5];
+expected = expectedN./expectedD;
+res = horner(H,f);
+assert_checkequal(res, expected);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_13511.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_13511.dia.ref
new file mode 100755
index 000000000..d5828b2f9
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_13511.dia.ref
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13511 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13511
+//
+// <-- Short Description -->
+// lcm used with doubles returned wrong type values,
+// bezout help did not mention doubles.
+assert_checkequal(lcm([96 6250 10000 18700]), int32(56100000));
+[P, U] = bezout(3.5, 4.2);
+assert_checkequal(coeff(P), 1);
+assert_checkalmostequal(coeff(U), [0 4.2; 1/4.2 -3.5]);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_13511.tst b/modules/polynomials/tests/nonreg_tests/bug_13511.tst
new file mode 100755
index 000000000..113adf7b0
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_13511.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13511 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13511
+//
+// <-- Short Description -->
+// lcm used with doubles returned wrong type values,
+// bezout help did not mention doubles.
+
+assert_checkequal(lcm([96 6250 10000 18700]), int32(56100000));
+
+[P, U] = bezout(3.5, 4.2);
+assert_checkequal(coeff(P), 1);
+assert_checkalmostequal(coeff(U), [0 4.2; 1/4.2 -3.5]);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_201.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_201.dia.ref
new file mode 100755
index 000000000..58be9f4b9
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_201.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 201 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=201
+//
+// <-- Short Description -->
+// modulo function error
+x=poly(0,'x');
+q=200001;
+if modulo(q*x,q)<>0 then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_201.tst b/modules/polynomials/tests/nonreg_tests/bug_201.tst
new file mode 100755
index 000000000..49b67ced2
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_201.tst
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 201 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=201
+//
+// <-- Short Description -->
+// modulo function error
+
+
+x=poly(0,'x');
+q=200001;
+if modulo(q*x,q)<>0 then pause,end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_205.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_205.dia.ref
new file mode 100755
index 000000000..112de5b15
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_205.dia.ref
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 205 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=205
+//
+// <-- Short Description -->
+// Bug Report Id: 04062001110115540
+// determ oublie les termes de plus haut degre.
+//
+// On Scilab 2.5 with " determ " function
+// The Error Messages are:
+//
+// Commands: // scilab dit que le polynome caracteristique de
+// // cette matrice de dimension
+// // 30 est de degre 21
+// N=30
+// a=rand(N,N)
+// s=poly(0,'s')
+// p=determ(eye(N,N)*s-a)
+// degree(p)
+//
+// Gaubert on Linux PPC version 2.2.13 distribution with X/kde as window manager
+// France February 10, 2001 at 11:55:40
+// <-- ENGLISH IMPOSED -->
+N = 30;
+A = rand(N,N);
+P = determ( eye(N,N)*%s - A );
+if degree(P)<>30 then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_205.tst b/modules/polynomials/tests/nonreg_tests/bug_205.tst
new file mode 100755
index 000000000..6dbb80f38
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_205.tst
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 205 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=205
+//
+// <-- Short Description -->
+// Bug Report Id: 04062001110115540
+// determ oublie les termes de plus haut degre.
+//
+// On Scilab 2.5 with " determ " function
+// The Error Messages are:
+//
+// Commands: // scilab dit que le polynome caracteristique de
+// // cette matrice de dimension
+// // 30 est de degre 21
+// N=30
+// a=rand(N,N)
+// s=poly(0,'s')
+// p=determ(eye(N,N)*s-a)
+// degree(p)
+//
+// Gaubert on Linux PPC version 2.2.13 distribution with X/kde as window manager
+// France February 10, 2001 at 11:55:40
+// <-- ENGLISH IMPOSED -->
+
+N = 30;
+A = rand(N,N);
+P = determ( eye(N,N)*%s - A );
+
+if degree(P)<>30 then pause,end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2177.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_2177.dia.ref
new file mode 100755
index 000000000..9c61fe0fd
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2177.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2177 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2177
+//
+// <-- Short Description -->
+// When i calculate roots of a simple matrix 2X2, using function ROOTS, Scilab crashes.
+A=[1,2;3,4];
+S=poly(A,"x");
+[y]=roots(S);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2177.tst b/modules/polynomials/tests/nonreg_tests/bug_2177.tst
new file mode 100755
index 000000000..6893ed4f7
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2177.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2177 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2177
+//
+// <-- Short Description -->
+// When i calculate roots of a simple matrix 2X2, using function ROOTS, Scilab crashes.
+
+A=[1,2;3,4];
+S=poly(A,"x");
+[y]=roots(S);
+
+
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2264.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_2264.dia.ref
new file mode 100755
index 000000000..dee4bd146
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2264.dia.ref
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2264 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2264
+//
+// <-- Short Description -->
+// lcm gives wrong value for 3-element vectors(cf bug 666)
+[q,fact]=lcm(int32([-6 5 7 12 4]));
+if q<>int32(420) then bugmes();quit;end
+[q,fact]=lcm(int32([6 5 7 3 4])) ;
+if q<>int32(420) then bugmes();quit;end
+[q,fact]=lcm(int32([-6 5 1 3 4]));
+if q<>int32(60) then bugmes();quit;end
+[q,fact]=lcm(int32([-6 5 0 3 4]));
+if q<>int32(0) then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2264.tst b/modules/polynomials/tests/nonreg_tests/bug_2264.tst
new file mode 100755
index 000000000..e7f7dc2b4
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2264.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2264 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2264
+//
+// <-- Short Description -->
+// lcm gives wrong value for 3-element vectors(cf bug 666)
+
+[q,fact]=lcm(int32([-6 5 7 12 4]));
+if q<>int32(420) then pause,end
+
+[q,fact]=lcm(int32([6 5 7 3 4])) ;
+if q<>int32(420) then pause,end
+
+[q,fact]=lcm(int32([-6 5 1 3 4]));
+if q<>int32(60) then pause,end
+
+[q,fact]=lcm(int32([-6 5 0 3 4]));
+if q<>int32(0) then pause,end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2391.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_2391.dia.ref
new file mode 100755
index 000000000..78b97bf01
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2391.dia.ref
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 2391 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2391
+//
+// <-- Short Description -->
+// pol2str produces empty output (instead of '0') for null polynomials
+p = poly([0,10,1+%i,1-%i],"x");
+if stripblanks(pol2str(p))<>"-20*x+22*x^2-12*x^3+x^4" then bugmes();quit;end
+if pol2str(0*p)<>"0" then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2391.tst b/modules/polynomials/tests/nonreg_tests/bug_2391.tst
new file mode 100755
index 000000000..506599fae
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2391.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 2391 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2391
+//
+// <-- Short Description -->
+// pol2str produces empty output (instead of '0') for null polynomials
+
+p = poly([0,10,1+%i,1-%i],"x");
+if stripblanks(pol2str(p))<>"-20*x+22*x^2-12*x^3+x^4" then pause,end
+if pol2str(0*p)<>"0" then pause,end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2492.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_2492.dia.ref
new file mode 100755
index 000000000..78f288841
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2492.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2492 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2492
+//
+// <-- Short Description -->
+// missing tests on formal variable name validity
+if execstr('poly(1:3,''c+'')','errcatch')==0 then bugmes();quit;end
+if execstr('poly(1:3,'' c'')','errcatch')==0 then bugmes();quit;end
+if execstr('poly(1:3,''1c'')','errcatch')==0 then bugmes();quit;end
+if execstr('poly(1:3,''c*'')','errcatch')==0 then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2492.tst b/modules/polynomials/tests/nonreg_tests/bug_2492.tst
new file mode 100755
index 000000000..f636d0e93
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2492.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2492 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2492
+//
+// <-- Short Description -->
+// missing tests on formal variable name validity
+if execstr('poly(1:3,''c+'')','errcatch')==0 then pause,end
+if execstr('poly(1:3,'' c'')','errcatch')==0 then pause,end
+if execstr('poly(1:3,''1c'')','errcatch')==0 then pause,end
+if execstr('poly(1:3,''c*'')','errcatch')==0 then pause,end
+
+
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2834.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_2834.dia.ref
new file mode 100755
index 000000000..874cc9d4a
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2834.dia.ref
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 2834 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2834
+//
+// <-- Short Description -->
+// strange bug that appeared in scilab-5.0-alpha2 and disapeared then
+// the code below produced n=2 instead of 1
+n1=poly([4/3 1-%eps/2],'x','c');
+d1=poly([4/3 1],'x','c');
+[n,d]=simp(n1,d1);
+if or(abs(coeff(n)-1)>10*%eps) then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_2834.tst b/modules/polynomials/tests/nonreg_tests/bug_2834.tst
new file mode 100755
index 000000000..da6946e1d
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_2834.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2834 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2834
+//
+// <-- Short Description -->
+// strange bug that appeared in scilab-5.0-alpha2 and disapeared then
+// the code below produced n=2 instead of 1
+
+n1=poly([4/3 1-%eps/2],'x','c');
+d1=poly([4/3 1],'x','c');
+[n,d]=simp(n1,d1);
+if or(abs(coeff(n)-1)>10*%eps) then pause,end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_3006.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_3006.dia.ref
new file mode 100755
index 000000000..6654a345f
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_3006.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 3006 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3006
+//
+// <-- Short Description -->
+// submatrix assignment impossible when the matrix is indexed with a boolean array of falses
+s=poly(0,'s');
+a=[1+s 2;3 4*s];a_ref=a;
+a(1,[%f %f])=[];
+if or(a<>a_ref) then bugmes();quit;end
+a([%f %f],1)=[];
+if or(a<>a_ref) then bugmes();quit;end
+a([%f %f],[%f %f])=[];
+if or(a<>a_ref) then bugmes();quit;end
+a(1,$:1)=[];
+if or(a<>a_ref) then bugmes();quit;end
+a($:1,1)=[];
+if or(a<>a_ref) then bugmes();quit;end
+a($:1,$:1)=[];
+if or(a<>a_ref) then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_3006.tst b/modules/polynomials/tests/nonreg_tests/bug_3006.tst
new file mode 100755
index 000000000..9d7e60b7c
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_3006.tst
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 3006 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3006
+//
+// <-- Short Description -->
+// submatrix assignment impossible when the matrix is indexed with a boolean array of falses
+s=poly(0,'s');
+a=[1+s 2;3 4*s];a_ref=a;
+
+a(1,[%f %f])=[];
+if or(a<>a_ref) then pause,end
+a([%f %f],1)=[];
+if or(a<>a_ref) then pause,end
+a([%f %f],[%f %f])=[];
+if or(a<>a_ref) then pause,end
+
+a(1,$:1)=[];
+if or(a<>a_ref) then pause,end
+a($:1,1)=[];
+if or(a<>a_ref) then pause,end
+a($:1,$:1)=[];
+if or(a<>a_ref) then pause,end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_3810.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_3810.dia.ref
new file mode 100755
index 000000000..414d9c873
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_3810.dia.ref
@@ -0,0 +1,69 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 3810 -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3810
+//
+// <-- Short Description -->
+// Insertion in string array and polynomial array may be very slow
+w=warning('query');
+warning('off');
+T=[];
+N=[ (5:9)*10000 (1:9)*100000];
+for n=N
+ clear t
+ timer();t(1:n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then bugmes();quit;end
+T=[];
+for n=N
+ clear t
+ timer();t(2,1:n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then bugmes();quit;end
+T=[];
+for n=N
+ clear t
+ timer();t(1:n,2)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then bugmes();quit;end
+T=[];
+N=[ (5:9)*10000 (1:9)*100000];
+for n=N
+ clear t
+ timer();t(n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then bugmes();quit;end
+T=[];
+for n=N
+ clear t
+ timer();t(2,n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then bugmes();quit;end
+T=[];
+for n=N
+ clear t
+ timer();t(n,2)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then bugmes();quit;end
+warning(w);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_3810.tst b/modules/polynomials/tests/nonreg_tests/bug_3810.tst
new file mode 100755
index 000000000..2c11c1dec
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_3810.tst
@@ -0,0 +1,76 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 3810 -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3810
+//
+// <-- Short Description -->
+// Insertion in string array and polynomial array may be very slow
+w=warning('query');
+warning('off');
+T=[];
+N=[ (5:9)*10000 (1:9)*100000];
+for n=N
+ clear t
+ timer();t(1:n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then pause,end
+
+T=[];
+for n=N
+ clear t
+ timer();t(2,1:n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then pause,end
+
+T=[];
+for n=N
+ clear t
+ timer();t(1:n,2)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then pause,end
+
+T=[];
+N=[ (5:9)*10000 (1:9)*100000];
+for n=N
+ clear t
+ timer();t(n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then pause,end
+
+T=[];
+for n=N
+ clear t
+ timer();t(2,n)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then pause,end
+
+T=[];
+for n=N
+ clear t
+ timer();t(n,2)=%s;T=[T timer()];
+end
+//check for quasi linear evolution of T(n)
+abc=T/[N^2;N;ones(N)];
+if abc(1)/norm(abc(2:3))>1d-3 then pause,end
+
+
+warning(w);
diff --git a/modules/polynomials/tests/nonreg_tests/bug_415.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_415.dia.ref
new file mode 100755
index 000000000..4fd5e34da
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_415.dia.ref
@@ -0,0 +1,177 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+// <-- Non-regression test for bug 415 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=415
+//
+// <-- Short Description -->
+//Bug Report Id: 12703200082791817
+// There is no convergence problem, but the roots given by Scilab are false.
+//
+//With Pari and Maple, I find
+//
+//-1.991414471058644760261615564 + 0.E-28*I
+//-1.895889044296221748848819128 + 0.E-28*I
+//-1.692382605570622810325758964 + 0.E-28*I
+//-1.481546143424463443623878009 + 0.E-28*I
+//-1.130257610083694441233635997 + 0.E-28*I
+//1.346891063469017079426003177 + 0.E-28*I
+//1.504013628510203282791611562 + 0.E-28*I
+//1.846667981457346134709529025 + 0.E-28*I
+//0.3354022818049053224733928984 - 0.1602901760665646683439370449*I
+//0.3354022818049053224733928984 + 0.1602901760665646683439370449*I
+//-0.5652255834927430850816775162 - 0.06550796263368989842265750483*I
+//-0.5652255834927430850816775162 + 0.06550796263368989842265750483*I
+//1.976781902186378116291566567 - 0.03475891968883585523494112251*I
+//1.976781902186378116291566567 + 0.03475891968883585523494112251*I
+//
+//
+//With Scilab, I find
+//
+//! 0.3354023 + 0.1602902i !
+//! 0.3354023 - 0.1602902i !
+//! - 0.5652256 + 0.0655080i !
+//! - 0.5652256 - 0.0655080i !
+//! - 1.1302576 !
+//! 1.3468911 !
+//! 1.5040136 !
+//! - 1.4815461 !
+//! - 1.6923826 !
+//! 1.846668 !
+//! - 1.895889 !
+//! 1.9736772 !
+//! - 1.9914145 !
+//! 1.9798866 !
+//
+//
+//So, Scilab forget two roots, and give two others which are not roots of p.
+//
+//
+//On Scilab 2.5-0 with " roots " function
+//The Error Messages are:
+// No error message, but the roots are false
+//Commands: t=poly(0,"t");
+//p=t^14 - 15*t^12 - t^11 + 89*t^10 + 12*t^9 - 263*t^8 - 53*t^7 + 397*t^6 + 103*t^5 - 275*t^4 - 78*t^3 + 62*t^2 + 8*t - 7
+//roots(p)
+//
+//
+//Jean-Marc Sac-Epée on Linux PC version Linux distribution Mandrake 7.1 with KDE as window manager
+//France September 27, 2000 at 9:18:17
+//
+// sort_merge_comparison --
+// Returns -1 if x < y,
+// returns 0 if x==y,
+// returns +1 if x > y
+//
+function order = sort_merge_comparison ( x , y )
+ if x < y then
+ order = -1
+ elseif x==y then
+ order = 0
+ else
+ order = 1
+ end
+endfunction
+//
+// sort_merge --
+// Returns the sorted array x.
+// Arguments
+// x : the array to sort
+// compfun : the comparison function
+// data : an optional data to pass to the comparison function
+// Bruno Pincon
+// "quelques tests de rapidité entre différents logiciels matriciels"
+// Modified by Michael Baudin to manage a comparison function
+//
+function [x] = sort_merge ( varargin )
+ [lhs,rhs]=argn();
+ if ( ( rhs<>1 ) & ( rhs<>2 ) & ( rhs<>3 ) ) then
+ errmsg = sprintf("Unexpected number of arguments : %d provided while 1, 2 or 3 are expected.",rhs);
+ error(errmsg)
+ end
+ // Get the array x
+ x = varargin(1);
+ // Get the comparison function compfun
+ if rhs==1 then
+ compfun = sort_merge_comparison;
+ else
+ compfun = varargin(2);
+ if ( rhs == 3 ) then
+ data = varargin(3);
+ end
+ end
+ // Proceed...
+ n = length(x)
+ if n > 1 then
+ m = floor(n/2);
+ p = n-m
+ if ( rhs == 3 ) then
+ x1 = sort_merge ( x(1:m) , compfun , data )
+ x2 = sort_merge ( x(m+1:n) , compfun , data )
+ else
+ x1 = sort_merge ( x(1:m) , compfun )
+ x2 = sort_merge ( x(m+1:n) , compfun )
+ end
+ i = 1;
+ i1 = 1;
+ i2 = 1;
+ for i = 1:n
+ if ( rhs == 3 ) then
+ order = compfun ( x1(i1) , x2(i2) , data );
+ else
+ order = compfun ( x1(i1) , x2(i2) );
+ end
+ if order<=0 then
+ x(i) = x1(i1)
+ i1 = i1+1
+ if (i1 > m) then
+ x(i+1:n) = x2(i2:p)
+ break
+ end
+ else
+ x(i) = x2(i2)
+ i2 = i2+1
+ if (i2 > p) then
+ x(i+1:n) = x1(i1:m)
+ break
+ end
+ end
+ end
+ end
+endfunction
+function order = mycomparison ( x , y , data )
+ order = assert_comparecomplex(x,y,data(1),data(2))
+endfunction
+// There is no problem in this test: only the order of the
+// eigenvalues change.
+t=poly(0,"t");
+p=t^14 - 15*t^12 - t^11 + 89*t^10 + 12*t^9 - 263*t^8 - 53*t^7 + 397*t^6 + 103*t^5 - 275*t^4 - 78*t^3 + 62*t^2 + 8*t - 7;
+myroots=roots(p);
+//computedroots = sort(myroots);
+computed = sort_merge ( myroots , mycomparison , [%eps,0] );
+expected = [
+- 1.9914144710587742270747
+- 1.89588904429592775003
+- 1.6923826055708985904857
+- 1.4815461434243473171080
+- 1.1302576100836980721454
+- 0.5652255834927423228109 - 0.0655079626336916437390*%i
+- 0.5652255834927423228109 + 0.0655079626336916437390*%i
+0.3354022818049053333844 - 0.1602901760665648156490*%i
+0.3354022818049053333844 + 0.1602901760665648156490*%i
+1.346891063468121929603
+1.5040136285121223913563
+1.8466679814523012659322
+1.9767819021883872299128 - 0.0347589196932355307124*%i
+1.9767819021883872299128 + 0.0347589196932355307124*%i
+];
+// Precision measured with experiments
+assert_checkalmostequal ( computed , expected , 10^6*%eps );
diff --git a/modules/polynomials/tests/nonreg_tests/bug_415.tst b/modules/polynomials/tests/nonreg_tests/bug_415.tst
new file mode 100755
index 000000000..4dd43ee80
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_415.tst
@@ -0,0 +1,185 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- NO CHECK REF -->
+// <-- Non-regression test for bug 415 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=415
+//
+// <-- Short Description -->
+//Bug Report Id: 12703200082791817
+// There is no convergence problem, but the roots given by Scilab are false.
+//
+//With Pari and Maple, I find
+//
+//-1.991414471058644760261615564 + 0.E-28*I
+//-1.895889044296221748848819128 + 0.E-28*I
+//-1.692382605570622810325758964 + 0.E-28*I
+//-1.481546143424463443623878009 + 0.E-28*I
+//-1.130257610083694441233635997 + 0.E-28*I
+//1.346891063469017079426003177 + 0.E-28*I
+//1.504013628510203282791611562 + 0.E-28*I
+//1.846667981457346134709529025 + 0.E-28*I
+//0.3354022818049053224733928984 - 0.1602901760665646683439370449*I
+//0.3354022818049053224733928984 + 0.1602901760665646683439370449*I
+//-0.5652255834927430850816775162 - 0.06550796263368989842265750483*I
+//-0.5652255834927430850816775162 + 0.06550796263368989842265750483*I
+//1.976781902186378116291566567 - 0.03475891968883585523494112251*I
+//1.976781902186378116291566567 + 0.03475891968883585523494112251*I
+//
+//
+//With Scilab, I find
+//
+//! 0.3354023 + 0.1602902i !
+//! 0.3354023 - 0.1602902i !
+//! - 0.5652256 + 0.0655080i !
+//! - 0.5652256 - 0.0655080i !
+//! - 1.1302576 !
+//! 1.3468911 !
+//! 1.5040136 !
+//! - 1.4815461 !
+//! - 1.6923826 !
+//! 1.846668 !
+//! - 1.895889 !
+//! 1.9736772 !
+//! - 1.9914145 !
+//! 1.9798866 !
+//
+//
+//So, Scilab forget two roots, and give two others which are not roots of p.
+//
+//
+//On Scilab 2.5-0 with " roots " function
+//The Error Messages are:
+// No error message, but the roots are false
+//Commands: t=poly(0,"t");
+//p=t^14 - 15*t^12 - t^11 + 89*t^10 + 12*t^9 - 263*t^8 - 53*t^7 + 397*t^6 + 103*t^5 - 275*t^4 - 78*t^3 + 62*t^2 + 8*t - 7
+//roots(p)
+//
+//
+//Jean-Marc Sac-Epée on Linux PC version Linux distribution Mandrake 7.1 with KDE as window manager
+//France September 27, 2000 at 9:18:17
+
+//
+// sort_merge_comparison --
+// Returns -1 if x < y,
+// returns 0 if x==y,
+// returns +1 if x > y
+//
+function order = sort_merge_comparison ( x , y )
+ if x < y then
+ order = -1
+ elseif x==y then
+ order = 0
+ else
+ order = 1
+ end
+endfunction
+
+//
+// sort_merge --
+// Returns the sorted array x.
+// Arguments
+// x : the array to sort
+// compfun : the comparison function
+// data : an optional data to pass to the comparison function
+// Bruno Pincon
+// "quelques tests de rapidité entre différents logiciels matriciels"
+// Modified by Michael Baudin to manage a comparison function
+//
+function [x] = sort_merge ( varargin )
+ [lhs,rhs]=argn();
+ if ( ( rhs<>1 ) & ( rhs<>2 ) & ( rhs<>3 ) ) then
+ errmsg = sprintf("Unexpected number of arguments : %d provided while 1, 2 or 3 are expected.",rhs);
+ error(errmsg)
+ end
+ // Get the array x
+ x = varargin(1);
+ // Get the comparison function compfun
+ if rhs==1 then
+ compfun = sort_merge_comparison;
+ else
+ compfun = varargin(2);
+ if ( rhs == 3 ) then
+ data = varargin(3);
+ end
+ end
+ // Proceed...
+ n = length(x)
+ if n > 1 then
+ m = floor(n/2);
+ p = n-m
+ if ( rhs == 3 ) then
+ x1 = sort_merge ( x(1:m) , compfun , data )
+ x2 = sort_merge ( x(m+1:n) , compfun , data )
+ else
+ x1 = sort_merge ( x(1:m) , compfun )
+ x2 = sort_merge ( x(m+1:n) , compfun )
+ end
+ i = 1;
+ i1 = 1;
+ i2 = 1;
+ for i = 1:n
+ if ( rhs == 3 ) then
+ order = compfun ( x1(i1) , x2(i2) , data );
+ else
+ order = compfun ( x1(i1) , x2(i2) );
+ end
+ if order<=0 then
+ x(i) = x1(i1)
+ i1 = i1+1
+ if (i1 > m) then
+ x(i+1:n) = x2(i2:p)
+ break
+ end
+ else
+ x(i) = x2(i2)
+ i2 = i2+1
+ if (i2 > p) then
+ x(i+1:n) = x1(i1:m)
+ break
+ end
+ end
+ end
+ end
+endfunction
+
+
+function order = mycomparison ( x , y , data )
+ order = assert_comparecomplex(x,y,data(1),data(2))
+endfunction
+
+
+// There is no problem in this test: only the order of the
+// eigenvalues change.
+t=poly(0,"t");
+p=t^14 - 15*t^12 - t^11 + 89*t^10 + 12*t^9 - 263*t^8 - 53*t^7 + 397*t^6 + 103*t^5 - 275*t^4 - 78*t^3 + 62*t^2 + 8*t - 7;
+myroots=roots(p);
+//computedroots = sort(myroots);
+computed = sort_merge ( myroots , mycomparison , [%eps,0] );
+expected = [
+- 1.9914144710587742270747
+- 1.89588904429592775003
+- 1.6923826055708985904857
+- 1.4815461434243473171080
+- 1.1302576100836980721454
+- 0.5652255834927423228109 - 0.0655079626336916437390*%i
+- 0.5652255834927423228109 + 0.0655079626336916437390*%i
+0.3354022818049053333844 - 0.1602901760665648156490*%i
+0.3354022818049053333844 + 0.1602901760665648156490*%i
+1.346891063468121929603
+1.5040136285121223913563
+1.8466679814523012659322
+1.9767819021883872299128 - 0.0347589196932355307124*%i
+1.9767819021883872299128 + 0.0347589196932355307124*%i
+];
+// Precision measured with experiments
+assert_checkalmostequal ( computed , expected , 10^6*%eps );
diff --git a/modules/polynomials/tests/nonreg_tests/bug_5686.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_5686.dia.ref
new file mode 100755
index 000000000..b44c60073
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_5686.dia.ref
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 5686 -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5686
+//
+// <-- Short Description -->
+// Complex number manipulation could crash Scilab.
+s = poly(0,'s');
+tt = [ - 3.4817634, 0, 0, 0, 0, - 0.8107945, - 0.0311558, 0];
+tt1 = (0*%i+[ - 3.4859813,0, 0, 0, 0, - 0.8157716, - 0.0313009, 0]);
+ttt = [-.9, 10.7, 0,0,0,-1.1,-8.7,0];
+a0 = (1 ./(s- tt)) * ttt';
+a1 = (1 ./(s- tt1)) * ttt';
+if execstr("a2 = (1 ./(s- tt1'')) * ttt;", "errcatch") <> 0 then bugmes();quit;end
+if execstr("a3 = (1 ./(s- tt'')) * ttt;", "errcatch") <> 0 then bugmes();quit;end
+if size(a2, "*") <> size(a3, "*") then bugmes();quit;end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_5686.tst b/modules/polynomials/tests/nonreg_tests/bug_5686.tst
new file mode 100755
index 000000000..8213d30a1
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_5686.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 5686 -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5686
+//
+// <-- Short Description -->
+// Complex number manipulation could crash Scilab.
+
+s = poly(0,'s');
+tt = [ - 3.4817634, 0, 0, 0, 0, - 0.8107945, - 0.0311558, 0];
+tt1 = (0*%i+[ - 3.4859813,0, 0, 0, 0, - 0.8157716, - 0.0313009, 0]);
+ttt = [-.9, 10.7, 0,0,0,-1.1,-8.7,0];
+a0 = (1 ./(s- tt)) * ttt';
+a1 = (1 ./(s- tt1)) * ttt';
+if execstr("a2 = (1 ./(s- tt1'')) * ttt;", "errcatch") <> 0 then pause, end
+if execstr("a3 = (1 ./(s- tt'')) * ttt;", "errcatch") <> 0 then pause, end
+if size(a2, "*") <> size(a3, "*") then pause, end
diff --git a/modules/polynomials/tests/nonreg_tests/bug_7101.dia.ref b/modules/polynomials/tests/nonreg_tests/bug_7101.dia.ref
new file mode 100755
index 000000000..7fd6320d8
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_7101.dia.ref
@@ -0,0 +1,272 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 7101 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7101
+//
+// <-- Short Description -->
+// The roots / Jenkins-Traub algorithm does not produce the roots, sometimes.
+// The solution is to use the eigenvalues of the companion matrix.
+//
+// sort_merge_comparison --
+// Returns -1 if x < y,
+// returns 0 if x==y,
+// returns +1 if x > y
+//
+function order = sort_merge_comparison ( x , y )
+ if x < y then
+ order = -1
+ elseif x==y then
+ order = 0
+ else
+ order = 1
+ end
+endfunction
+//
+// sort_merge --
+// Returns the sorted array x.
+// Arguments
+// x : the array to sort
+// compfun : the comparison function
+// Bruno Pincon
+// "quelques tests de rapidit´e entre diff´erents logiciels matriciels"
+// Modified by Michael Baudin to manage a comparison function
+//
+function [x] = sort_merge ( varargin )
+ [lhs,rhs]=argn();
+ if rhs<>1 & rhs<>2 then
+ errmsg = sprintf("Unexpected number of arguments : %d provided while 1 or 2 are expected.",rhs);
+ error(errmsg)
+ end
+ // Get the array x
+ x = varargin(1);
+ // Get the comparison function compfun
+ if rhs==1 then
+ compfun = sort_merge_comparison;
+ else
+ compfun = varargin(2);
+ end
+ // Proceed...
+ n = length(x)
+ if n > 1 then
+ m = floor(n/2);
+ p = n-m
+ x1 = sort_merge ( x(1:m) , compfun )
+ x2 = sort_merge ( x(m+1:n) , compfun )
+ i = 1;
+ i1 = 1;
+ i2 = 1;
+ for i = 1:n
+ order = compfun ( x1(i1) , x2(i2) );
+ if order<=0 then
+ x(i) = x1(i1)
+ i1 = i1+1
+ if (i1 > m) then
+ x(i+1:n) = x2(i2:p)
+ break
+ end
+ else
+ x(i) = x2(i2)
+ i2 = i2+1
+ if (i2 > p) then
+ x(i+1:n) = x1(i1:m)
+ break
+ end
+ end
+ end
+ end
+endfunction
+//
+// compare_complexrealimag --
+// Returns -1 if a < b,
+// returns 0 if a==b,
+// returns +1 if a > b
+// Compare first by real parts, then by imaginary parts.
+//
+function order = compare_complexrealimag ( a , b )
+ ar = real(a)
+ br = real(b)
+ if ar < br then
+ order = -1
+ elseif ar > br then
+ order = 1
+ else
+ ai = imag(a)
+ bi = imag(b)
+ if ai < bi then
+ order = -1
+ elseif ai == bi then
+ order = 0
+ else
+ order = 1
+ end
+ end
+endfunction
+//
+// assert_close --
+// Returns 1 if the two real matrices computed and expected are close,
+// i.e. if the relative distance between computed and expected is lesser than epsilon.
+// Arguments
+// computed, expected : the two matrices to compare
+// epsilon : a small number
+//
+function flag = assert_close ( computed, expected, epsilon )
+ if expected==0.0 then
+ shift = norm(computed-expected);
+ else
+ shift = norm(computed-expected)/norm(expected);
+ end
+ if shift < epsilon then
+ flag = 1;
+ else
+ flag = 0;
+ end
+ if flag <> 1 then bugmes();quit;end
+endfunction
+function y = sortmyroots(x)
+ // Sort the roots of a polynomial with a customized
+ // complex-aware sorting algorithm.
+ y = sort_merge ( x , compare_complexrealimag );
+endfunction
+// Failed on Windows 32 bits
+p = [1,1,-7,-15,1,-4,4,7,4,-53,1,-53,-8,3,3,0,9,-15];
+r = roots(p);
+e = [
+ 2.9977242
+ - 2.0998215 + 1.0381514 * %i
+ - 2.0998215 - 1.0381514 * %i
+ - 1.1261224 + 0.7687233 * %i
+ - 1.1261224 - 0.7687233 * %i
+ 1.1176579 + 0.5115332 * %i
+ 1.1176579 - 0.5115332 * %i
+ - 0.7359417 + 0.3731641 * %i
+ - 0.7359417 - 0.3731641 * %i
+ 0.2849638 + 0.9531919 * %i
+ 0.2849638 - 0.9531919 * %i
+ 0.0897371 + 1.0370037 * %i
+ 0.0897371 - 1.0370037 * %i
+ - 0.1740455 + 0.9263179 * %i
+ - 0.1740455 - 0.9263179 * %i
+ 0.6447102 + 0.2914081 * %i
+ 0.6447102 - 0.2914081 * %i
+ ];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+// Failed on Mac, on Windows
+p=[1,1,-7,-35,1,-4,4,7,4,-88,1,-88,-8,3,3,0,9,-35];
+r = roots(p);
+e = [
+ 3.6133489
+ - 2.3323533 + 2.0888127 * %i
+ - 2.3323533 - 2.0888127 * %i
+ 1.0856792 + 0.5138318 * %i
+ 1.0856792 - 0.5138318 * %i
+ - 1.1030013 + 0.6108696 * %i
+ - 1.1030013 - 0.6108696 * %i
+ 0.3226838 + 0.9451270 * %i
+ 0.3226838 - 0.9451270 * %i
+ 0.0250044 + 1.0210451 * %i
+ 0.0250044 - 1.0210451 * %i
+ - 0.2556563 + 0.9467085 * %i
+ - 0.2556563 - 0.9467085 * %i
+ - 0.7512303 + 0.3765797 * %i
+ - 0.7512303 - 0.3765797 * %i
+ 0.7021994 + 0.3415821 * %i
+ 0.7021994 - 0.3415821 * %i
+];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+// Failed on Linux
+p=[1,1,-7,-80,1,-4,4,7,4,-27,1,-27,-8,3,3,0,9,-80];
+r = roots(p);
+e = [
+ - 2.7595524 + 3.1924496 * %i
+ - 2.7595524 - 3.1924496 * %i
+ 4.5006465
+ - 0.9689444 + 0.2683252 * %i
+ - 0.9689444 - 0.2683252 * %i
+ - 0.8111357 + 0.6166997 * %i
+ - 0.8111357 - 0.6166997 * %i
+ - 0.3893539 + 0.9194344 * %i
+ - 0.3893539 - 0.9194344 * %i
+ 0.0061369 + 1.0065796 * %i
+ 0.0061369 - 1.0065796 * %i
+ 0.4195701 + 0.9089127 * %i
+ 0.4195701 - 0.9089127 * %i
+ 0.9590394 + 0.2589039 * %i
+ 0.9590394 - 0.2589039 * %i
+ 0.7939168 + 0.5672744 * %i
+ 0.7939168 - 0.5672744 * %i
+];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+// Failed on Windows 32 bits
+p=[1,0,1,1,1,-1,-1,1,1,0,1,0,-1,-1,1,-2,0,0,1,-1,1];
+r = roots(p);
+e = [
+ 0.5444059 + 1.3082079 * %i
+ 0.5444059 - 1.3082079 * %i
+ - 1.0517348 + 0.2347104 * %i
+ - 1.0517348 - 0.2347104 * %i
+ - 0.5893898 + 0.9840032 * %i
+ - 0.5893898 - 0.9840032 * %i
+ - 0.8170407 + 0.5459189 * %i
+ - 0.8170407 - 0.5459189 * %i
+ - 0.6570402 + 0.7150468 * %i
+ - 0.6570402 - 0.7150468 * %i
+ 0.0129780 + 0.9748750 * %i
+ 0.0129780 - 0.9748750 * %i
+ 0.9192290 + 0.4894403 * %i
+ 0.9192290 - 0.4894403 * %i
+ 0.8691302 + 0.0832523 * %i
+ 0.8691302 - 0.0832523 * %i
+ 0.4975871 + 0.6807740 * %i
+ 0.4975871 - 0.6807740 * %i
+ 0.2718754 + 0.7528695 * %i
+ 0.2718754 - 0.7528695 * %i
+];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+// A loop on several polynomials
+for i=-100:100
+ if ( modulo(i,20)==0 ) then
+ mprintf("i=%d\n",i);
+ end
+ for j=-100:100
+ p=[1 1 -7 j 1 -4 4 7 4 i 1 i -8 3 3 0 9 j];
+ roots(p);
+ end;
+end;
+i=-100
+i=-80
+i=-60
+i=-40
+i=-20
+i=0
+i=20
+i=40
+i=60
+i=80
+i=100
+// A loop on random polynomials.
+// The coefficients are integers
+for i = 1:3000
+ if ( modulo(i,1000)==0 ) then
+ mprintf("i=%d\n",i);
+ end
+ p = [1 round(4*rand(1,20)-2)];
+ roots(p);
+end
+i=1000
+i=2000
+i=3000
diff --git a/modules/polynomials/tests/nonreg_tests/bug_7101.tst b/modules/polynomials/tests/nonreg_tests/bug_7101.tst
new file mode 100755
index 000000000..e9e34a72d
--- /dev/null
+++ b/modules/polynomials/tests/nonreg_tests/bug_7101.tst
@@ -0,0 +1,271 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 7101 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7101
+//
+// <-- Short Description -->
+// The roots / Jenkins-Traub algorithm does not produce the roots, sometimes.
+// The solution is to use the eigenvalues of the companion matrix.
+
+//
+// sort_merge_comparison --
+// Returns -1 if x < y,
+// returns 0 if x==y,
+// returns +1 if x > y
+//
+function order = sort_merge_comparison ( x , y )
+ if x < y then
+ order = -1
+ elseif x==y then
+ order = 0
+ else
+ order = 1
+ end
+endfunction
+
+//
+// sort_merge --
+// Returns the sorted array x.
+// Arguments
+// x : the array to sort
+// compfun : the comparison function
+// Bruno Pincon
+// "quelques tests de rapidit´e entre diff´erents logiciels matriciels"
+// Modified by Michael Baudin to manage a comparison function
+//
+function [x] = sort_merge ( varargin )
+ [lhs,rhs]=argn();
+ if rhs<>1 & rhs<>2 then
+ errmsg = sprintf("Unexpected number of arguments : %d provided while 1 or 2 are expected.",rhs);
+ error(errmsg)
+ end
+ // Get the array x
+ x = varargin(1);
+ // Get the comparison function compfun
+ if rhs==1 then
+ compfun = sort_merge_comparison;
+ else
+ compfun = varargin(2);
+ end
+ // Proceed...
+ n = length(x)
+ if n > 1 then
+ m = floor(n/2);
+ p = n-m
+ x1 = sort_merge ( x(1:m) , compfun )
+ x2 = sort_merge ( x(m+1:n) , compfun )
+ i = 1;
+ i1 = 1;
+ i2 = 1;
+ for i = 1:n
+ order = compfun ( x1(i1) , x2(i2) );
+ if order<=0 then
+ x(i) = x1(i1)
+ i1 = i1+1
+ if (i1 > m) then
+ x(i+1:n) = x2(i2:p)
+ break
+ end
+ else
+ x(i) = x2(i2)
+ i2 = i2+1
+ if (i2 > p) then
+ x(i+1:n) = x1(i1:m)
+ break
+ end
+ end
+ end
+ end
+endfunction
+
+//
+// compare_complexrealimag --
+// Returns -1 if a < b,
+// returns 0 if a==b,
+// returns +1 if a > b
+// Compare first by real parts, then by imaginary parts.
+//
+function order = compare_complexrealimag ( a , b )
+ ar = real(a)
+ br = real(b)
+ if ar < br then
+ order = -1
+ elseif ar > br then
+ order = 1
+ else
+ ai = imag(a)
+ bi = imag(b)
+ if ai < bi then
+ order = -1
+ elseif ai == bi then
+ order = 0
+ else
+ order = 1
+ end
+ end
+endfunction
+
+//
+// assert_close --
+// Returns 1 if the two real matrices computed and expected are close,
+// i.e. if the relative distance between computed and expected is lesser than epsilon.
+// Arguments
+// computed, expected : the two matrices to compare
+// epsilon : a small number
+//
+function flag = assert_close ( computed, expected, epsilon )
+ if expected==0.0 then
+ shift = norm(computed-expected);
+ else
+ shift = norm(computed-expected)/norm(expected);
+ end
+ if shift < epsilon then
+ flag = 1;
+ else
+ flag = 0;
+ end
+ if flag <> 1 then pause,end
+endfunction
+
+function y = sortmyroots(x)
+ // Sort the roots of a polynomial with a customized
+ // complex-aware sorting algorithm.
+ y = sort_merge ( x , compare_complexrealimag );
+endfunction
+
+// Failed on Windows 32 bits
+p = [1,1,-7,-15,1,-4,4,7,4,-53,1,-53,-8,3,3,0,9,-15];
+r = roots(p);
+e = [
+ 2.9977242
+ - 2.0998215 + 1.0381514 * %i
+ - 2.0998215 - 1.0381514 * %i
+ - 1.1261224 + 0.7687233 * %i
+ - 1.1261224 - 0.7687233 * %i
+ 1.1176579 + 0.5115332 * %i
+ 1.1176579 - 0.5115332 * %i
+ - 0.7359417 + 0.3731641 * %i
+ - 0.7359417 - 0.3731641 * %i
+ 0.2849638 + 0.9531919 * %i
+ 0.2849638 - 0.9531919 * %i
+ 0.0897371 + 1.0370037 * %i
+ 0.0897371 - 1.0370037 * %i
+ - 0.1740455 + 0.9263179 * %i
+ - 0.1740455 - 0.9263179 * %i
+ 0.6447102 + 0.2914081 * %i
+ 0.6447102 - 0.2914081 * %i
+ ];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+
+// Failed on Mac, on Windows
+p=[1,1,-7,-35,1,-4,4,7,4,-88,1,-88,-8,3,3,0,9,-35];
+r = roots(p);
+e = [
+ 3.6133489
+ - 2.3323533 + 2.0888127 * %i
+ - 2.3323533 - 2.0888127 * %i
+ 1.0856792 + 0.5138318 * %i
+ 1.0856792 - 0.5138318 * %i
+ - 1.1030013 + 0.6108696 * %i
+ - 1.1030013 - 0.6108696 * %i
+ 0.3226838 + 0.9451270 * %i
+ 0.3226838 - 0.9451270 * %i
+ 0.0250044 + 1.0210451 * %i
+ 0.0250044 - 1.0210451 * %i
+ - 0.2556563 + 0.9467085 * %i
+ - 0.2556563 - 0.9467085 * %i
+ - 0.7512303 + 0.3765797 * %i
+ - 0.7512303 - 0.3765797 * %i
+ 0.7021994 + 0.3415821 * %i
+ 0.7021994 - 0.3415821 * %i
+];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+
+// Failed on Linux
+p=[1,1,-7,-80,1,-4,4,7,4,-27,1,-27,-8,3,3,0,9,-80];
+r = roots(p);
+e = [
+ - 2.7595524 + 3.1924496 * %i
+ - 2.7595524 - 3.1924496 * %i
+ 4.5006465
+ - 0.9689444 + 0.2683252 * %i
+ - 0.9689444 - 0.2683252 * %i
+ - 0.8111357 + 0.6166997 * %i
+ - 0.8111357 - 0.6166997 * %i
+ - 0.3893539 + 0.9194344 * %i
+ - 0.3893539 - 0.9194344 * %i
+ 0.0061369 + 1.0065796 * %i
+ 0.0061369 - 1.0065796 * %i
+ 0.4195701 + 0.9089127 * %i
+ 0.4195701 - 0.9089127 * %i
+ 0.9590394 + 0.2589039 * %i
+ 0.9590394 - 0.2589039 * %i
+ 0.7939168 + 0.5672744 * %i
+ 0.7939168 - 0.5672744 * %i
+];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+
+// Failed on Windows 32 bits
+p=[1,0,1,1,1,-1,-1,1,1,0,1,0,-1,-1,1,-2,0,0,1,-1,1];
+r = roots(p);
+e = [
+ 0.5444059 + 1.3082079 * %i
+ 0.5444059 - 1.3082079 * %i
+ - 1.0517348 + 0.2347104 * %i
+ - 1.0517348 - 0.2347104 * %i
+ - 0.5893898 + 0.9840032 * %i
+ - 0.5893898 - 0.9840032 * %i
+ - 0.8170407 + 0.5459189 * %i
+ - 0.8170407 - 0.5459189 * %i
+ - 0.6570402 + 0.7150468 * %i
+ - 0.6570402 - 0.7150468 * %i
+ 0.0129780 + 0.9748750 * %i
+ 0.0129780 - 0.9748750 * %i
+ 0.9192290 + 0.4894403 * %i
+ 0.9192290 - 0.4894403 * %i
+ 0.8691302 + 0.0832523 * %i
+ 0.8691302 - 0.0832523 * %i
+ 0.4975871 + 0.6807740 * %i
+ 0.4975871 - 0.6807740 * %i
+ 0.2718754 + 0.7528695 * %i
+ 0.2718754 - 0.7528695 * %i
+];
+e = sortmyroots(e);
+r = sortmyroots(r);
+assert_close ( r, e, 1.e-6 );
+
+// A loop on several polynomials
+for i=-100:100
+ if ( modulo(i,20)==0 ) then
+ mprintf("i=%d\n",i);
+ end
+ for j=-100:100
+ p=[1 1 -7 j 1 -4 4 7 4 i 1 i -8 3 3 0 9 j];
+ roots(p);
+ end;
+end;
+
+// A loop on random polynomials.
+// The coefficients are integers
+for i = 1:3000
+ if ( modulo(i,1000)==0 ) then
+ mprintf("i=%d\n",i);
+ end
+ p = [1 round(4*rand(1,20)-2)];
+ roots(p);
+end
diff --git a/modules/polynomials/tests/unit_tests/derivat.dia.ref b/modules/polynomials/tests/unit_tests/derivat.dia.ref
new file mode 100755
index 000000000..1aa1ff6e2
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/derivat.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - S/E - Sylvestre Ledru
+// Copyright (C) 2013 - Alex Carneiro
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+s=poly(0,'s');
+assert_checkequal(derivat(1/s), -1/s^2);
+p1 = poly([1 -2 1], 'x', 'coeff');
+x=poly(0,'x');
+assert_checkequal(derivat(p1),-2 + 2*x);
+p2 = poly([1 -4 2], 'x', 'coeff');
+assert_checkequal(derivat(p2),-4 + 4*x);
+p3 = poly(ones(1, 10), 'x', 'coeff');
+assert_checkequal(derivat(p3), 1+2*x+3*x^2+4*x^3+5*x^4+6*x^5+7*x^6+8*x^7+9*x^8);
+p4 = poly([-1 1], 'x', 'roots');
+assert_checkequal(derivat(p4), 2*x);
+s = %s; p5 = s^{-1} + 2 + 3*s;
+assert_checkequal(derivat(p5),(-1+3*s^2)/s^2);
diff --git a/modules/polynomials/tests/unit_tests/derivat.tst b/modules/polynomials/tests/unit_tests/derivat.tst
new file mode 100755
index 000000000..b395e2db6
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/derivat.tst
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - S/E - Sylvestre Ledru
+// Copyright (C) 2013 - Alex Carneiro
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+s=poly(0,'s');
+assert_checkequal(derivat(1/s), -1/s^2);
+
+p1 = poly([1 -2 1], 'x', 'coeff');
+x=poly(0,'x');
+assert_checkequal(derivat(p1),-2 + 2*x);
+
+p2 = poly([1 -4 2], 'x', 'coeff');
+assert_checkequal(derivat(p2),-4 + 4*x);
+
+p3 = poly(ones(1, 10), 'x', 'coeff');
+assert_checkequal(derivat(p3), 1+2*x+3*x^2+4*x^3+5*x^4+6*x^5+7*x^6+8*x^7+9*x^8);
+
+p4 = poly([-1 1], 'x', 'roots');
+assert_checkequal(derivat(p4), 2*x);
+
+s = %s; p5 = s^{-1} + 2 + 3*s;
+assert_checkequal(derivat(p5),(-1+3*s^2)/s^2);
diff --git a/modules/polynomials/tests/unit_tests/detr.dia.ref b/modules/polynomials/tests/unit_tests/detr.dia.ref
new file mode 100755
index 000000000..6960835d9
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/detr.dia.ref
@@ -0,0 +1,52 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// unit tests for detr function
+// =============================================================================
+assert_checkfalse(execstr("detr()" ,"errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument: %d expected.\n"), "detr", 1);
+assert_checkerror("detr()", refMsg);
+assert_checkfalse(execstr("detr(""r"")" ,"errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"), "detr", 1);
+assert_checkerror("detr(""r"")", refMsg);
+assert_checkfalse(execstr("detr([1;2])" ,"errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong size for input argument #%d: A square matrix expected.\n"), "detr", 1);
+assert_checkerror("detr([1;2])", refMsg);
+A = [1 1;1 2];
+d = detr(A);
+assert_checkequal(d, 1);
+assert_checkequal(d, det(A));
+A = %i*A;
+d = detr(A);
+assert_checkequal(d, complex(-1, 0));
+assert_checkequal(d, det(A));
+A = [1 3 5;2 3 4;8 4 9];
+d = detr(A);
+assert_checkequal(d, -27);
+assert_checkequal(d, det(A));
+A= A-%i;
+d = detr(A);
+assert_checkequal(d, complex(-27,9));
+assert_checkalmostequal(d, det(A), [], %eps);
+A = [1+%s 1; 1 2+%s];
+d = detr(A);
+assert_checkequal(d, 1+3*%s+%s^2);
+assert_checkequal(d, det(A));
+A = [1*%s 3 5*%s^2;2 3*%s 4; 8*%s^3 4*%s^2 9*%s];
+d = detr(A);
+assert_checkequal(d, -54*%s+107*%s^3+40*%s^4-120*%s^6);
+assert_checkalmostequal(coeff(d), coeff(det(A)), [], %eps);
+A = [1/%s 1; 1 2/%s];
+d = detr(A);
+assert_checkequal(d, (2-%s^2)/%s^2);
+assert_checkequal(d, det(A));
+A = [1/%s 3 5/%s^2;2 3/%s 4; 8/%s^3 4/%s^2 9/%s];
+d = detr(A);
+assert_checkequal(d, (-120 +40*%s^2+107*%s^3-54*%s^5)/%s^6);
+d2 = det(A);
+assert_checkalmostequal(coeff(d.num), coeff(d2.num), [], %eps);
+assert_checkalmostequal(coeff(d.den), coeff(d2.den), [], %eps);
diff --git a/modules/polynomials/tests/unit_tests/detr.tst b/modules/polynomials/tests/unit_tests/detr.tst
new file mode 100755
index 000000000..7d9599add
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/detr.tst
@@ -0,0 +1,65 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// unit tests for detr function
+// =============================================================================
+
+assert_checkfalse(execstr("detr()" ,"errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument: %d expected.\n"), "detr", 1);
+assert_checkerror("detr()", refMsg);
+
+assert_checkfalse(execstr("detr(""r"")" ,"errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: A floating point number or polynomial or rational fraction array expected.\n"), "detr", 1);
+assert_checkerror("detr(""r"")", refMsg);
+
+assert_checkfalse(execstr("detr([1;2])" ,"errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong size for input argument #%d: A square matrix expected.\n"), "detr", 1);
+assert_checkerror("detr([1;2])", refMsg);
+
+A = [1 1;1 2];
+d = detr(A);
+assert_checkequal(d, 1);
+assert_checkequal(d, det(A));
+
+A = %i*A;
+d = detr(A);
+assert_checkequal(d, complex(-1, 0));
+assert_checkequal(d, det(A));
+
+A = [1 3 5;2 3 4;8 4 9];
+d = detr(A);
+assert_checkequal(d, -27);
+assert_checkequal(d, det(A));
+
+A= A-%i;
+d = detr(A);
+assert_checkequal(d, complex(-27,9));
+assert_checkalmostequal(d, det(A), [], %eps);
+
+A = [1+%s 1; 1 2+%s];
+d = detr(A);
+assert_checkequal(d, 1+3*%s+%s^2);
+assert_checkequal(d, det(A));
+
+A = [1*%s 3 5*%s^2;2 3*%s 4; 8*%s^3 4*%s^2 9*%s];
+d = detr(A);
+assert_checkequal(d, -54*%s+107*%s^3+40*%s^4-120*%s^6);
+assert_checkalmostequal(coeff(d), coeff(det(A)), [], %eps);
+
+A = [1/%s 1; 1 2/%s];
+d = detr(A);
+assert_checkequal(d, (2-%s^2)/%s^2);
+assert_checkequal(d, det(A));
+
+A = [1/%s 3 5/%s^2;2 3/%s 4; 8/%s^3 4/%s^2 9/%s];
+d = detr(A);
+assert_checkequal(d, (-120 +40*%s^2+107*%s^3-54*%s^5)/%s^6);
+d2 = det(A);
+assert_checkalmostequal(coeff(d.num), coeff(d2.num), [], %eps);
+assert_checkalmostequal(coeff(d.den), coeff(d2.den), [], %eps);
diff --git a/modules/polynomials/tests/unit_tests/horner.dia.ref b/modules/polynomials/tests/unit_tests/horner.dia.ref
new file mode 100755
index 000000000..acef3c35d
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/horner.dia.ref
@@ -0,0 +1,72 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - CNES - Alain Lamy
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// --------------------------------
+// p = polynomial
+s=poly(0,"s");
+p0 = [1+s+3*s^2];
+p = p0;
+r1 = horner(p,[1]);
+assert_checkequal(r1, 5);
+r1 = horner(p,[2]);
+assert_checkequal(r1, 15);
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5 15]);
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31 53]);
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15;31,53]);
+// --------------------------------
+// p = row vector
+p = [p0,p0^2];
+r1 = horner(p,[1]);
+assert_checkequal(r1, [5 25]);
+r1 = horner(p,[2]);
+assert_checkequal(r1, [15 225]);
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5,15,25,225]);
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31,53,961,2809]);
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15,25,225;31,53,961,2809]);
+// --------------------------------
+// p = column vector
+p = [p0;p0^2];
+r1 = horner(p,[1]);
+assert_checkequal(r1, [5; 25]);
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5,15;25,225]);
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31,53;961,2809]);
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15;31,53;25,225;961,2809]);
+// --------------------------------
+// p = matrix
+p = [p0,p0^2; p0, p0^3; p0, p0^4];
+r1 = horner(p,[1]);
+assert_checkequal(r1, [5,25;5,125;5,625]);
+r1 = horner(p,[2]);
+assert_checkequal(r1, [15,225;15,3375;15,50625]);
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5,15,25,225;5,15,125,3375;5,15,625,50625]);
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31,53,961,2809;31,53,29791,148877;31,53,923521,7890481]);
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15,25,225;31,53,961,2809;5,15,125,3375;31,53,29791,148877;5,15,625,50625;31,53,923521,7890481]);
+// --------------------------------
+// p = rational
+p = (1 + p0 ) / (2 + p0^2 + p0^3);
+r1 = horner(p,[1]);
+assert_checkalmostequal(r1, 0.0394737, 10^-6);
+r1 = horner(p,[2]);
+assert_checkalmostequal(r1, 0.0044420, 10^-5);
+r1 = horner(p,[1,2]);
+assert_checkalmostequal(r1, [0.0394737,0.0044420], 10^-5);
+r1 = horner(p,[3,4]);
+assert_checkalmostequal(r1, [0.0010405,0.0003560], 10^-4);
+r1 = horner(p,[1,2;3,4]);
+assert_checkalmostequal(r1, [0.0394737,0.0044420;0.0010405,0.0003560], 10^-4);
diff --git a/modules/polynomials/tests/unit_tests/horner.tst b/modules/polynomials/tests/unit_tests/horner.tst
new file mode 100755
index 000000000..0c8a06cd3
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/horner.tst
@@ -0,0 +1,105 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - CNES - Alain Lamy
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// --------------------------------
+// p = polynomial
+s=poly(0,"s");
+p0 = [1+s+3*s^2];
+p = p0;
+
+r1 = horner(p,[1]);
+assert_checkequal(r1, 5);
+
+r1 = horner(p,[2]);
+assert_checkequal(r1, 15);
+
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5 15]);
+
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31 53]);
+
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15;31,53]);
+
+
+// --------------------------------
+// p = row vector
+p = [p0,p0^2];
+
+r1 = horner(p,[1]);
+assert_checkequal(r1, [5 25]);
+
+r1 = horner(p,[2]);
+assert_checkequal(r1, [15 225]);
+
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5,15,25,225]);
+
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31,53,961,2809]);
+
+
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15,25,225;31,53,961,2809]);
+
+// --------------------------------
+// p = column vector
+p = [p0;p0^2];
+
+r1 = horner(p,[1]);
+assert_checkequal(r1, [5; 25]);
+
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5,15;25,225]);
+
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31,53;961,2809]);
+
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15;31,53;25,225;961,2809]);
+
+// --------------------------------
+// p = matrix
+p = [p0,p0^2; p0, p0^3; p0, p0^4];
+
+r1 = horner(p,[1]);
+assert_checkequal(r1, [5,25;5,125;5,625]);
+
+r1 = horner(p,[2]);
+assert_checkequal(r1, [15,225;15,3375;15,50625]);
+
+r1 = horner(p,[1,2]);
+assert_checkequal(r1, [5,15,25,225;5,15,125,3375;5,15,625,50625]);
+
+r1 = horner(p,[3,4]);
+assert_checkequal(r1, [31,53,961,2809;31,53,29791,148877;31,53,923521,7890481]);
+
+r1 = horner(p,[1,2;3,4]);
+assert_checkequal(r1, [5,15,25,225;31,53,961,2809;5,15,125,3375;31,53,29791,148877;5,15,625,50625;31,53,923521,7890481]);
+
+// --------------------------------
+// p = rational
+p = (1 + p0 ) / (2 + p0^2 + p0^3);
+
+r1 = horner(p,[1]);
+assert_checkalmostequal(r1, 0.0394737, 10^-6);
+
+r1 = horner(p,[2]);
+assert_checkalmostequal(r1, 0.0044420, 10^-5);
+
+r1 = horner(p,[1,2]);
+assert_checkalmostequal(r1, [0.0394737,0.0044420], 10^-5);
+
+r1 = horner(p,[3,4]);
+assert_checkalmostequal(r1, [0.0010405,0.0003560], 10^-4);
+
+r1 = horner(p,[1,2;3,4]);
+assert_checkalmostequal(r1, [0.0394737,0.0044420;0.0010405,0.0003560], 10^-4);
+
diff --git a/modules/polynomials/tests/unit_tests/lcm.dia.ref b/modules/polynomials/tests/unit_tests/lcm.dia.ref
new file mode 100755
index 000000000..6a7b4bc2a
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/lcm.dia.ref
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Bruno JOFRET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+s=poly(0,'s');
+p=[s,s*(s+1)^2,s^2*(s+2)];
+[pp,fact]=lcm(p);
+assert_checkequal(pp, s^5+4*s^4+5*s^3+2*s^2);
+assert_checkequal(fact, [2*s+5*s^2+4*s^3+s^4, 2*s+s^2, 1+2*s+s^2]);
+V=int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]);
+assert_checkequal(lcm(V), int32(9720));
+// Interger Overflow
+V = int32([59356 44517]);
+assert_checkequal(lcm(V), int32(178068));
+V = int32([50000 50000]);
+assert_checkequal(lcm(V), int32(50000));
diff --git a/modules/polynomials/tests/unit_tests/lcm.tst b/modules/polynomials/tests/unit_tests/lcm.tst
new file mode 100755
index 000000000..9c696aeee
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/lcm.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Bruno JOFRET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+
+s=poly(0,'s');
+p=[s,s*(s+1)^2,s^2*(s+2)];
+[pp,fact]=lcm(p);
+
+assert_checkequal(pp, s^5+4*s^4+5*s^3+2*s^2);
+assert_checkequal(fact, [2*s+5*s^2+4*s^3+s^4, 2*s+s^2, 1+2*s+s^2]);
+
+V=int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]);
+assert_checkequal(lcm(V), int32(9720));
+
+// Interger Overflow
+V = int32([59356 44517]);
+assert_checkequal(lcm(V), int32(178068));
+
+V = int32([50000 50000]);
+assert_checkequal(lcm(V), int32(50000)); \ No newline at end of file
diff --git a/modules/polynomials/tests/unit_tests/lcmdiag.dia.ref b/modules/polynomials/tests/unit_tests/lcmdiag.dia.ref
new file mode 100755
index 000000000..cdf199b90
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/lcmdiag.dia.ref
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// Run with test_run('polynomials', 'lcmdiag', ['no_check_error_output'])
+// Normal behavior of the function
+s = poly(0, 's');
+H = [1/s, (s+2)/s/(s+1)^2; 1/(s^2*(s+2)), 2/(s+2)];
+[N, D] = lcmdiag(H);
+computed = N*D^(-1);
+expected = H;
+assert_checkalmostequal(coeff(computed.num), coeff(expected.num));
+assert_checkalmostequal(coeff(computed.den), coeff(expected.den));
+// Trying to call lcmdiag with wrong types
+H = ["string"];
+refMsg = msprintf(_("%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"), "lcmdiag", 1);
+assert_checkerror("[N, D] = lcmdiag(H);", refMsg);
+H = [1 2.3];
+refMsg2 = msprintf(_("%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"), "lcmdiag", 1);
+assert_checkerror("[N, D] = lcmdiag(H);", refMsg2);
+H = [1/s, (s+2)/s/(s+1)^2; 1/(s^2*(s+2)), 2/(s+2)];
+flag = [1 2.3];
+refMsg3 = msprintf(_("%s: Wrong type for argument #%d: String expected.\n"), "lcmdiag", 2);
+assert_checkerror("[N, D] = lcmdiag(H, flag);", refMsg3);
+flag = "rows";
+refMsg4 = msprintf(_("%s: Wrong value for argument #%d: %s or %s expected.\n"), "lcmdiag", 2, "row", "col");
+assert_checkerror("[N, D] = lcmdiag(H, flag);", refMsg4);
diff --git a/modules/polynomials/tests/unit_tests/lcmdiag.tst b/modules/polynomials/tests/unit_tests/lcmdiag.tst
new file mode 100755
index 000000000..fd2804902
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/lcmdiag.tst
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// Run with test_run('polynomials', 'lcmdiag', ['no_check_error_output'])
+
+// Normal behavior of the function
+s = poly(0, 's');
+H = [1/s, (s+2)/s/(s+1)^2; 1/(s^2*(s+2)), 2/(s+2)];
+[N, D] = lcmdiag(H);
+
+computed = N*D^(-1);
+expected = H;
+
+assert_checkalmostequal(coeff(computed.num), coeff(expected.num));
+assert_checkalmostequal(coeff(computed.den), coeff(expected.den));
+
+// Trying to call lcmdiag with wrong types
+H = ["string"];
+refMsg = msprintf(_("%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"), "lcmdiag", 1);
+assert_checkerror("[N, D] = lcmdiag(H);", refMsg);
+H = [1 2.3];
+refMsg2 = msprintf(_("%s: Wrong type for argument #%d: Real Matrix of Polynomials expected.\n"), "lcmdiag", 1);
+assert_checkerror("[N, D] = lcmdiag(H);", refMsg2);
+H = [1/s, (s+2)/s/(s+1)^2; 1/(s^2*(s+2)), 2/(s+2)];
+flag = [1 2.3];
+refMsg3 = msprintf(_("%s: Wrong type for argument #%d: String expected.\n"), "lcmdiag", 2);
+assert_checkerror("[N, D] = lcmdiag(H, flag);", refMsg3);
+flag = "rows";
+refMsg4 = msprintf(_("%s: Wrong value for argument #%d: %s or %s expected.\n"), "lcmdiag", 2, "row", "col");
+assert_checkerror("[N, D] = lcmdiag(H, flag);", refMsg4);
diff --git a/modules/polynomials/tests/unit_tests/pol2str.dia.ref b/modules/polynomials/tests/unit_tests/pol2str.dia.ref
new file mode 100755
index 000000000..5bf724c4f
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/pol2str.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+assert_checkequal(pol2str(%z), "z");
+assert_checkequal(pol2str([%z %z]), ["z", "z"]);
+p = poly ([1, 2, 3], "x","coeff");
+P = [p, p ,p ; p, p, p];
+R = pol2str(P);
+REF = ["1+2*x+3*x^2", "1+2*x+3*x^2", "1+2*x+3*x^2";
+ "1+2*x+3*x^2", "1+2*x+3*x^2", "1+2*x+3*x^2"];
+assert_checkequal(R, REF);
+msgerror = msprintf(gettext("%s: Wrong type for input argument #%d: Polynomial expected.\n"), "pol2str", 1);
+assert_checkerror("pol2str(1)", msgerror);
+assert_checkequal(pol2str(%i*%z),"%i*z");
+ref = hypermat([1 1 2], ["1+0.8497452*z";"1+0.685731*z"]);
+assert_checktrue(and(pol2str(1+hypermat([1 1 2], [0.8497452;0.6857310])*%z) == ref));
diff --git a/modules/polynomials/tests/unit_tests/pol2str.tst b/modules/polynomials/tests/unit_tests/pol2str.tst
new file mode 100755
index 000000000..4ac003f25
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/pol2str.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+assert_checkequal(pol2str(%z), "z");
+assert_checkequal(pol2str([%z %z]), ["z", "z"]);
+
+p = poly ([1, 2, 3], "x","coeff");
+P = [p, p ,p ; p, p, p];
+R = pol2str(P);
+REF = ["1+2*x+3*x^2", "1+2*x+3*x^2", "1+2*x+3*x^2";
+"1+2*x+3*x^2", "1+2*x+3*x^2", "1+2*x+3*x^2"];
+
+assert_checkequal(R, REF);
+
+msgerror = msprintf(gettext("%s: Wrong type for input argument #%d: Polynomial expected.\n"), "pol2str", 1);
+assert_checkerror("pol2str(1)", msgerror);
+
+assert_checkequal(pol2str(%i*%z),"%i*z");
+ref = hypermat([1 1 2], ["1+0.8497452*z";"1+0.685731*z"]);
+assert_checktrue(and(pol2str(1+hypermat([1 1 2], [0.8497452;0.6857310])*%z) == ref));
+
+
diff --git a/modules/polynomials/tests/unit_tests/polelm.dia.ref b/modules/polynomials/tests/unit_tests/polelm.dia.ref
new file mode 100755
index 000000000..2d421fc59
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/polelm.dia.ref
@@ -0,0 +1,522 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//poly (coeff)
+v=[1 2 3];nam='s';job='c';p=1+2*%s+3*%s^2;
+if poly(v,'s','c')<>p then bugmes();quit;end
+if poly(v+0,'s','c')<>p then bugmes();quit;end
+if poly(v,nam,'c')<>p then bugmes();quit;end
+if poly(v+0,nam,'c')<>p then bugmes();quit;end
+if poly(v,'s',job)<>p then bugmes();quit;end
+if poly(v+0,'s',job)<>p then bugmes();quit;end
+if poly(v,nam,job)<>p then bugmes();quit;end
+if poly(v+0,nam,job)<>p then bugmes();quit;end
+v=[1+%i 2 3];p=1+%i+2*%s+3*%s^2;
+if poly(v,'s','c')<>p then bugmes();quit;end
+if poly(v+0,'s','c')<>p then bugmes();quit;end
+if poly(v,nam,'c')<>p then bugmes();quit;end
+if poly(v+0,nam,'c')<>p then bugmes();quit;end
+if poly(v,'s',job)<>p then bugmes();quit;end
+if poly(v+0,'s',job)<>p then bugmes();quit;end
+if poly(v,nam,job)<>p then bugmes();quit;end
+if poly(v+0,nam,job)<>p then bugmes();quit;end
+//poly (roots)
+v=[1 2 3];nam='s';job='r';p=-6+11*%s-6*%s^2+%s^3;
+if poly(v,'s','r')<>p then bugmes();quit;end
+if poly(v+0,'s','r')<>p then bugmes();quit;end
+if poly(v,nam,'r')<>p then bugmes();quit;end
+if poly(v+0,nam,'r')<>p then bugmes();quit;end
+if poly(v,'s',job)<>p then bugmes();quit;end
+if poly(v+0,'s',job)<>p then bugmes();quit;end
+if poly(v,nam,job)<>p then bugmes();quit;end
+if poly(v+0,nam,job)<>p then bugmes();quit;end
+v=[1+%i 2 3];p=-6-%i*6+(11+%i*5)*%s+(-6-%i)*%s^2+%s^3;
+if poly(v,'s','r')<>p then bugmes();quit;end
+if poly(v+0,'s','r')<>p then bugmes();quit;end
+if poly(v,nam,'r')<>p then bugmes();quit;end
+if poly(v+0,nam,'r')<>p then bugmes();quit;end
+if poly(v,'s',job)<>p then bugmes();quit;end
+if poly(v+0,'s',job)<>p then bugmes();quit;end
+if poly(v,nam,job)<>p then bugmes();quit;end
+if poly(v+0,nam,job)<>p then bugmes();quit;end
+v=[];p=poly(1,'s','c');
+if poly(v,'s','r')<>p then bugmes();quit;end
+if poly([],'s','r')<>p then bugmes();quit;end
+if poly(v,nam,'r')<>p then bugmes();quit;end
+if poly([],nam,'r')<>p then bugmes();quit;end
+if poly(v,'s',job)<>p then bugmes();quit;end
+if poly([],'s',job)<>p then bugmes();quit;end
+if poly(v,nam,job)<>p then bugmes();quit;end
+if poly([],nam,job)<>p then bugmes();quit;end
+//poly (caracteristic)
+nam='s';a=[1 2;3 4];p=-2-5*%s+%s^2;
+if norm(coeff(poly(a,'s')-p))>100*%eps then bugmes();quit;end
+if norm(coeff(poly(a+0,'s')-p))>100*%eps then bugmes();quit;end
+if norm(coeff(poly(a,nam)-p))>100*%eps then bugmes();quit;end
+if norm(coeff(poly(a+0,nam)-p))>100*%eps then bugmes();quit;end
+a=[1+%i 2;3 4];p=-2+%i*4+(-5-%i)*%s+%s^2 ;
+if norm(coeff(poly(a,'s')-p))>100*%eps then bugmes();quit;end
+if norm(coeff(poly(a+0,'s')-p))>100*%eps then bugmes();quit;end
+if norm(coeff(poly(a,nam)-p))>100*%eps then bugmes();quit;end
+if norm(coeff(poly(a+0,nam)-p))>100*%eps then bugmes();quit;end
+a=[];p=poly(1,'s','c');
+if poly(a,'s')<>p then bugmes();quit;end
+if poly([],'s')<>p then bugmes();quit;end
+if poly(a,nam)<>p then bugmes();quit;end
+if poly([],nam)<>p then bugmes();quit;end
+//degree
+v=[1 2 3];d=[0 0 0];
+if or(degree(v)<>d) then bugmes();quit;end
+if or(degree(v+0)<>d) then bugmes();quit;end
+v=[-2-5*%s+%s^2;-6+11*%s-6*%s^2+%s^3];d=[2;3];
+if or(degree(v)<>d) then bugmes();quit;end
+if or(degree(v+0)<>d) then bugmes();quit;end
+v=[];d=[];
+if or(degree(v)<>d) then bugmes();quit;end
+if or(degree([])<>d) then bugmes();quit;end
+//coeff
+p=[1+2*%s;%s^3];c=[1 2 0 0;0 0 0 1];sel=[0 1 1];
+if or(coeff(p)<>c) then bugmes();quit;end
+if or(coeff(p+0)<>c) then bugmes();quit;end
+if or(coeff(p,sel)<>c(:,sel+1)) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c(:,sel+1)) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c(:,sel+1)) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c(:,sel+1)) then bugmes();quit;end
+sel=5;
+if or(coeff(p,sel+0)<>zeros(size(p,1),1)) then bugmes();quit;end
+p=[1+2*%s, %s^3];c=[1 0 2 0 0 0 0 1];
+if or(coeff(p)<>c) then bugmes();quit;end
+if or(coeff(p+0)<>c) then bugmes();quit;end
+sel=[0 0];c=[1 0 1 0];
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c) then bugmes();quit;end
+p=[1+%i+2*%s;%s^3];c=[1+%i 2 0 0;0 0 0 1];sel=[0 1 1];
+if or(coeff(p)<>c) then bugmes();quit;end
+if or(coeff(p+0)<>c) then bugmes();quit;end
+if or(coeff(p,sel)<>c(:,sel+1)) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c(:,sel+1)) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c(:,sel+1)) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c(:,sel+1)) then bugmes();quit;end
+sel=5;
+if or(coeff(p,sel+0)<>zeros(size(p,1),1)) then bugmes();quit;end
+p=[1+2*%s, %s^3];c=[1 0 2 0 0 0 0 1];
+if or(coeff(p)<>c) then bugmes();quit;end
+if or(coeff(p+0)<>c) then bugmes();quit;end
+sel=[0 0];c=[1 0 1 0];
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c) then bugmes();quit;end
+p=[1 2;3 4];sel=0;c=p;
+if or(coeff(p)<>c) then bugmes();quit;end
+if or(coeff(p+0)<>c) then bugmes();quit;end
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c) then bugmes();quit;end
+p=[1 2;3 4];sel=[0 0];c=[p p];
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c) then bugmes();quit;end
+p=[1 2;3 4];sel=[0 1];c=[p 0*p];
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c) then bugmes();quit;end
+if or(coeff(p,sel+0)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel+0)<>c) then bugmes();quit;end
+p=[1 2;3 4];sel=[];c=[];
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff(p+0,sel)<>c) then bugmes();quit;end
+if or(coeff(p,[])<>c) then bugmes();quit;end
+if or(coeff(p+0,[])<>c) then bugmes();quit;end
+p=[],sel=0,c=[];
+ p =
+
+ []
+ sel =
+
+ 0.
+if or(coeff(p)<>c) then bugmes();quit;end
+if or(coeff([])<>c) then bugmes();quit;end
+if or(coeff(p,sel)<>c) then bugmes();quit;end
+if or(coeff([],sel)<>c) then bugmes();quit;end
+//sum
+a=[1+%s 2;-3 4;5 -6];
+if sum(a)<>3+%s then bugmes();quit;end
+if sum(a+0)<>3+%s then bugmes();quit;end
+if or(sum(a,1)<>[3+%s 0]) then bugmes();quit;end
+if or(sum(a+0,1)<>[3+%s 0]) then bugmes();quit;end
+n=1;
+if or(sum(a,n)<>[3+%s 0]) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s 0]) then bugmes();quit;end
+if or(sum(a,'r')<>[3+%s 0]) then bugmes();quit;end
+if or(sum(a+0,'r')<>[3+%s 0]) then bugmes();quit;end
+n='r';
+if or(sum(a,n)<>[3+%s 0]) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s 0]) then bugmes();quit;end
+if or(sum(a,2)<>[3+%s;1;-1]) then bugmes();quit;end
+if or(sum(a+0,2)<>[3+%s;1;-1]) then bugmes();quit;end
+n=2;
+if or(sum(a,n)<>[3+%s;1;-1]) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s;1;-1]) then bugmes();quit;end
+if or(sum(a,'c')<>[3+%s;1;-1]) then bugmes();quit;end
+if or(sum(a+0,'c')<>[3+%s;1;-1]) then bugmes();quit;end
+n='c';
+if or(sum(a,n)<>[3+%s;1;-1]) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s;1;-1]) then bugmes();quit;end
+a=[1+%s 2;-3 4;5 -6]+0*%i;
+if or(sum(a)<>3+%s+0*%i) then bugmes();quit;end
+if or(sum(a+0)<>3+%s+0*%i) then bugmes();quit;end
+if or(sum(a,1)<>[3+%s 0]+0*%i) then bugmes();quit;end
+if or(sum(a+0,1)<>[3+%s 0]+0*%i) then bugmes();quit;end
+n=1;
+if or(sum(a,n)<>[3+%s 0]+0*%i) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s 0]+0*%i) then bugmes();quit;end
+if or(sum(a,'r')<>[3+%s 0]+0*%i) then bugmes();quit;end
+if or(sum(a+0,'r')<>[3+%s 0]+0*%i) then bugmes();quit;end
+n='r';
+if or(sum(a,n)<>[3+%s 0]+0*%i) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s 0]+0*%i) then bugmes();quit;end
+if or(sum(a,2)<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+if or(sum(a+0,2)<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+n=2;
+if or(sum(a,n)<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+if or(sum(a,'c')<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+if or(sum(a+0,'c')<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+n='c';
+if or(sum(a,n)<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+if or(sum(a+0,n)<>[3+%s;1;-1]+0*%i) then bugmes();quit;end
+//prod
+a=[1+%s 2;-3 4;5 -6];
+if prod(a)<>720+720*%s then bugmes();quit;end
+if prod(a+0)<>720+720*%s then bugmes();quit;end
+if or(prod(a,1)<>[-15-15*%s,-48]) then bugmes();quit;end
+if or(prod(a+0,1)<>[-15-15*%s,-48]) then bugmes();quit;end
+n=1;
+if or(prod(a,n)<>[-15-15*%s,-48]) then bugmes();quit;end
+if or(prod(a+0,n)<>[-15-15*%s,-48]) then bugmes();quit;end
+if or(prod(a,'r')<>[-15-15*%s,-48]) then bugmes();quit;end
+if or(prod(a+0,'r')<>[-15-15*%s,-48]) then bugmes();quit;end
+n='r';
+if or(prod(a,n)<>[-15-15*%s,-48]) then bugmes();quit;end
+if or(prod(a+0,n)<>[-15-15*%s,-48]) then bugmes();quit;end
+if or(prod(a,2)<>[2+2*%s;-12;-30]) then bugmes();quit;end
+if or(prod(a+0,2)<>[2+2*%s;-12;-30]) then bugmes();quit;end
+n=2;
+if or(prod(a,n)<>[2+2*%s;-12;-30]) then bugmes();quit;end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]) then bugmes();quit;end
+if or(prod(a,'c')<>[2+2*%s;-12;-30]) then bugmes();quit;end
+if or(prod(a+0,'c')<>[2+2*%s;-12;-30]) then bugmes();quit;end
+n='c';
+if or(prod(a,n)<>[2+2*%s;-12;-30]) then bugmes();quit;end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]) then bugmes();quit;end
+a=[1+%s 2;-3 4;5 -6]+0*%i;
+if or(prod(a)<>720+720*%s+0*%i) then bugmes();quit;end
+if or(prod(a+0)<>720+720*%s+0*%i) then bugmes();quit;end
+if or(prod(a,1)<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+if or(prod(a+0,1)<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+n=1;
+if or(prod(a,n)<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+if or(prod(a+0,n)<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+if or(prod(a,'r')<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+if or(prod(a+0,'r')<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+n='r';
+if or(prod(a,n)<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+if or(prod(a+0,n)<>[-15-15*%s,-48]+0*%i) then bugmes();quit;end
+if or(prod(a,2)<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+if or(prod(a+0,2)<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+n=2;
+if or(prod(a,n)<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+if or(prod(a,'c')<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+if or(prod(a+0,'c')<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+n='c';
+if or(prod(a,n)<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]+0*%i) then bugmes();quit;end
+//diag
+a=[1+%s 2 3];
+if or(diag(a+0)<>[1+%s 0 0;0 2 0;0 0 3]) then bugmes();quit;end
+if or(diag(a)<>[1+%s 0 0;0 2 0;0 0 3]) then bugmes();quit;end
+if or(diag([1+%s %i 2])<>[1+%s 0 0;0 %i 0;0 0 2]) then bugmes();quit;end
+a=[1+%s %i 2 ];
+if or(diag(a)<>[1+%s 0 0;0 %i 0;0 0 2]) then bugmes();quit;end
+a=[1+%s 2 3 4;5 6 7 8];un=poly(1,'s','c');
+if or(diag(a)<>[1+%s;6]) then bugmes();quit;end
+if or(diag(a+0)<>[1+%s;6]) then bugmes();quit;end
+if or(diag(a,1)<>[2*un;7]) then bugmes();quit;end
+if or(diag(a+0,1)<>[2*un;7]) then bugmes();quit;end
+if or(diag(a,-1)<>[5*un]) then bugmes();quit;end
+if or(diag(a+0,-1)<>[5*un]) then bugmes();quit;end
+if diag(a,4)<>[] then bugmes();quit;end
+a(1,1)=%i+%s;
+if or(diag(a)<>[%i+%s;6]) then bugmes();quit;end
+if or(diag(a+0)<>[%i+%s;6]) then bugmes();quit;end
+if or(diag(a,1)<>[2*un;7]) then bugmes();quit;end
+if or(diag(a+0,1)<>[2*un;7]) then bugmes();quit;end
+if or(diag(a,-1)<>[5*un]) then bugmes();quit;end
+if or(diag(a+0,-1)<>[5*un]) then bugmes();quit;end
+if diag(a,4)<>[] then bugmes();quit;end
+//triu
+a=[1+%s 2 3 4;5 6 7 8];un=poly(1,'s','c');
+if or(triu(a)<>[1+%s 2 3 4;0 6 7 8]) then bugmes();quit;end
+if or(triu(a+0)<>[1+%s 2 3 4;0 6 7 8]) then bugmes();quit;end
+if or(triu(a,1)<>[0 2*un 3 4;0 0 7 8]) then bugmes();quit;end
+if or(triu(a+0,1)<>[0 2*un 3 4;0 0 7 8]) then bugmes();quit;end
+if or(triu(a,-1)<>a) then bugmes();quit;end
+if or(triu(a+0,-1)<>a) then bugmes();quit;end
+if or(triu(a,4)<>0*a) then bugmes();quit;end
+a(1,1)=%i+%s;
+if or(triu(a)<>[%i+%s 2 3 4;0 6 7 8]) then bugmes();quit;end
+if or(triu(a+0)<>[%i+%s 2 3 4;0 6 7 8]) then bugmes();quit;end
+if or(triu(a,1)<>[0 2*un 3 4;0 0 7 8]) then bugmes();quit;end
+if or(triu(a+0,1)<>[0 2*un 3 4;0 0 7 8]) then bugmes();quit;end
+if or(triu(a,-1)<>a) then bugmes();quit;end
+if or(triu(a+0,-1)<>a) then bugmes();quit;end
+if or(triu(a,4)<>0*a) then bugmes();quit;end
+//tril
+a=[1+%s 2 3 4;5 6 7 8];
+if or(tril(a)<>[1+%s 0 0 0;5 6 0 0]) then bugmes();quit;end
+if or(tril(a+0)<>[1+%s 0 0 0;5 6 0 0]) then bugmes();quit;end
+if or(tril(a,1)<>[1+%s 2 0 0;5 6 7 0]) then bugmes();quit;end
+if or(tril(a+0,1)<>[1+%s 2 0 0;5 6 7 0]) then bugmes();quit;end
+if or(tril(a,4)<>a) then bugmes();quit;end
+if or(tril(a+0,4)<>a) then bugmes();quit;end
+if or(tril(a,-3)<>0*a) then bugmes();quit;end
+a(1,1)=%i+%s;
+if or(tril(a)<>[%i+%s 0 0 0;5 6 0 0]) then bugmes();quit;end
+if or(tril(a+0)<>[%i+%s 0 0 0;5 6 0 0]) then bugmes();quit;end
+if or(tril(a,1)<>[%i+%s 2 0 0;5 6 7 0]) then bugmes();quit;end
+if or(tril(a+0,1)<>[%i+%s 2 0 0;5 6 7 0]) then bugmes();quit;end
+if or(tril(a,4)<>a) then bugmes();quit;end
+if or(tril(a+0,4)<>a) then bugmes();quit;end
+if or(tril(a,-3)<>0*a) then bugmes();quit;end
+//simp_mode
+a=%t
+ a =
+
+ T
+simp_mode(%t);
+if simp_mode()<>%t then bugmes();quit;end
+simp_mode(a);
+if simp_mode()<>%t then bugmes();quit;end
+[n,d]=simp(%s,%s);if n<>poly(1,'s','c')|d<>poly(1,'s','c') then bugmes();quit;end
+a=%f
+ a =
+
+ F
+simp_mode(%f);
+if simp_mode()<>%f then bugmes();quit;end
+simp_mode(a);
+if simp_mode()<>%f then bugmes();quit;end
+[n,d]=simp(%s,%s);if n<>%s|d<>%s then bugmes();quit;end
+//varn
+a=1+%s;
+if varn(a)<>'s' then bugmes();quit;end
+if varn(a+0)<>'s' then bugmes();quit;end
+if varn(a,'z')<>1+%z then bugmes();quit;end
+if varn(a+0,'z')<>1+%z then bugmes();quit;end
+nam='z';
+if varn(a,nam)<>1+%z then bugmes();quit;end
+if varn(a+0,nam)<>1+%z then bugmes();quit;end
+a=[];
+if varn(a,nam)<>[] then bugmes();quit;end
+if varn([],nam)<>[] then bugmes();quit;end
+//clean
+a=[1 1.d-12 1.d-5 2d8+%s];un=poly(1,'s','c')
+ un =
+
+ 1
+b=[1 0 1.d-5 2d8+%s];
+if or(clean(a)<>b) then bugmes();quit;end
+if or(clean(a+0)<>b) then bugmes();quit;end
+epsa=1.d-10;
+if or(clean(a,epsa)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa+0)<>b) then bugmes();quit;end
+epsr=1.d-4;b=[1 0 1.d-5 2d8*un];
+if or(clean(a,epsa,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa,epsr)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa,epsr+0)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa,epsr+0)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa+0,epsr+0)<>b) then bugmes();quit;end
+a=[1+%i 1.d-12 1.d-5 2d8+%s];
+b=[1+%i 0 1.d-5 2d8+%s];
+if or(clean(a)<>b) then bugmes();quit;end
+if or(clean(a+0)<>b) then bugmes();quit;end
+epsa=1.d-10;
+if or(clean(a,epsa)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa+0)<>b) then bugmes();quit;end
+epsr=1.d-5;b=[1+%i 0 1.d-5 poly([2d8,0],'s','c')];
+if or(clean(a,epsa,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa,epsr)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa,epsr+0)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa,epsr+0)<>b) then bugmes();quit;end
+if or(clean(a,epsa+0,epsr)<>b) then bugmes();quit;end
+if or(clean(a+0,epsa+0,epsr+0)<>b) then bugmes();quit;end
+//simp
+simp_mode(%t);
+p=[];
+[n,d]=simp(p,p);if n<>[]|p<>[] then bugmes();quit;end
+[n,d]=simp([],[]);if n<>[]|p<>[] then bugmes();quit;end
+un=poly(1,'s','c');p=%s;
+[n,d]=simp(p,p);if n<>un|d<>un then bugmes();quit;end
+[n,d]=simp(p+0,p);if n<>un|d<>un then bugmes();quit;end
+[n,d]=simp(p,p+0);if n<>un|d<>un then bugmes();quit;end
+[n,d]=simp(p+0,p+0);if n<>un|d<>un then bugmes();quit;end
+un=1;
+[n,d]=simp(p,un);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(p,1);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(p+0,un);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(p+0,1);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(un,p);if n<>un|d<>p then bugmes();quit;end
+[n,d]=simp(1,p);if n<>un|d<>p then bugmes();quit;end
+[n,d]=simp(un,p+0);if n<>un|d<>p then bugmes();quit;end
+[n,d]=simp(1,p+0);if n<>un|d<>p then bugmes();quit;end
+p=1+%s^10;un=poly(1,'s','c')
+ un =
+
+ 1
+[n,d]=simp(p,p);if n<>un|d<>un then bugmes();quit;end
+[n,d]=simp(p+0,p);if n<>un|d<>un then bugmes();quit;end
+[n,d]=simp(p,p+0);if n<>un|d<>un then bugmes();quit;end
+[n,d]=simp(p+0,p+0);if n<>un|d<>un then bugmes();quit;end
+un=1;
+[n,d]=simp(p,un);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(p,1);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(p+0,un);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(p+0,1);if n<>p|d<>1 then bugmes();quit;end
+[n,d]=simp(un,p);if n<>un|d<>p then bugmes();quit;end
+[n,d]=simp(1,p);if n<>un|d<>p then bugmes();quit;end
+[n,d]=simp(un,p+0);if n<>un|d<>p then bugmes();quit;end
+[n,d]=simp(1,p+0);if n<>un|d<>p then bugmes();quit;end
+un=poly(1,'s','c');p=%s;
+h=rlist(p,p,[]);un=rlist(poly(1,'s','c'),poly(1,'s','c'),[]);
+if simp(h)<>un then bugmes();quit;end
+if simp(rlist(p,p,[]))<>un then bugmes();quit;end
+h=rlist(p,1,[]);
+if simp(h)<>h then bugmes();quit;end
+if simp(rlist(p,1,[]))<>h then bugmes();quit;end
+h=rlist(1,p,[]);
+if simp(h)<>h then bugmes();quit;end
+if simp(rlist(1,p,[]))<>h then bugmes();quit;end
+p=1+%s^10;
+h=rlist(p,p,[]);un=rlist(poly(1,'s','c'),poly(1,'s','c'),[]);
+if simp(h)<>un then bugmes();quit;end
+if simp(rlist(p,p,[]))<>un then bugmes();quit;end
+h=rlist(p,1,[]);
+if simp(h)<>h then bugmes();quit;end
+if simp(rlist(p,1,[]))<>h then bugmes();quit;end
+h=rlist(1,p,[]);
+if simp(h)<>h then bugmes();quit;end
+if simp(rlist(1,p,[]))<>h then bugmes();quit;end
+//pdiv
+p=[];
+[n,d]=pdiv(p,p);if n<>[]|p<>[] then bugmes();quit;end
+[n,d]=pdiv([],[]);if n<>[]|p<>[] then bugmes();quit;end
+if pdiv(p,p)<>[] then bugmes();quit;end
+if pdiv([],[])<>[] then bugmes();quit;end
+p1=%s;p2=p1;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+p1=%s;p2=1;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+p1=1;p2=%s;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+p1=%s+%i;p2=p1;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+p1=%s;p2=1+%i;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+p1=1+%i;p2=%s;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then bugmes();quit;end
+//
+p1=%s;p2=p1;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+p1=%s;p2=1;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+p1=1;p2=%s;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+p1=%s+%i;p2=p1;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+p1=%s;p2=1+%i;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+p1=1+%i;p2=%s;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then bugmes();quit;end
+//bezout
+p1=%s;p2=p1;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+p1=%s;p2=1;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+p1=1;p2=%s;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+p1=1;p2=1;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then bugmes();quit;end
+//sfact
+p=(%s-1/2)*(2-%s);
+w=sfact(p); if norm(coeff(w*numer(horner(w,1/%s))-p))>10*%eps then bugmes();quit;end
+w=sfact(p+0);if norm(coeff(w*numer(horner(w,1/%s))-p))>10*%eps then bugmes();quit;end
+F1=[%z-1/2,%z+1/2,%z^2+2;1,%z,-%z;%z^3+2*%z,%z,1/2-%z];
+P=F1*gtild(F1,'d');
+F=sfact(P);if norm(coeff(P-F*gtild(F,'d')))>100*%eps then bugmes();quit;end
+F=sfact(P+0);if norm(coeff(P-F*gtild(F,'d')))>100*%eps then bugmes();quit;end
diff --git a/modules/polynomials/tests/unit_tests/polelm.tst b/modules/polynomials/tests/unit_tests/polelm.tst
new file mode 100755
index 000000000..ce4457649
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/polelm.tst
@@ -0,0 +1,573 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+//poly (coeff)
+
+v=[1 2 3];nam='s';job='c';p=1+2*%s+3*%s^2;
+if poly(v,'s','c')<>p then pause,end
+if poly(v+0,'s','c')<>p then pause,end
+if poly(v,nam,'c')<>p then pause,end
+if poly(v+0,nam,'c')<>p then pause,end
+if poly(v,'s',job)<>p then pause,end
+if poly(v+0,'s',job)<>p then pause,end
+if poly(v,nam,job)<>p then pause,end
+if poly(v+0,nam,job)<>p then pause,end
+v=[1+%i 2 3];p=1+%i+2*%s+3*%s^2;
+if poly(v,'s','c')<>p then pause,end
+if poly(v+0,'s','c')<>p then pause,end
+if poly(v,nam,'c')<>p then pause,end
+if poly(v+0,nam,'c')<>p then pause,end
+if poly(v,'s',job)<>p then pause,end
+if poly(v+0,'s',job)<>p then pause,end
+if poly(v,nam,job)<>p then pause,end
+if poly(v+0,nam,job)<>p then pause,end
+
+//poly (roots)
+v=[1 2 3];nam='s';job='r';p=-6+11*%s-6*%s^2+%s^3;
+if poly(v,'s','r')<>p then pause,end
+if poly(v+0,'s','r')<>p then pause,end
+if poly(v,nam,'r')<>p then pause,end
+if poly(v+0,nam,'r')<>p then pause,end
+if poly(v,'s',job)<>p then pause,end
+if poly(v+0,'s',job)<>p then pause,end
+if poly(v,nam,job)<>p then pause,end
+if poly(v+0,nam,job)<>p then pause,end
+v=[1+%i 2 3];p=-6-%i*6+(11+%i*5)*%s+(-6-%i)*%s^2+%s^3;
+if poly(v,'s','r')<>p then pause,end
+if poly(v+0,'s','r')<>p then pause,end
+if poly(v,nam,'r')<>p then pause,end
+if poly(v+0,nam,'r')<>p then pause,end
+if poly(v,'s',job)<>p then pause,end
+if poly(v+0,'s',job)<>p then pause,end
+if poly(v,nam,job)<>p then pause,end
+if poly(v+0,nam,job)<>p then pause,end
+
+v=[];p=poly(1,'s','c');
+if poly(v,'s','r')<>p then pause,end
+if poly([],'s','r')<>p then pause,end
+if poly(v,nam,'r')<>p then pause,end
+if poly([],nam,'r')<>p then pause,end
+if poly(v,'s',job)<>p then pause,end
+if poly([],'s',job)<>p then pause,end
+if poly(v,nam,job)<>p then pause,end
+if poly([],nam,job)<>p then pause,end
+
+//poly (caracteristic)
+nam='s';a=[1 2;3 4];p=-2-5*%s+%s^2;
+if norm(coeff(poly(a,'s')-p))>100*%eps then pause,end
+if norm(coeff(poly(a+0,'s')-p))>100*%eps then pause,end
+if norm(coeff(poly(a,nam)-p))>100*%eps then pause,end
+if norm(coeff(poly(a+0,nam)-p))>100*%eps then pause,end
+a=[1+%i 2;3 4];p=-2+%i*4+(-5-%i)*%s+%s^2 ;
+if norm(coeff(poly(a,'s')-p))>100*%eps then pause,end
+if norm(coeff(poly(a+0,'s')-p))>100*%eps then pause,end
+if norm(coeff(poly(a,nam)-p))>100*%eps then pause,end
+if norm(coeff(poly(a+0,nam)-p))>100*%eps then pause,end
+a=[];p=poly(1,'s','c');
+if poly(a,'s')<>p then pause,end
+if poly([],'s')<>p then pause,end
+if poly(a,nam)<>p then pause,end
+if poly([],nam)<>p then pause,end
+
+//degree
+v=[1 2 3];d=[0 0 0];
+if or(degree(v)<>d) then pause,end
+if or(degree(v+0)<>d) then pause,end
+v=[-2-5*%s+%s^2;-6+11*%s-6*%s^2+%s^3];d=[2;3];
+if or(degree(v)<>d) then pause,end
+if or(degree(v+0)<>d) then pause,end
+v=[];d=[];
+if or(degree(v)<>d) then pause,end
+if or(degree([])<>d) then pause,end
+
+//coeff
+p=[1+2*%s;%s^3];c=[1 2 0 0;0 0 0 1];sel=[0 1 1];
+
+if or(coeff(p)<>c) then pause,end
+if or(coeff(p+0)<>c) then pause,end
+if or(coeff(p,sel)<>c(:,sel+1)) then pause,end
+if or(coeff(p+0,sel)<>c(:,sel+1)) then pause,end
+if or(coeff(p,sel+0)<>c(:,sel+1)) then pause,end
+if or(coeff(p+0,sel+0)<>c(:,sel+1)) then pause,end
+sel=5;
+if or(coeff(p,sel+0)<>zeros(size(p,1),1)) then pause,end
+p=[1+2*%s, %s^3];c=[1 0 2 0 0 0 0 1];
+if or(coeff(p)<>c) then pause,end
+if or(coeff(p+0)<>c) then pause,end
+sel=[0 0];c=[1 0 1 0];
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff(p+0,sel)<>c) then pause,end
+if or(coeff(p,sel+0)<>c) then pause,end
+if or(coeff(p+0,sel+0)<>c) then pause,end
+
+p=[1+%i+2*%s;%s^3];c=[1+%i 2 0 0;0 0 0 1];sel=[0 1 1];
+
+if or(coeff(p)<>c) then pause,end
+if or(coeff(p+0)<>c) then pause,end
+if or(coeff(p,sel)<>c(:,sel+1)) then pause,end
+if or(coeff(p+0,sel)<>c(:,sel+1)) then pause,end
+if or(coeff(p,sel+0)<>c(:,sel+1)) then pause,end
+if or(coeff(p+0,sel+0)<>c(:,sel+1)) then pause,end
+sel=5;
+if or(coeff(p,sel+0)<>zeros(size(p,1),1)) then pause,end
+p=[1+2*%s, %s^3];c=[1 0 2 0 0 0 0 1];
+if or(coeff(p)<>c) then pause,end
+if or(coeff(p+0)<>c) then pause,end
+sel=[0 0];c=[1 0 1 0];
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff(p+0,sel)<>c) then pause,end
+if or(coeff(p,sel+0)<>c) then pause,end
+if or(coeff(p+0,sel+0)<>c) then pause,end
+
+p=[1 2;3 4];sel=0;c=p;
+if or(coeff(p)<>c) then pause,end
+if or(coeff(p+0)<>c) then pause,end
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff(p+0,sel)<>c) then pause,end
+if or(coeff(p,sel+0)<>c) then pause,end
+if or(coeff(p+0,sel+0)<>c) then pause,end
+p=[1 2;3 4];sel=[0 0];c=[p p];
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff(p+0,sel)<>c) then pause,end
+if or(coeff(p,sel+0)<>c) then pause,end
+if or(coeff(p+0,sel+0)<>c) then pause,end
+p=[1 2;3 4];sel=[0 1];c=[p 0*p];
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff(p+0,sel)<>c) then pause,end
+if or(coeff(p,sel+0)<>c) then pause,end
+if or(coeff(p+0,sel+0)<>c) then pause,end
+
+p=[1 2;3 4];sel=[];c=[];
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff(p+0,sel)<>c) then pause,end
+if or(coeff(p,[])<>c) then pause,end
+if or(coeff(p+0,[])<>c) then pause,end
+
+p=[],sel=0,c=[];
+if or(coeff(p)<>c) then pause,end
+if or(coeff([])<>c) then pause,end
+if or(coeff(p,sel)<>c) then pause,end
+if or(coeff([],sel)<>c) then pause,end
+
+//sum
+a=[1+%s 2;-3 4;5 -6];
+if sum(a)<>3+%s then pause,end
+if sum(a+0)<>3+%s then pause,end
+if or(sum(a,1)<>[3+%s 0]) then pause,end
+if or(sum(a+0,1)<>[3+%s 0]) then pause,end
+n=1;
+if or(sum(a,n)<>[3+%s 0]) then pause,end
+if or(sum(a+0,n)<>[3+%s 0]) then pause,end
+if or(sum(a,'r')<>[3+%s 0]) then pause,end
+if or(sum(a+0,'r')<>[3+%s 0]) then pause,end
+n='r';
+if or(sum(a,n)<>[3+%s 0]) then pause,end
+if or(sum(a+0,n)<>[3+%s 0]) then pause,end
+
+if or(sum(a,2)<>[3+%s;1;-1]) then pause,end
+if or(sum(a+0,2)<>[3+%s;1;-1]) then pause,end
+n=2;
+if or(sum(a,n)<>[3+%s;1;-1]) then pause,end
+if or(sum(a+0,n)<>[3+%s;1;-1]) then pause,end
+if or(sum(a,'c')<>[3+%s;1;-1]) then pause,end
+if or(sum(a+0,'c')<>[3+%s;1;-1]) then pause,end
+n='c';
+if or(sum(a,n)<>[3+%s;1;-1]) then pause,end
+if or(sum(a+0,n)<>[3+%s;1;-1]) then pause,end
+
+a=[1+%s 2;-3 4;5 -6]+0*%i;
+if or(sum(a)<>3+%s+0*%i) then pause,end
+if or(sum(a+0)<>3+%s+0*%i) then pause,end
+if or(sum(a,1)<>[3+%s 0]+0*%i) then pause,end
+if or(sum(a+0,1)<>[3+%s 0]+0*%i) then pause,end
+n=1;
+if or(sum(a,n)<>[3+%s 0]+0*%i) then pause,end
+if or(sum(a+0,n)<>[3+%s 0]+0*%i) then pause,end
+if or(sum(a,'r')<>[3+%s 0]+0*%i) then pause,end
+if or(sum(a+0,'r')<>[3+%s 0]+0*%i) then pause,end
+n='r';
+if or(sum(a,n)<>[3+%s 0]+0*%i) then pause,end
+if or(sum(a+0,n)<>[3+%s 0]+0*%i) then pause,end
+
+if or(sum(a,2)<>[3+%s;1;-1]+0*%i) then pause,end
+if or(sum(a+0,2)<>[3+%s;1;-1]+0*%i) then pause,end
+n=2;
+if or(sum(a,n)<>[3+%s;1;-1]+0*%i) then pause,end
+if or(sum(a+0,n)<>[3+%s;1;-1]+0*%i) then pause,end
+if or(sum(a,'c')<>[3+%s;1;-1]+0*%i) then pause,end
+if or(sum(a+0,'c')<>[3+%s;1;-1]+0*%i) then pause,end
+n='c';
+if or(sum(a,n)<>[3+%s;1;-1]+0*%i) then pause,end
+if or(sum(a+0,n)<>[3+%s;1;-1]+0*%i) then pause,end
+
+//prod
+a=[1+%s 2;-3 4;5 -6];
+if prod(a)<>720+720*%s then pause,end
+if prod(a+0)<>720+720*%s then pause,end
+if or(prod(a,1)<>[-15-15*%s,-48]) then pause,end
+if or(prod(a+0,1)<>[-15-15*%s,-48]) then pause,end
+n=1;
+if or(prod(a,n)<>[-15-15*%s,-48]) then pause,end
+if or(prod(a+0,n)<>[-15-15*%s,-48]) then pause,end
+if or(prod(a,'r')<>[-15-15*%s,-48]) then pause,end
+if or(prod(a+0,'r')<>[-15-15*%s,-48]) then pause,end
+n='r';
+if or(prod(a,n)<>[-15-15*%s,-48]) then pause,end
+if or(prod(a+0,n)<>[-15-15*%s,-48]) then pause,end
+
+if or(prod(a,2)<>[2+2*%s;-12;-30]) then pause,end
+if or(prod(a+0,2)<>[2+2*%s;-12;-30]) then pause,end
+n=2;
+if or(prod(a,n)<>[2+2*%s;-12;-30]) then pause,end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]) then pause,end
+if or(prod(a,'c')<>[2+2*%s;-12;-30]) then pause,end
+if or(prod(a+0,'c')<>[2+2*%s;-12;-30]) then pause,end
+n='c';
+if or(prod(a,n)<>[2+2*%s;-12;-30]) then pause,end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]) then pause,end
+
+a=[1+%s 2;-3 4;5 -6]+0*%i;
+if or(prod(a)<>720+720*%s+0*%i) then pause,end
+if or(prod(a+0)<>720+720*%s+0*%i) then pause,end
+if or(prod(a,1)<>[-15-15*%s,-48]+0*%i) then pause,end
+if or(prod(a+0,1)<>[-15-15*%s,-48]+0*%i) then pause,end
+n=1;
+if or(prod(a,n)<>[-15-15*%s,-48]+0*%i) then pause,end
+if or(prod(a+0,n)<>[-15-15*%s,-48]+0*%i) then pause,end
+if or(prod(a,'r')<>[-15-15*%s,-48]+0*%i) then pause,end
+if or(prod(a+0,'r')<>[-15-15*%s,-48]+0*%i) then pause,end
+n='r';
+if or(prod(a,n)<>[-15-15*%s,-48]+0*%i) then pause,end
+if or(prod(a+0,n)<>[-15-15*%s,-48]+0*%i) then pause,end
+
+if or(prod(a,2)<>[2+2*%s;-12;-30]+0*%i) then pause,end
+if or(prod(a+0,2)<>[2+2*%s;-12;-30]+0*%i) then pause,end
+n=2;
+if or(prod(a,n)<>[2+2*%s;-12;-30]+0*%i) then pause,end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]+0*%i) then pause,end
+if or(prod(a,'c')<>[2+2*%s;-12;-30]+0*%i) then pause,end
+if or(prod(a+0,'c')<>[2+2*%s;-12;-30]+0*%i) then pause,end
+n='c';
+if or(prod(a,n)<>[2+2*%s;-12;-30]+0*%i) then pause,end
+if or(prod(a+0,n)<>[2+2*%s;-12;-30]+0*%i) then pause,end
+
+//diag
+a=[1+%s 2 3];
+if or(diag(a+0)<>[1+%s 0 0;0 2 0;0 0 3]) then pause,end
+if or(diag(a)<>[1+%s 0 0;0 2 0;0 0 3]) then pause,end
+
+if or(diag([1+%s %i 2])<>[1+%s 0 0;0 %i 0;0 0 2]) then pause,end
+a=[1+%s %i 2 ];
+if or(diag(a)<>[1+%s 0 0;0 %i 0;0 0 2]) then pause,end
+a=[1+%s 2 3 4;5 6 7 8];un=poly(1,'s','c');
+if or(diag(a)<>[1+%s;6]) then pause,end
+if or(diag(a+0)<>[1+%s;6]) then pause,end
+if or(diag(a,1)<>[2*un;7]) then pause,end
+if or(diag(a+0,1)<>[2*un;7]) then pause,end
+if or(diag(a,-1)<>[5*un]) then pause,end
+if or(diag(a+0,-1)<>[5*un]) then pause,end
+if diag(a,4)<>[] then pause,end
+a(1,1)=%i+%s;
+if or(diag(a)<>[%i+%s;6]) then pause,end
+if or(diag(a+0)<>[%i+%s;6]) then pause,end
+if or(diag(a,1)<>[2*un;7]) then pause,end
+if or(diag(a+0,1)<>[2*un;7]) then pause,end
+if or(diag(a,-1)<>[5*un]) then pause,end
+if or(diag(a+0,-1)<>[5*un]) then pause,end
+if diag(a,4)<>[] then pause,end
+
+//triu
+a=[1+%s 2 3 4;5 6 7 8];un=poly(1,'s','c');
+if or(triu(a)<>[1+%s 2 3 4;0 6 7 8]) then pause,end
+if or(triu(a+0)<>[1+%s 2 3 4;0 6 7 8]) then pause,end
+if or(triu(a,1)<>[0 2*un 3 4;0 0 7 8]) then pause,end
+if or(triu(a+0,1)<>[0 2*un 3 4;0 0 7 8]) then pause,end
+if or(triu(a,-1)<>a) then pause,end
+if or(triu(a+0,-1)<>a) then pause,end
+if or(triu(a,4)<>0*a) then pause,end
+a(1,1)=%i+%s;
+if or(triu(a)<>[%i+%s 2 3 4;0 6 7 8]) then pause,end
+if or(triu(a+0)<>[%i+%s 2 3 4;0 6 7 8]) then pause,end
+if or(triu(a,1)<>[0 2*un 3 4;0 0 7 8]) then pause,end
+if or(triu(a+0,1)<>[0 2*un 3 4;0 0 7 8]) then pause,end
+if or(triu(a,-1)<>a) then pause,end
+if or(triu(a+0,-1)<>a) then pause,end
+if or(triu(a,4)<>0*a) then pause,end
+
+//tril
+a=[1+%s 2 3 4;5 6 7 8];
+if or(tril(a)<>[1+%s 0 0 0;5 6 0 0]) then pause,end
+if or(tril(a+0)<>[1+%s 0 0 0;5 6 0 0]) then pause,end
+if or(tril(a,1)<>[1+%s 2 0 0;5 6 7 0]) then pause,end
+if or(tril(a+0,1)<>[1+%s 2 0 0;5 6 7 0]) then pause,end
+if or(tril(a,4)<>a) then pause,end
+if or(tril(a+0,4)<>a) then pause,end
+if or(tril(a,-3)<>0*a) then pause,end
+a(1,1)=%i+%s;
+if or(tril(a)<>[%i+%s 0 0 0;5 6 0 0]) then pause,end
+if or(tril(a+0)<>[%i+%s 0 0 0;5 6 0 0]) then pause,end
+if or(tril(a,1)<>[%i+%s 2 0 0;5 6 7 0]) then pause,end
+if or(tril(a+0,1)<>[%i+%s 2 0 0;5 6 7 0]) then pause,end
+if or(tril(a,4)<>a) then pause,end
+if or(tril(a+0,4)<>a) then pause,end
+if or(tril(a,-3)<>0*a) then pause,end
+
+
+//simp_mode
+a=%t
+simp_mode(%t);
+if simp_mode()<>%t then pause,end
+simp_mode(a);
+if simp_mode()<>%t then pause,end
+[n,d]=simp(%s,%s);if n<>poly(1,'s','c')|d<>poly(1,'s','c') then pause,end
+a=%f
+simp_mode(%f);
+if simp_mode()<>%f then pause,end
+simp_mode(a);
+if simp_mode()<>%f then pause,end
+[n,d]=simp(%s,%s);if n<>%s|d<>%s then pause,end
+
+//varn
+a=1+%s;
+if varn(a)<>'s' then pause,end
+if varn(a+0)<>'s' then pause,end
+if varn(a,'z')<>1+%z then pause,end
+if varn(a+0,'z')<>1+%z then pause,end
+nam='z';
+if varn(a,nam)<>1+%z then pause,end
+if varn(a+0,nam)<>1+%z then pause,end
+a=[];
+if varn(a,nam)<>[] then pause,end
+if varn([],nam)<>[] then pause,end
+//clean
+a=[1 1.d-12 1.d-5 2d8+%s];un=poly(1,'s','c')
+b=[1 0 1.d-5 2d8+%s];
+if or(clean(a)<>b) then pause,end
+if or(clean(a+0)<>b) then pause,end
+epsa=1.d-10;
+if or(clean(a,epsa)<>b) then pause,end
+if or(clean(a+0,epsa)<>b) then pause,end
+if or(clean(a,epsa+0)<>b) then pause,end
+if or(clean(a+0,epsa+0)<>b) then pause,end
+epsr=1.d-4;b=[1 0 1.d-5 2d8*un];
+if or(clean(a,epsa,epsr)<>b) then pause,end
+if or(clean(a+0,epsa,epsr)<>b) then pause,end
+if or(clean(a,epsa+0,epsr)<>b) then pause,end
+if or(clean(a+0,epsa,epsr+0)<>b) then pause,end
+if or(clean(a,epsa+0,epsr)<>b) then pause,end
+if or(clean(a+0,epsa,epsr+0)<>b) then pause,end
+if or(clean(a,epsa+0,epsr)<>b) then pause,end
+if or(clean(a+0,epsa+0,epsr+0)<>b) then pause,end
+
+a=[1+%i 1.d-12 1.d-5 2d8+%s];
+b=[1+%i 0 1.d-5 2d8+%s];
+if or(clean(a)<>b) then pause,end
+if or(clean(a+0)<>b) then pause,end
+epsa=1.d-10;
+if or(clean(a,epsa)<>b) then pause,end
+if or(clean(a+0,epsa)<>b) then pause,end
+if or(clean(a,epsa+0)<>b) then pause,end
+if or(clean(a+0,epsa+0)<>b) then pause,end
+epsr=1.d-5;b=[1+%i 0 1.d-5 poly([2d8,0],'s','c')];
+if or(clean(a,epsa,epsr)<>b) then pause,end
+if or(clean(a+0,epsa,epsr)<>b) then pause,end
+if or(clean(a,epsa+0,epsr)<>b) then pause,end
+if or(clean(a+0,epsa,epsr+0)<>b) then pause,end
+if or(clean(a,epsa+0,epsr)<>b) then pause,end
+if or(clean(a+0,epsa,epsr+0)<>b) then pause,end
+if or(clean(a,epsa+0,epsr)<>b) then pause,end
+if or(clean(a+0,epsa+0,epsr+0)<>b) then pause,end
+
+//simp
+simp_mode(%t);
+p=[];
+[n,d]=simp(p,p);if n<>[]|p<>[] then pause,end
+[n,d]=simp([],[]);if n<>[]|p<>[] then pause,end
+
+un=poly(1,'s','c');p=%s;
+[n,d]=simp(p,p);if n<>un|d<>un then pause,end
+[n,d]=simp(p+0,p);if n<>un|d<>un then pause,end
+[n,d]=simp(p,p+0);if n<>un|d<>un then pause,end
+[n,d]=simp(p+0,p+0);if n<>un|d<>un then pause,end
+un=1;
+[n,d]=simp(p,un);if n<>p|d<>1 then pause,end
+[n,d]=simp(p,1);if n<>p|d<>1 then pause,end
+[n,d]=simp(p+0,un);if n<>p|d<>1 then pause,end
+[n,d]=simp(p+0,1);if n<>p|d<>1 then pause,end
+
+[n,d]=simp(un,p);if n<>un|d<>p then pause,end
+[n,d]=simp(1,p);if n<>un|d<>p then pause,end
+[n,d]=simp(un,p+0);if n<>un|d<>p then pause,end
+[n,d]=simp(1,p+0);if n<>un|d<>p then pause,end
+
+
+p=1+%s^10;un=poly(1,'s','c')
+
+[n,d]=simp(p,p);if n<>un|d<>un then pause,end
+[n,d]=simp(p+0,p);if n<>un|d<>un then pause,end
+[n,d]=simp(p,p+0);if n<>un|d<>un then pause,end
+[n,d]=simp(p+0,p+0);if n<>un|d<>un then pause,end
+un=1;
+[n,d]=simp(p,un);if n<>p|d<>1 then pause,end
+[n,d]=simp(p,1);if n<>p|d<>1 then pause,end
+[n,d]=simp(p+0,un);if n<>p|d<>1 then pause,end
+[n,d]=simp(p+0,1);if n<>p|d<>1 then pause,end
+
+[n,d]=simp(un,p);if n<>un|d<>p then pause,end
+[n,d]=simp(1,p);if n<>un|d<>p then pause,end
+[n,d]=simp(un,p+0);if n<>un|d<>p then pause,end
+[n,d]=simp(1,p+0);if n<>un|d<>p then pause,end
+
+un=poly(1,'s','c');p=%s;
+h=rlist(p,p,[]);un=rlist(poly(1,'s','c'),poly(1,'s','c'),[]);
+
+if simp(h)<>un then pause,end
+if simp(rlist(p,p,[]))<>un then pause,end
+
+h=rlist(p,1,[]);
+if simp(h)<>h then pause,end
+if simp(rlist(p,1,[]))<>h then pause,end
+
+h=rlist(1,p,[]);
+if simp(h)<>h then pause,end
+if simp(rlist(1,p,[]))<>h then pause,end
+
+p=1+%s^10;
+h=rlist(p,p,[]);un=rlist(poly(1,'s','c'),poly(1,'s','c'),[]);
+
+if simp(h)<>un then pause,end
+if simp(rlist(p,p,[]))<>un then pause,end
+
+h=rlist(p,1,[]);
+if simp(h)<>h then pause,end
+if simp(rlist(p,1,[]))<>h then pause,end
+
+h=rlist(1,p,[]);
+if simp(h)<>h then pause,end
+if simp(rlist(1,p,[]))<>h then pause,end
+
+//pdiv
+p=[];
+[n,d]=pdiv(p,p);if n<>[]|p<>[] then pause,end
+[n,d]=pdiv([],[]);if n<>[]|p<>[] then pause,end
+if pdiv(p,p)<>[] then pause,end
+if pdiv([],[])<>[] then pause,end
+
+p1=%s;p2=p1;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then pause,end
+
+p1=%s;p2=1;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then pause,end
+
+p1=1;p2=%s;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then pause,end
+
+p1=%s+%i;p2=p1;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then pause,end
+
+p1=%s;p2=1+%i;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then pause,end
+
+p1=1+%i;p2=%s;
+[r,q]=pdiv(p1,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1,p2+0);if p2*q+r<>p1 then pause,end
+[r,q]=pdiv(p1+0,p2+0);if p2*q+r<>p1 then pause,end
+
+//
+p1=%s;p2=p1;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then pause,end
+
+p1=%s;p2=1;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then pause,end
+
+p1=1;p2=%s;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then pause,end
+
+p1=%s+%i;p2=p1;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then pause,end
+
+p1=%s;p2=1+%i;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then pause,end
+
+p1=1+%i;p2=%s;
+[r,q]=pdiv(p1,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1,p2+0);if pdiv(p1,p2)<>q then pause,end
+[r,q]=pdiv(p1+0,p2+0);if pdiv(p1,p2)<>q then pause,end
+
+
+
+
+//bezout
+p1=%s;p2=p1;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+
+p1=%s;p2=1;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+
+p1=1;p2=%s;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+
+p1=1;p2=1;
+[p,U]=bezout(p1,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+[p,U]=bezout(p1+0,p2+0);if norm(coeff([p1 p2]*U-[p 0]))>10*%eps then pause,end
+
+
+//sfact
+p=(%s-1/2)*(2-%s);
+w=sfact(p); if norm(coeff(w*numer(horner(w,1/%s))-p))>10*%eps then pause,end
+w=sfact(p+0);if norm(coeff(w*numer(horner(w,1/%s))-p))>10*%eps then pause,end
+
+
+F1=[%z-1/2,%z+1/2,%z^2+2;1,%z,-%z;%z^3+2*%z,%z,1/2-%z];
+P=F1*gtild(F1,'d');
+F=sfact(P);if norm(coeff(P-F*gtild(F,'d')))>100*%eps then pause,end
+F=sfact(P+0);if norm(coeff(P-F*gtild(F,'d')))>100*%eps then pause,end
diff --git a/modules/polynomials/tests/unit_tests/polops.dia.ref b/modules/polynomials/tests/unit_tests/polops.dia.ref
new file mode 100755
index 000000000..a28b78f19
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/polops.dia.ref
@@ -0,0 +1,782 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+mode(5)
+lines(0)
+s=poly(0,'s');
+//polynomial operations
+p1=1+1.5*s;
+if p1<>poly([1 1.5],'s','c') then bugmes();quit;end
+p2=p1*p1;
+if norm(coeff(p2-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(4*p2-poly([4 12 9],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(p2*4-poly([4 12 9],'s','c')))>10*%eps then bugmes();quit;end
+p2=p2*4;
+if norm(coeff(p2/4-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(4\p2-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+p2=p2/4;
+if norm(coeff((p2-1)-poly([0 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff((1-p2)-poly([0 -3 -2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(p2-p2))>10*%eps then bugmes();quit;end
+//complex
+p1=1+1.5*s+0*%i;
+if norm(coeff(p1-poly([1 1.5],'s','c')))>10*%eps then bugmes();quit;end
+p2=p1*p1;
+if norm(coeff(p2-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(4*p2-poly([4 12 9],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(p2*4-poly([4 12 9],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff((4+0*%i)*p2-poly([4 12 9],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(p2*(4+0*%i)-poly([4 12 9],'s','c')))>10*%eps then bugmes();quit;end
+p2=p2*4;
+if norm(coeff(p2/4-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(4\p2-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(p2/(4+0*%i)-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff((4+0*%i)\p2-poly([1 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+p2=p2/4;
+if norm(coeff((p2-1)-poly([0 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff((1-p2)-poly([0 -3 -2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff((p2-(1+0*%i))-poly([0 3 2.25],'s','c')))>10*%eps then bugmes();quit;end
+if norm(coeff(((1+0*%i)-p2)-poly([0 -3 -2.25],'s','c')))>10*%eps then bugmes();quit;end
+//
+if norm(coeff(p2-p2))>10*%eps then bugmes();quit;end
+//
+//concatenations extraction
+p1=1+1.5*s;p2=1;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+//en colonne
+p1=1+1.5*s;p2=1;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+//
+p1=1+1.5*s;p2=1+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+//en colonne
+p1=1+1.5*s;p2=1+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+// complex reel
+//en ligne
+p1=1+1.5*s+%i;p2=1;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+//en colonne
+p1=1+1.5*s+%i;p2=1;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+//complex complex
+//en ligne
+p1=1+1.5*s+%i;p2=1+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then bugmes();quit;end
+//en colonne
+p1=1+1.5*s+%i;p2=1+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+p2=p1+4*s**2+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then bugmes();quit;end
+if norm(coeff(p3(2)-p2))>%eps then bugmes();quit;end
+if norm(coeff(p3(1:2)-p3))>%eps then bugmes();quit;end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then bugmes();quit;end
+//
+// real real
+//
+p1=[1+1.5*s;s**2];
+//
+if norm(coeff(p1'-[p1(1),p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+if norm(coeff((-p1')+p1'))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then bugmes();quit;end
+//
+x=[1.5;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x'*p1-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1'-p3'))>10*%eps then bugmes();quit;end
+//
+x=4;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1'-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(p1'*x-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+x=[1+s**3,4];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5,1/3];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1'-p3))>10*%eps then bugmes();quit;end
+// matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1];
+//
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+//
+x=[1,s;-1,2*s;2,0];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=[1 1.5;2 1/3;sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=5;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1-p3))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3, 4,-s;0,s+1,10*s**4];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1 1.5;2 1/3;sqrt(7) 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+//
+// real complex
+//
+p1=[1+1.5*s;s**2];
+//
+if norm(coeff(p1'-[p1(1),p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+if norm(coeff((-p1')+p1'))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4+%i];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then bugmes();quit;end
+//
+x=[1.5+%i;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(conj(x')*p1-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1'-conj(p3')))>10*%eps then bugmes();quit;end
+//
+x=4+%i;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1'-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(p1'*x-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4-3*%i];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5+%i/5;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+x=[1+s**3,4-%i];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5,1/3-3*%i];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1'-p3))>10*%eps then bugmes();quit;end
+// matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1];
+//
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+//
+x=[1,s+%i ;-1,2*s;2,0];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=[1 1.5;2 1/3;%i-sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=5-2*%i;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1-p3))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3, 4-3*%i,-s;0,s+1,10*s**4];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1 1.5;2-%i/7, 1/3;sqrt(7) 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+//
+// complex real
+//
+p1=[1+1.5*s;s**2+%i];
+//
+if norm(coeff(conj(p1')-[p1(1),p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+if norm(coeff((-conj(p1'))+conj(p1')))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then bugmes();quit;end
+//
+x=[1.5;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x'*p1-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*conj(p1')-conj(p3')))>10*%eps then bugmes();quit;end
+//
+x=4;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(x*conj(p1')-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(conj(p1')*x-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+x=[1+s**3,4];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5,1/3];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*conj(p1')-p3))>10*%eps then bugmes();quit;end
+//matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1-%i/3];
+//
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+//
+x=[1,s ;-1,2*s;2,0];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=[1 1.5;2 1/3;sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=5;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1-p3))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3,4,-s;0,s+1,10*s**4];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1 1.5;2, 1/3;sqrt(7) 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+//
+// complex complex
+//
+p1=[1+1.5*s;s**2+%i];
+//
+if norm(coeff(conj(p1')-[p1(1),p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+if norm(coeff((-conj(p1'))+conj(p1')))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4-%i];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then bugmes();quit;end
+//
+x=[1.5+%i/5;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(conj(x')*p1-p3))>10*%eps then bugmes();quit;end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*conj(p1')-conj(p3')))>10*%eps then bugmes();quit;end
+//produit d'un vecteur de polynome par un scalaire
+x=4+%i/7;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(x*conj(p1')-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+if norm(coeff(conj(p1')*x-[x*p1(1),x*p1(2)]))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3; 4-%i];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5+2*%i;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+x=[1+s**3+%i,4-%i];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then bugmes();quit;end
+x=[1.5+3*%i,1/3];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*conj(p1')-p3))>10*%eps then bugmes();quit;end
+//matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1-%i/3];
+//
+if norm(coeff((-p1)+p1))>10*%eps then bugmes();quit;end
+//
+x=[1-%i,s ;-1,2*s;2,0+%i*s**4];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=[1 1.5+5*%i;2 1/3;%i-sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+//
+x=5+8*%i;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+if norm(coeff(p1*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x*p1-p3))>10*%eps then bugmes();quit;end
+//
+x=[1+s**3,4+10*%i,-s;0,s+1,10*s**4+%i*s**3];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+x=[1 1.5;2, 1/3;sqrt(7)/%i, 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then bugmes();quit;end
+if norm(coeff(x.*p1-p3))>10*%eps then bugmes();quit;end
+//
+//
+//
+// real real
+z=poly(0,'z');p1=[1+3*z;z;2*z;z*4];p2=[0*z 1+z z-1 -z];p3=[p1 p2'];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then bugmes();quit;end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then bugmes();quit;end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 pp2'] then bugmes();quit;end
+pp1(1:4)=pp2';if pp1<> pp2' then bugmes();quit;end
+pp1((1:4)')=pp2';if pp1<> pp2' then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then bugmes();quit;end
+pp2(7)=+z**3;,if pp2 <> [p2,0,0,+z**3;] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then bugmes();quit;end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(:)=p2';if pp1 <> p2' then bugmes();quit;end
+pp2(:)=p1';if pp2 <> p1' then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then bugmes();quit;end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then bugmes();quit;end
+pp3=p3;
+pp3(1:4,1)=p2';if pp3 <> [p2' p2'] then bugmes();quit;end
+pp3(1:4,2)=p1;if pp3 <> [p2' p1] then bugmes();quit;end
+pp3=p3;
+pp3(:,1)=p2';if pp3 <> [p2' p2'] then bugmes();quit;end
+pp3(:,2)=p1;if pp3 <> [p2' p1] then bugmes();quit;end
+pp3(:,:)=p3;if pp3 <> p3 then bugmes();quit;end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then bugmes();quit;end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then bugmes();quit;end
+//
+p1=[1+3*s;s;2*s;s*4];p2=[0*s-2.5*%i, 1+s, s-1+3*%i ,-s];p3=[p1 conj(p2')];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then bugmes();quit;end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then bugmes();quit;end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then bugmes();quit;end
+pp1(1:4)=conj(pp2');if pp1<> conj(pp2') then bugmes();quit;end
+pp1((1:4)')=conj(pp2');if pp1<> conj(pp2') then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then bugmes();quit;end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3;] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then bugmes();quit;end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(:)=conj(p2');if pp1 <> conj(p2') then bugmes();quit;end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then bugmes();quit;end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then bugmes();quit;end
+pp3=p3;
+pp3(1:4,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then bugmes();quit;end
+pp3(1:4,2)=p1;if pp3 <> [conj(p2') p1] then bugmes();quit;end
+pp3=p3;
+pp3(:,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then bugmes();quit;end
+pp3(:,2)=p1;if pp3 <> [conj(p2') p1] then bugmes();quit;end
+pp3(:,:)=p3;if pp3 <> p3 then bugmes();quit;end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then bugmes();quit;end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then bugmes();quit;end
+//
+p1=[1+3*s;s-%i;2*s;s*4+3*%i*s**2];p2=[0*s 1+s s-1 -s];p3=[p1 p2'];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if norm(coeff(pp1(2)-pp2(1)))>10*%eps then bugmes();quit;end
+pp2(3)=pp1(4);if norm(coeff(pp2(3)-pp1(4)))>10*%eps then bugmes();quit;end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then bugmes();quit;end
+pp1(1:4)=pp2';if pp1<> pp2' then bugmes();quit;end
+pp1((1:4)')=pp2';if pp1<> pp2' then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then bugmes();quit;end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then bugmes();quit;end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(:)=p2';if norm(coeff(pp1-p2'))>10*%eps then bugmes();quit;end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then bugmes();quit;end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then bugmes();quit;end
+pp3=p3;
+pp3(1:4,1)=p2';if norm(coeff(pp3-[p2' p2']))>10*%eps then bugmes();quit;end
+pp3(1:4,2)=p1;if norm(coeff(pp3-[p2' p1]))>10*%eps then bugmes();quit;end
+pp3=p3;
+pp3(:,1)=p2';if norm(coeff(pp3-[p2' p2']))>10*%eps then bugmes();quit;end
+pp3(:,2)=p1;if norm(coeff(pp3-[p2' p1]))>10*%eps then bugmes();quit;end
+pp3(:,:)=p3;if pp3 <> p3 then bugmes();quit;end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then bugmes();quit;end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then bugmes();quit;end
+p1=[1+3*s;s;2*s;s*4];p2=[0*s-2.5*%i, 1+s, s-1+3*%i ,-s];p3=[p1 conj(p2')];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then bugmes();quit;end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then bugmes();quit;end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then bugmes();quit;end
+pp1(1:4)=conj(pp2');if pp1<> conj(pp2') then bugmes();quit;end
+pp1((1:4)')=conj(pp2');if pp1<> conj(pp2') then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then bugmes();quit;end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then bugmes();quit;end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(:)=conj(p2');if pp1 <> conj(p2') then bugmes();quit;end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then bugmes();quit;end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then bugmes();quit;end
+pp3=p3;
+pp3(1:4,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then bugmes();quit;end
+pp3(1:4,2)=p1;if pp3 <> [conj(p2') p1] then bugmes();quit;end
+pp3=p3;
+pp3(:,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then bugmes();quit;end
+pp3(:,2)=p1;if pp3 <> [conj(p2') p1] then bugmes();quit;end
+pp3(:,:)=p3;if pp3 <> p3 then bugmes();quit;end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then bugmes();quit;end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then bugmes();quit;end
+//
+p1=[1+3*s;s+%i*s**3;2*s;s*4+%i];p2=[0*s-2.5*%i,1+s,s-1+3*%i,-s];
+p3=[p1 conj(p2')];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then bugmes();quit;end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then bugmes();quit;end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then bugmes();quit;end
+pp1(1:4)=conj(pp2');if pp1<> conj(pp2') then bugmes();quit;end
+pp1((1:4)')=conj(pp2');if pp1<> conj(pp2') then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then bugmes();quit;end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then bugmes();quit;end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(:)=conj(p2');if pp1 <> conj(p2') then bugmes();quit;end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then bugmes();quit;end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then bugmes();quit;end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then bugmes();quit;end
+pp3=p3;
+pp3(1:4,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then bugmes();quit;end
+pp3(1:4,2)=p1;if pp3 <> [conj(p2') p1] then bugmes();quit;end
+pp3=p3;
+pp3(:,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then bugmes();quit;end
+pp3(:,2)=p1;if pp3 <> [conj(p2') p1] then bugmes();quit;end
+pp3(:,:)=p3;if pp3 <> p3 then bugmes();quit;end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then bugmes();quit;end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then bugmes();quit;end
+//
+//
+//real case
+p11=1+3*s;p12=s;p13=2*s;p14=s*4;p1=[p11;p12;p13;p14];
+p21=0*s;p22=1+s;p23=s-1;p24=-s;p2=[p21 p22 p23 p24];
+p3=[p1 p2'];
+if p1(1) <> p11 then bugmes();quit;end
+if p1(4) <> p14 then bugmes();quit;end
+if p2(2) <> p22 then bugmes();quit;end
+if p2(3) <> p23 then bugmes();quit;end
+if p1([1 3]) <> [p11;p13] then bugmes();quit;end
+if p1([1;3]) <> p1([1 3]) then bugmes();quit;end
+if p2([2 4]) <> [p22 p24] then bugmes();quit;end
+if p2([2;4]) <> p2([2 4]) then bugmes();quit;end
+if p1(:) <> p1 then bugmes();quit;end
+if p2(:) <> p2' then bugmes();quit;end
+if p3(1) <> p1(1) then bugmes();quit;end
+if p3(8) <> p2(4) then bugmes();quit;end
+if p3(3) <> p1(3) then bugmes();quit;end
+if p3(5) <> p2(1) then bugmes();quit;end
+if p3(1,1) <> p1(1) then bugmes();quit;end
+if p3(4,2) <> p2(4) then bugmes();quit;end
+if p3(3,2) <> p2(3) then bugmes();quit;end
+if p3([1 3],1) <> p1([1 3]) then bugmes();quit;end
+if p3([1;3],1) <> p1([1 3]) then bugmes();quit;end
+if p3([2 4],[2 1]) <> [p2([2 4])' p1([2 4])] then bugmes();quit;end
+if p3(:,1) <> p1 then bugmes();quit;end
+if p3(:,2) <> p2' then bugmes();quit;end
+if p3(1,:) <> [p1(1) p2(1)] then bugmes();quit;end
+if p3([1 4],:) <> [p1([1 4]) p2([1 4])'] then bugmes();quit;end
+if p3(:,:) <> p3 then bugmes();quit;end
+//
+p11=1+3*s+%i;p12=s+%i*s**3;p13=2*s;p14=s*4;p1=[p11;p12;p13;p14];
+p21=%i+0*s;p22=1+s;p23=s-1;p24=-s+%i*s**2;p2=[p21 p22 p23 p24];
+p3=[p1 conj(p2')];
+if p1(1) <> p11 then bugmes();quit;end
+if norm(coeff(p1(4)-p14))>10*%eps then bugmes();quit;end
+if norm(coeff(p2(2)- p22 ))>10*%eps then bugmes();quit;end
+if norm(coeff(p2(3)- p23 ))>10*%eps then bugmes();quit;end
+if norm(coeff(p1([1 3])- [p11;p13] ))>10*%eps then bugmes();quit;end
+if norm(coeff(p1([1;3])- p1([1 3]) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p2([2 4])- [p22 p24] ))>10*%eps then bugmes();quit;end
+if norm(coeff(p2([2;4])- p2([2 4]) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p1(:)- p1 ))>10*%eps then bugmes();quit;end
+if norm(coeff(p2(:)- conj(p2)' ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(1)- p1(1) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(8)- p2(4) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(3)- p1(3) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(5)- p2(1) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(1,1)- p1(1) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(4,2)- p2(4) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(3,2)- p2(3) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3([1 3],1)- p1([1 3]) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3([1;3],1)- p1([1 3]) ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3([2 4],[2 1])-[conj(p2([2 4])') p1([2 4])]))>10*%eps
+ then bugmes();quit;end
+if norm(coeff(p3(:,1)- p1 ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(:,2)- conj(p2') ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3(1,:)- [p1(1) p2(1)] ))>10*%eps then bugmes();quit;end
+if norm(coeff(p3([1 4],:)- [p1([1 4]) conj(p2([1 4])')] ))>10*%eps
+ then bugmes();quit;end
+if norm(coeff(p3(:,:)- p3 ))>10*%eps then bugmes();quit;end
+//hidden empty index in insertion
+s=poly(0,'s');
+a=[1+s 2;3 4];a_ref=a;
+a(1,[%f %f])=[];
+if or(a<>a_ref) then bugmes();quit;end
+a([%f %f],1)=[];
+if or(a<>a_ref) then bugmes();quit;end
+a([%f %f],[%f %f])=[];
+if or(a<>a_ref) then bugmes();quit;end
+a = [%s, 2*%s];
+a(2) = 1;
+assert_checkequal(a, [%s,1]);
+-%s;
+a=1+%s-%s^2;
+b=-a;
+assert_checkequal(b,-1-%s+%s^2);
+// polynom == double and double == polynom
+a = 1;
+aa = ones(3,3);
+ac = a + %i;
+aac = aa + aa * %i;
+p = 1 + %s * 0;
+pp = ones(3,3) + ones(3,3) * %s * 0;
+pc = p + %i;
+ppc = pp + pp * %i;
+// real
+assert_checktrue(a == p);
+assert_checktrue(aa == p);
+assert_checktrue(a == pp);
+assert_checktrue(aa == pp);
+assert_checktrue(p == a);
+assert_checktrue(pp == a);
+assert_checktrue(p == aa);
+assert_checktrue(pp == aa);
+// real complex
+assert_checkfalse(a == pc);
+assert_checkfalse(aa == pc);
+assert_checkfalse(a == ppc);
+assert_checkfalse(aa == ppc);
+assert_checkfalse(p == ac);
+assert_checkfalse(pp == ac);
+assert_checkfalse(p == aac);
+assert_checkfalse(pp == aac);
+// complex real
+assert_checkfalse(ac == p);
+assert_checkfalse(aac == p);
+assert_checkfalse(ac == pp);
+assert_checkfalse(aac == pp);
+assert_checkfalse(pc == a);
+assert_checkfalse(ppc == a);
+assert_checkfalse(pc == aa);
+assert_checkfalse(ppc == aa);
+//complex
+assert_checktrue(ac == pc);
+assert_checktrue(aac == pc);
+assert_checktrue(ac == ppc);
+assert_checktrue(aac == ppc);
+assert_checktrue(pc == ac);
+assert_checktrue(ppc == ac);
+assert_checktrue(pc == aac);
+assert_checktrue(ppc == aac);
+// not all equal
+// real
+aa(2) = 2;
+expected = ones(3,3) == 1;
+expected(2) = %f;
+assert_checkequal(expected, aa == p);
+assert_checkequal(expected, pp == aa);
+assert_checkequal(expected, p == aa);
+assert_checkequal(expected, aa == pp);
+assert_checkequal(expected, pp == aa);
+pp(4) = %s;
+pp(6) = 2;
+expected = ones(3,3) == 1;
+expected(4) = %f;
+expected(6) = %f;
+expected2 = expected;
+expected2(2) = %f;
+assert_checkequal(expected, a == pp);
+assert_checkequal(expected, pp == a);
+assert_checkequal(expected2, aa == pp);
+assert_checkequal(expected2, pp == aa);
+// complex
+aac(2) = 2;
+expected = ones(3,3) == 1;
+expected(2) = %f;
+assert_checkequal(expected, aac == pc);
+assert_checkequal(expected, ppc == aac);
+assert_checkequal(expected, pc == aac);
+assert_checkequal(expected, aac == ppc);
+assert_checkequal(expected, ppc == aac);
+ppc(4) = %s;
+ppc(6) = 2;
+expected = ones(3,3) == 1;
+expected(4) = %f;
+expected(6) = %f;
+expected2 = expected;
+expected2(2) = %f;
+assert_checkequal(expected, ac == ppc);
+assert_checkequal(expected, ppc == ac);
+assert_checkequal(expected2, aac == ppc);
+assert_checkequal(expected2, ppc == aac);
diff --git a/modules/polynomials/tests/unit_tests/polops.tst b/modules/polynomials/tests/unit_tests/polops.tst
new file mode 100755
index 000000000..b4e65c0bb
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/polops.tst
@@ -0,0 +1,819 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+mode(5)
+lines(0)
+s=poly(0,'s');
+//polynomial operations
+p1=1+1.5*s;
+if p1<>poly([1 1.5],'s','c') then pause,end
+p2=p1*p1;
+if norm(coeff(p2-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(4*p2-poly([4 12 9],'s','c')))>10*%eps then pause,end
+if norm(coeff(p2*4-poly([4 12 9],'s','c')))>10*%eps then pause,end
+p2=p2*4;
+if norm(coeff(p2/4-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(4\p2-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+p2=p2/4;
+if norm(coeff((p2-1)-poly([0 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff((1-p2)-poly([0 -3 -2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(p2-p2))>10*%eps then pause,end
+//complex
+p1=1+1.5*s+0*%i;
+if norm(coeff(p1-poly([1 1.5],'s','c')))>10*%eps then pause,end
+p2=p1*p1;
+if norm(coeff(p2-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(4*p2-poly([4 12 9],'s','c')))>10*%eps then pause,end
+if norm(coeff(p2*4-poly([4 12 9],'s','c')))>10*%eps then pause,end
+if norm(coeff((4+0*%i)*p2-poly([4 12 9],'s','c')))>10*%eps then pause,end
+if norm(coeff(p2*(4+0*%i)-poly([4 12 9],'s','c')))>10*%eps then pause,end
+p2=p2*4;
+if norm(coeff(p2/4-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(4\p2-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(p2/(4+0*%i)-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff((4+0*%i)\p2-poly([1 3 2.25],'s','c')))>10*%eps then pause,end
+p2=p2/4;
+if norm(coeff((p2-1)-poly([0 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff((1-p2)-poly([0 -3 -2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff((p2-(1+0*%i))-poly([0 3 2.25],'s','c')))>10*%eps then pause,end
+if norm(coeff(((1+0*%i)-p2)-poly([0 -3 -2.25],'s','c')))>10*%eps then pause,end
+//
+if norm(coeff(p2-p2))>10*%eps then pause,end
+//
+//concatenations extraction
+p1=1+1.5*s;p2=1;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+p2=p1+4*s**2;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+//en colonne
+p1=1+1.5*s;p2=1;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+p2=p1+4*s**2;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+//
+p1=1+1.5*s;p2=1+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+p2=p1+4*s**2+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+//en colonne
+p1=1+1.5*s;p2=1+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+p2=p1+4*s**2+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+// complex reel
+//en ligne
+p1=1+1.5*s+%i;p2=1;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+p2=p1+4*s**2;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+//en colonne
+p1=1+1.5*s+%i;p2=1;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+p2=p1+4*s**2;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+//complex complex
+//en ligne
+p1=1+1.5*s+%i;p2=1+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+p2=p1+4*s**2+%i;
+p3=[p1 p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2 p1]))>%eps then pause,end
+//en colonne
+p1=1+1.5*s+%i;p2=1+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+p2=p1+4*s**2+%i;
+p3=[p1;p2];
+if norm(coeff(p3(1)-p1))>%eps then pause,end
+if norm(coeff(p3(2)-p2))>%eps then pause,end
+if norm(coeff(p3(1:2)-p3))>%eps then pause,end
+if norm(coeff(p3([2 1])-[p2;p1]))>%eps then pause,end
+//
+// real real
+//
+p1=[1+1.5*s;s**2];
+//
+if norm(coeff(p1'-[p1(1),p1(2)]))>10*%eps then pause,end
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+if norm(coeff((-p1')+p1'))>10*%eps then pause,end
+//
+x=[1+s**3; 4];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then pause,end
+//
+x=[1.5;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then pause,end
+if norm(coeff(x'*p1-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then pause,end
+if norm(coeff(x*p1'-p3'))>10*%eps then pause,end
+//
+x=4;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(x*p1'-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(p1'*x-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+//
+x=[1+s**3; 4];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1.5;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+x=[1+s**3,4];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then pause,end
+x=[1.5,1/3];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1'-p3))>10*%eps then pause,end
+
+// matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1];
+//
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+//
+x=[1,s;-1,2*s;2,0];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=[1 1.5;2 1/3;sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=5;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+if norm(coeff(x*p1-p3))>10*%eps then pause,end
+
+//
+x=[1+s**3, 4,-s;0,s+1,10*s**4];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1 1.5;2 1/3;sqrt(7) 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+
+//
+// real complex
+//
+p1=[1+1.5*s;s**2];
+//
+if norm(coeff(p1'-[p1(1),p1(2)]))>10*%eps then pause,end
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+if norm(coeff((-p1')+p1'))>10*%eps then pause,end
+//
+x=[1+s**3; 4+%i];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then pause,end
+//
+x=[1.5+%i;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(p1'*x-p3))>10*%eps then pause,end
+if norm(coeff(conj(x')*p1-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then pause,end
+if norm(coeff(x*p1'-conj(p3')))>10*%eps then pause,end
+//
+x=4+%i;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(x*p1'-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(p1'*x-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+//
+x=[1+s**3; 4-3*%i];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1.5+%i/5;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+x=[1+s**3,4-%i];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then pause,end
+x=[1.5,1/3-3*%i];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(p1'.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1'-p3))>10*%eps then pause,end
+
+// matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1];
+//
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+//
+x=[1,s+%i ;-1,2*s;2,0];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=[1 1.5;2 1/3;%i-sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=5-2*%i;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+if norm(coeff(x*p1-p3))>10*%eps then pause,end
+
+//
+x=[1+s**3, 4-3*%i,-s;0,s+1,10*s**4];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1 1.5;2-%i/7, 1/3;sqrt(7) 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+//
+// complex real
+//
+p1=[1+1.5*s;s**2+%i];
+//
+if norm(coeff(conj(p1')-[p1(1),p1(2)]))>10*%eps then pause,end
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+if norm(coeff((-conj(p1'))+conj(p1')))>10*%eps then pause,end
+//
+x=[1+s**3; 4];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then pause,end
+//
+x=[1.5;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then pause,end
+if norm(coeff(x'*p1-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*x'-p3))>10*%eps then pause,end
+if norm(coeff(x*conj(p1')-conj(p3')))>10*%eps then pause,end
+//
+x=4;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(x*conj(p1')-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(conj(p1')*x-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+//
+x=[1+s**3; 4];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1.5;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+x=[1+s**3,4];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then pause,end
+x=[1.5,1/3];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*conj(p1')-p3))>10*%eps then pause,end
+
+//matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1-%i/3];
+//
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+//
+x=[1,s ;-1,2*s;2,0];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=[1 1.5;2 1/3;sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=5;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+if norm(coeff(x*p1-p3))>10*%eps then pause,end
+
+//
+x=[1+s**3,4,-s;0,s+1,10*s**4];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1 1.5;2, 1/3;sqrt(7) 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+//
+// complex complex
+//
+p1=[1+1.5*s;s**2+%i];
+//
+if norm(coeff(conj(p1')-[p1(1),p1(2)]))>10*%eps then pause,end
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+if norm(coeff((-conj(p1'))+conj(p1')))>10*%eps then pause,end
+//
+x=[1+s**3; 4-%i];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then pause,end
+//
+x=[1.5+%i/5;1/3];
+p3=p1(1)*x(1)+p1(2)*x(2);
+if norm(coeff(conj(p1')*x-p3))>10*%eps then pause,end
+if norm(coeff(conj(x')*p1-p3))>10*%eps then pause,end
+p3=[p1(1)*x(1),p1(1)*x(2);p1(2)*x(1), p1(2)*x(2)];
+if norm(coeff(p1*conj(x')-p3))>10*%eps then pause,end
+if norm(coeff(x*conj(p1')-conj(p3')))>10*%eps then pause,end
+//produit d'un vecteur de polynome par un scalaire
+x=4+%i/7;
+if norm(coeff(x*p1-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(p1*x-[x*p1(1);x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(x*conj(p1')-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+if norm(coeff(conj(p1')*x-[x*p1(1),x*p1(2)]))>10*%eps then pause,end
+//
+x=[1+s**3; 4-%i];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1.5+2*%i;1/3];
+p3=[p1(1)*x(1);p1(2)*x(2)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+x=[1+s**3+%i,4-%i];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then pause,end
+x=[1.5+3*%i,1/3];
+p3=[p1(1)*x(1),p1(2)*x(2)];
+if norm(coeff(conj(p1').*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*conj(p1')-p3))>10*%eps then pause,end
+
+//matrices
+p1=[1+1.5*s,s**2, 0;1 s s+1-%i/3];
+//
+if norm(coeff((-p1)+p1))>10*%eps then pause,end
+//
+x=[1-%i,s ;-1,2*s;2,0+%i*s**4];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=[1 1.5+5*%i;2 1/3;%i-sqrt(7) 8];
+p3=[p1(1,1)*x(1,1)+p1(1,2)*x(2,1)+p1(1,3)*x(3,1),...
+ p1(1,1)*x(1,2)+p1(1,2)*x(2,2)+p1(1,3)*x(3,2);
+ p1(2,1)*x(1,1)+p1(2,2)*x(2,1)+p1(2,3)*x(3,1),...
+ p1(2,1)*x(1,2)+p1(2,2)*x(2,2)+p1(2,3)*x(3,2)];
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+//
+x=5+8*%i;
+p3=[x*p1(1,1),x*p1(1,2),x*p1(1,3);
+ x*p1(2,1),x*p1(2,2),x*p1(2,3)];
+
+if norm(coeff(p1*x-p3))>10*%eps then pause,end
+if norm(coeff(x*p1-p3))>10*%eps then pause,end
+
+//
+x=[1+s**3,4+10*%i,-s;0,s+1,10*s**4+%i*s**3];
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+x=[1 1.5;2, 1/3;sqrt(7)/%i, 8]';
+p3=[p1(1,1)*x(1,1),p1(1,2)*x(1,2),p1(1,3)*x(1,3);
+ p1(2,1)*x(2,1),p1(2,2)*x(2,2),p1(2,3)*x(2,3)];
+if norm(coeff(p1.*x-p3))>10*%eps then pause,end
+if norm(coeff(x.*p1-p3))>10*%eps then pause,end
+
+//
+//
+//
+// real real
+z=poly(0,'z');p1=[1+3*z;z;2*z;z*4];p2=[0*z 1+z z-1 -z];p3=[p1 p2'];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then pause,end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then pause,end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 pp2'] then pause,end
+pp1(1:4)=pp2';if pp1<> pp2' then pause,end
+pp1((1:4)')=pp2';if pp1<> pp2' then pause,end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then pause,end
+pp2(7)=+z**3;,if pp2 <> [p2,0,0,+z**3;] then pause,end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then pause,end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then pause,end
+pp1=p1;pp2=p2;
+pp1(:)=p2';if pp1 <> p2' then pause,end
+pp2(:)=p1';if pp2 <> p1' then pause,end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then pause,end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then pause,end
+pp3=p3;
+pp3(1:4,1)=p2';if pp3 <> [p2' p2'] then pause,end
+pp3(1:4,2)=p1;if pp3 <> [p2' p1] then pause,end
+pp3=p3;
+pp3(:,1)=p2';if pp3 <> [p2' p2'] then pause,end
+pp3(:,2)=p1;if pp3 <> [p2' p1] then pause,end
+pp3(:,:)=p3;if pp3 <> p3 then pause,end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then pause,end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then pause,end
+//
+p1=[1+3*s;s;2*s;s*4];p2=[0*s-2.5*%i, 1+s, s-1+3*%i ,-s];p3=[p1 conj(p2')];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then pause,end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then pause,end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then pause,end
+pp1(1:4)=conj(pp2');if pp1<> conj(pp2') then pause,end
+pp1((1:4)')=conj(pp2');if pp1<> conj(pp2') then pause,end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then pause,end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3;] then pause,end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then pause,end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then pause,end
+pp1=p1;pp2=p2;
+pp1(:)=conj(p2');if pp1 <> conj(p2') then pause,end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then pause,end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then pause,end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then pause,end
+pp3=p3;
+pp3(1:4,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then pause,end
+pp3(1:4,2)=p1;if pp3 <> [conj(p2') p1] then pause,end
+pp3=p3;
+pp3(:,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then pause,end
+pp3(:,2)=p1;if pp3 <> [conj(p2') p1] then pause,end
+pp3(:,:)=p3;if pp3 <> p3 then pause,end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then pause,end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then pause,end
+
+//
+p1=[1+3*s;s-%i;2*s;s*4+3*%i*s**2];p2=[0*s 1+s s-1 -s];p3=[p1 p2'];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if norm(coeff(pp1(2)-pp2(1)))>10*%eps then pause,end
+pp2(3)=pp1(4);if norm(coeff(pp2(3)-pp1(4)))>10*%eps then pause,end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then pause,end
+pp1(1:4)=pp2';if pp1<> pp2' then pause,end
+pp1((1:4)')=pp2';if pp1<> pp2' then pause,end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then pause,end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3] then pause,end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then pause,end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then pause,end
+pp1=p1;pp2=p2;
+pp1(:)=p2';if norm(coeff(pp1-p2'))>10*%eps then pause,end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then pause,end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then pause,end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then pause,end
+pp3=p3;
+pp3(1:4,1)=p2';if norm(coeff(pp3-[p2' p2']))>10*%eps then pause,end
+pp3(1:4,2)=p1;if norm(coeff(pp3-[p2' p1]))>10*%eps then pause,end
+pp3=p3;
+pp3(:,1)=p2';if norm(coeff(pp3-[p2' p2']))>10*%eps then pause,end
+pp3(:,2)=p1;if norm(coeff(pp3-[p2' p1]))>10*%eps then pause,end
+pp3(:,:)=p3;if pp3 <> p3 then pause,end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then pause,end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then pause,end
+p1=[1+3*s;s;2*s;s*4];p2=[0*s-2.5*%i, 1+s, s-1+3*%i ,-s];p3=[p1 conj(p2')];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then pause,end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then pause,end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then pause,end
+pp1(1:4)=conj(pp2');if pp1<> conj(pp2') then pause,end
+pp1((1:4)')=conj(pp2');if pp1<> conj(pp2') then pause,end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then pause,end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3] then pause,end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then pause,end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then pause,end
+pp1=p1;pp2=p2;
+pp1(:)=conj(p2');if pp1 <> conj(p2') then pause,end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then pause,end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then pause,end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then pause,end
+pp3=p3;
+pp3(1:4,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then pause,end
+pp3(1:4,2)=p1;if pp3 <> [conj(p2') p1] then pause,end
+pp3=p3;
+pp3(:,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then pause,end
+pp3(:,2)=p1;if pp3 <> [conj(p2') p1] then pause,end
+pp3(:,:)=p3;if pp3 <> p3 then pause,end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then pause,end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then pause,end
+
+//
+p1=[1+3*s;s+%i*s**3;2*s;s*4+%i];p2=[0*s-2.5*%i,1+s,s-1+3*%i,-s];
+p3=[p1 conj(p2')];
+pp1=p1;pp2=p2;pp3=p3;
+pp1(2)=pp2(1);if pp1(2) <> pp2(1) then pause,end
+pp2(3)=pp1(4);if pp2(3) <> pp1(4) then pause,end
+pp3(2,1)=pp2(1);pp3(3,2)=pp1(4);if pp3 <> [pp1 conj(pp2')] then pause,end
+pp1(1:4)=conj(pp2');if pp1<> conj(pp2') then pause,end
+pp1((1:4)')=conj(pp2');if pp1<> conj(pp2') then pause,end
+pp1=p1;pp2=p2;
+pp1(6)=-8;if pp1 <> [p1;0;-8] then pause,end
+pp2(7)=+s**3;,if pp2 <> [p2,0,0,+s**3] then pause,end
+pp1=p1;pp2=p2;
+pp1(5:8)=p1;if pp1 <> [p1;p1] then pause,end
+pp2(6:9)=p2;if pp2 <> [p2 0 p2] then pause,end
+pp1=p1;pp2=p2;
+pp1(:)=conj(p2');if pp1 <> conj(p2') then pause,end
+pp2(:)=p1';if norm(coeff(pp2-p1'))>10*%eps then pause,end
+pp1=p1;pp2=p2;
+pp1(8:-1:5)=p1;if pp1 <> [p1;p1(4:-1:1)] then pause,end
+pp2(8:-1:5)=p2;if pp2 <> [p2 p2(4:-1:1)] then pause,end
+pp3=p3;
+pp3(1:4,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then pause,end
+pp3(1:4,2)=p1;if pp3 <> [conj(p2') p1] then pause,end
+pp3=p3;
+pp3(:,1)=conj(p2');if pp3 <> [conj(p2') conj(p2')] then pause,end
+pp3(:,2)=p1;if pp3 <> [conj(p2') p1] then pause,end
+pp3(:,:)=p3;if pp3 <> p3 then pause,end
+pp3=p3;
+pp3(:,4)=p1;if pp3 <> [p3 [0;0;0;0] p1] then pause,end
+pp3=p3;
+pp3(6:9,:)=p3;if pp3 <> [p3;[0 0];p3] then pause,end
+//
+//
+//real case
+p11=1+3*s;p12=s;p13=2*s;p14=s*4;p1=[p11;p12;p13;p14];
+p21=0*s;p22=1+s;p23=s-1;p24=-s;p2=[p21 p22 p23 p24];
+p3=[p1 p2'];
+if p1(1) <> p11 then pause,end
+if p1(4) <> p14 then pause,end
+if p2(2) <> p22 then pause,end
+if p2(3) <> p23 then pause,end
+if p1([1 3]) <> [p11;p13] then pause,end
+if p1([1;3]) <> p1([1 3]) then pause,end
+if p2([2 4]) <> [p22 p24] then pause,end
+if p2([2;4]) <> p2([2 4]) then pause,end
+if p1(:) <> p1 then pause,end
+if p2(:) <> p2' then pause,end
+if p3(1) <> p1(1) then pause,end
+if p3(8) <> p2(4) then pause,end
+if p3(3) <> p1(3) then pause,end
+if p3(5) <> p2(1) then pause,end
+if p3(1,1) <> p1(1) then pause,end
+if p3(4,2) <> p2(4) then pause,end
+if p3(3,2) <> p2(3) then pause,end
+if p3([1 3],1) <> p1([1 3]) then pause,end
+if p3([1;3],1) <> p1([1 3]) then pause,end
+if p3([2 4],[2 1]) <> [p2([2 4])' p1([2 4])] then pause,end
+if p3(:,1) <> p1 then pause,end
+if p3(:,2) <> p2' then pause,end
+if p3(1,:) <> [p1(1) p2(1)] then pause,end
+if p3([1 4],:) <> [p1([1 4]) p2([1 4])'] then pause,end
+if p3(:,:) <> p3 then pause,end
+//
+p11=1+3*s+%i;p12=s+%i*s**3;p13=2*s;p14=s*4;p1=[p11;p12;p13;p14];
+p21=%i+0*s;p22=1+s;p23=s-1;p24=-s+%i*s**2;p2=[p21 p22 p23 p24];
+p3=[p1 conj(p2')];
+if p1(1) <> p11 then pause,end
+if norm(coeff(p1(4)-p14))>10*%eps then pause,end
+if norm(coeff(p2(2)- p22 ))>10*%eps then pause,end
+if norm(coeff(p2(3)- p23 ))>10*%eps then pause,end
+if norm(coeff(p1([1 3])- [p11;p13] ))>10*%eps then pause,end
+if norm(coeff(p1([1;3])- p1([1 3]) ))>10*%eps then pause,end
+if norm(coeff(p2([2 4])- [p22 p24] ))>10*%eps then pause,end
+if norm(coeff(p2([2;4])- p2([2 4]) ))>10*%eps then pause,end
+if norm(coeff(p1(:)- p1 ))>10*%eps then pause,end
+if norm(coeff(p2(:)- conj(p2)' ))>10*%eps then pause,end
+if norm(coeff(p3(1)- p1(1) ))>10*%eps then pause,end
+if norm(coeff(p3(8)- p2(4) ))>10*%eps then pause,end
+if norm(coeff(p3(3)- p1(3) ))>10*%eps then pause,end
+if norm(coeff(p3(5)- p2(1) ))>10*%eps then pause,end
+if norm(coeff(p3(1,1)- p1(1) ))>10*%eps then pause,end
+if norm(coeff(p3(4,2)- p2(4) ))>10*%eps then pause,end
+if norm(coeff(p3(3,2)- p2(3) ))>10*%eps then pause,end
+if norm(coeff(p3([1 3],1)- p1([1 3]) ))>10*%eps then pause,end
+if norm(coeff(p3([1;3],1)- p1([1 3]) ))>10*%eps then pause,end
+if norm(coeff(p3([2 4],[2 1])-[conj(p2([2 4])') p1([2 4])]))>10*%eps
+ then pause,end
+if norm(coeff(p3(:,1)- p1 ))>10*%eps then pause,end
+if norm(coeff(p3(:,2)- conj(p2') ))>10*%eps then pause,end
+if norm(coeff(p3(1,:)- [p1(1) p2(1)] ))>10*%eps then pause,end
+if norm(coeff(p3([1 4],:)- [p1([1 4]) conj(p2([1 4])')] ))>10*%eps
+ then pause,end
+if norm(coeff(p3(:,:)- p3 ))>10*%eps then pause,end
+
+
+//hidden empty index in insertion
+s=poly(0,'s');
+a=[1+s 2;3 4];a_ref=a;
+
+a(1,[%f %f])=[];
+if or(a<>a_ref) then pause,end
+a([%f %f],1)=[];
+if or(a<>a_ref) then pause,end
+a([%f %f],[%f %f])=[];
+if or(a<>a_ref) then pause,end
+
+a = [%s, 2*%s];
+a(2) = 1;
+assert_checkequal(a, [%s,1]);
+
+-%s;
+a=1+%s-%s^2;
+b=-a;
+assert_checkequal(b,-1-%s+%s^2);
+
+// polynom == double and double == polynom
+a = 1;
+aa = ones(3,3);
+ac = a + %i;
+aac = aa + aa * %i;
+
+p = 1 + %s * 0;
+pp = ones(3,3) + ones(3,3) * %s * 0;
+pc = p + %i;
+ppc = pp + pp * %i;
+
+// real
+assert_checktrue(a == p);
+assert_checktrue(aa == p);
+assert_checktrue(a == pp);
+assert_checktrue(aa == pp);
+assert_checktrue(p == a);
+assert_checktrue(pp == a);
+assert_checktrue(p == aa);
+assert_checktrue(pp == aa);
+
+// real complex
+assert_checkfalse(a == pc);
+assert_checkfalse(aa == pc);
+assert_checkfalse(a == ppc);
+assert_checkfalse(aa == ppc);
+assert_checkfalse(p == ac);
+assert_checkfalse(pp == ac);
+assert_checkfalse(p == aac);
+assert_checkfalse(pp == aac);
+
+// complex real
+assert_checkfalse(ac == p);
+assert_checkfalse(aac == p);
+assert_checkfalse(ac == pp);
+assert_checkfalse(aac == pp);
+assert_checkfalse(pc == a);
+assert_checkfalse(ppc == a);
+assert_checkfalse(pc == aa);
+assert_checkfalse(ppc == aa);
+
+//complex
+assert_checktrue(ac == pc);
+assert_checktrue(aac == pc);
+assert_checktrue(ac == ppc);
+assert_checktrue(aac == ppc);
+assert_checktrue(pc == ac);
+assert_checktrue(ppc == ac);
+assert_checktrue(pc == aac);
+assert_checktrue(ppc == aac);
+
+// not all equal
+// real
+aa(2) = 2;
+expected = ones(3,3) == 1;
+expected(2) = %f;
+
+assert_checkequal(expected, aa == p);
+assert_checkequal(expected, pp == aa);
+assert_checkequal(expected, p == aa);
+assert_checkequal(expected, aa == pp);
+assert_checkequal(expected, pp == aa);
+
+pp(4) = %s;
+pp(6) = 2;
+expected = ones(3,3) == 1;
+expected(4) = %f;
+expected(6) = %f;
+expected2 = expected;
+expected2(2) = %f;
+
+assert_checkequal(expected, a == pp);
+assert_checkequal(expected, pp == a);
+assert_checkequal(expected2, aa == pp);
+assert_checkequal(expected2, pp == aa);
+
+// complex
+aac(2) = 2;
+expected = ones(3,3) == 1;
+expected(2) = %f;
+
+assert_checkequal(expected, aac == pc);
+assert_checkequal(expected, ppc == aac);
+assert_checkequal(expected, pc == aac);
+assert_checkequal(expected, aac == ppc);
+assert_checkequal(expected, ppc == aac);
+
+ppc(4) = %s;
+ppc(6) = 2;
+expected = ones(3,3) == 1;
+expected(4) = %f;
+expected(6) = %f;
+expected2 = expected;
+expected2(2) = %f;
+
+assert_checkequal(expected, ac == ppc);
+assert_checkequal(expected, ppc == ac);
+assert_checkequal(expected2, aac == ppc);
+assert_checkequal(expected2, ppc == aac);
diff --git a/modules/polynomials/tests/unit_tests/roots.dia.ref b/modules/polynomials/tests/unit_tests/roots.dia.ref
new file mode 100755
index 000000000..1b768fc77
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/roots.dia.ref
@@ -0,0 +1,300 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - 2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+function sortedRoots=sortRoots(rootsToSort)
+ //Sort roots using rounded values to avoid rounding errors
+ //Here 10000 is ok due to roots values
+ [tmp,kRoots]=gsort(round(10000*[real(rootsToSort) imag(rootsToSort)]),"lr","i");
+ sortedRoots = rootsToSort(kRoots);
+endfunction
+function checkroots(p,expectedroots,varargin)
+ // Checks the roots function against given roots.
+ //
+ // 1. Check default algorithm
+ myroots=roots(p);
+ computedroots = sortRoots(myroots);
+ expectedroots = sortRoots(expectedroots);
+ assert_checkalmostequal(computedroots,expectedroots,varargin(:));
+ //
+ // 2. Check "e" algorithm
+ myroots=roots(p,"e");
+ computedroots = sortRoots(myroots);
+ expectedroots = sortRoots(expectedroots);
+ assert_checkalmostequal(computedroots,expectedroots,varargin(:));
+ //
+ // 3. Check "f" algorithm
+ if ( isreal(p) ) then
+ myroots=roots(p,"f");
+ computedroots = sortRoots(myroots);
+ expectedroots = sortRoots(expectedroots);
+ assert_checkalmostequal(computedroots,expectedroots,varargin(:));
+ end
+endfunction
+// Check the computation of the roots of a polynomial
+// with different kinds of polynomials and different
+// kinds of roots :
+// - real poly,
+// - complex poly,
+// - real roots,
+// - complex roots.
+//roots : 3 real roots
+p=-6+11*%s-6*%s^2+%s^3;
+expectedroots = [1; 2; 3];
+checkroots(p,expectedroots,100*%eps);
+//roots : 3 real roots + polynomials algebra
+p=-6+11*%s-6*%s^2+%s^3;
+q = p+0;
+expectedroots = [1; 2; 3];
+checkroots(q,expectedroots,100*%eps);
+//roots : 3 complex roots
+p=-6-%i*6+(11+%i*5)*%s+(-6-%i)*%s^2+%s^3;
+expectedroots = [1+%i; 2 ; 3];
+checkroots(p,expectedroots,1d-12,20*%eps);
+//roots : 3 complex roots + polynomials algebra
+p=-6-%i*6+(11+%i*5)*%s+(-6-%i)*%s^2+%s^3;
+q = p+0;
+expectedroots = [1+%i; 2 ; 3];
+checkroots(p,expectedroots,1d-12,20*%eps);
+// roots : no root at all
+p=1;
+v=[];
+checkroots(p,[]);
+q = p+0;
+checkroots(q,[]);
+//roots : 2 complex roots
+p=1+%s+%s^2;
+expectedroots = [-0.5 - sqrt(3.)/2.*%i; -0.5 + sqrt(3.)/2.*%i ];
+checkroots(p,expectedroots,10*%eps);
+//roots : 2 roots equals 0
+p=%s^2;
+expectedroots = [0. ; 0. ];
+checkroots(p,expectedroots,%eps);
+// 2 real roots with a zero derivate at the root
+p=(%s-%pi)^2;
+expectedroots = [%pi;%pi];
+checkroots(p,expectedroots,10*%eps);
+//
+// Caution !
+// The following are difficult root-finding problems
+// with expected precision problems.
+// See "Principles for testing polynomial
+// zerofinding programs"
+// Jenkins, Traub
+// 1975
+// p.28
+// "The accuracy which one may expect to achieve in calculating
+// zeros is limited by the condition of these zeros. In particular,
+// for multiple zeros perturbations of size epsilon in the
+// coefficients cause perturbations of size epsilon^(1/m)
+// in the zeros."
+//
+//
+// 3 real roots with a zero derivate at the root
+// Really difficult problem : only simple precision computed, instead of double precision ***
+p=(%s-%pi)^3;
+expectedroots = [%pi;%pi;%pi];
+checkroots(p,expectedroots,%eps^(1/3),5*%eps^(1/3));
+// 4 real roots with a zero derivate at the root
+// Really difficult problem : only simple precision
+p=(%s-%pi)^4;
+expectedroots = [%pi;%pi;%pi;%pi];
+checkroots(p,expectedroots,%eps^(1/4),5*%eps^(1/4))
+// 10 real roots with a zero derivate at the root
+// Really difficult problem : only one correct digit
+p=(%s-%pi)^10;
+expectedroots = [%pi;%pi;%pi;%pi;%pi;%pi;%pi;%pi;%pi;%pi];
+checkroots(p,expectedroots,%eps^(1/10),8*%eps^(1/10))
+// "Numerical computing with Matlab", Cleve Moler.
+A = diag(1:20);
+p = poly(A,'x');
+e = [1:20]';
+checkroots(p,e,%eps,0.2);
+// Tests from CPOLY
+// M. A. Jenkins and J. F. Traub. 1972.
+// Algorithm 419: zeros of a complex polynomial.
+// Commun. ACM 15, 2 (February 1972), 97-99.
+//
+// EXAMPLE 1. POLYNOMIAL WITH ZEROS 1,2,...,10.
+P=[];
+PI=[];
+P(1)=1;
+P(2)=-55;
+P(3)=1320;
+P(4)=-18150;
+P(5)=157773;
+P(6)=-902055;
+P(7) = 3416930;
+P(8)=-8409500;
+P(9)=12753576;
+P(10)=-10628640;
+P(11)=3628800;
+PI(1:11) = 0;
+P = complex(P,PI);
+E = (1:10)';
+R = roots(P);
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-10);
+// EXAMPLE 2. ZEROS ON IMAGINARY AXIS DEGREE 3.
+// x^3-10001.0001*i*x^2-10001.0001*x+i
+P = [];
+PI=[];
+P(1)=1;
+P(2)=0;
+P(3)=-10001.0001;
+P(4)=0;
+PI(1)=0;
+PI(2)=-10001.0001;
+PI(3)=0;
+PI(4)=1;
+P = complex(P,PI);
+E = [
+0.0001*%i
+%i
+10000*%i
+];
+R = roots(P);
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-15, 1.e-10);
+// plot(real(R),imag(R),"bo")
+// xtitle("Roots","Real","Imaginary")
+// EXAMPLE 3. ZEROS AT 1+I,1/2*(1+I)....1/(2**-9)*(1+I)
+P = [];
+PI=[];
+P(1)=1.0;
+P(2)=-1.998046875;
+P(3)=0.0;
+P(4)=.7567065954208374D0;
+P(5)=-.2002119533717632D0;
+P(6)=1.271507365163416D-2;
+P(7)=0;
+P(8)=-1.154642632172909D-5;
+P(9)=1.584803612786345D-7;
+P(10)=-4.652065399568528D-10;
+P(11)=0;
+PI(1)=0;
+PI(2)=P(2);
+PI(3)=2.658859252929688D0;
+PI(4)=-7.567065954208374D-1;
+PI(5)=0;
+PI(6)=P(6);
+PI(7)=-7.820779428584501D-4;
+PI(8)=-P(8);
+PI(9)=0;
+PI(10)=P(10);
+PI(11)=9.094947017729282D-13;
+P = complex(P,PI);
+R = roots(P);
+E = (1+%i)*2.^((0:-1:-9)');
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-13, 1.e-14);
+// EXAMPLE 4. MULTIPLE ZEROS
+// Real part:
+// 288 - 1344*x + 2204*x^2 - 920*x^3 - 1587*x^4 + 2374*x^5 - 1293*x^6 + 284*x^7 + 3*x^8 - 10*x^9 + x^10
+// Imaginary part:
+// 504*x - 2352*x^2 + 4334*x^3 - 3836*x^4 + 1394*x^5 + 200*x^6 - 334*x^7 + 100*x^8 - 10*x^9
+P = [];
+PI=[];
+P(1)=1;
+P(2)=-10;
+P(3)=3;
+P(4)=284;
+P(5)=-1293;
+P(6)=2374;
+P(7)=-1587;
+P(8)=-920;
+P(9)=2204;
+P(10)=-1344;
+P(11)=288;
+PI(1)=0;
+PI(2)=-10;
+PI(3)=100;
+PI(4)=-334;
+PI(5)=200;
+PI(6)=1394;
+PI(7) =-3836;
+PI(8)=4334;
+PI(9)=-2352;
+PI(10)=504;
+PI(11)=0;
+P = complex(P,PI);
+R = roots(P);
+E = [
+1
+1
+1
+1
+2*%i
+2*%i
+2*%i
+3
+3
+4*%i
+];
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-3, 1.e-3);
+// EXAMPLE 5. 12 ZEROS EVENLY DISTRIBUTE ON A CIRCLE OF
+// RADIUS 1. CENTERED AT 0+2I
+// Real part:
+// 4095 - 67584*x^2 + 126720*x^4 - 59136*x^6 + 7920*x^8 - 264*x^10 + x^12
+// Imaginary part:
+// 24576*x - 112640x^3 + 101376x^5 - 25344x^7 + 1760x^9 - 24x^11
+P = [];
+PI=[];
+P(1)=1;
+P(2)=0;
+P(3)=-264;
+P(4)=0;
+P(5)=7920;
+P(6)=0;
+P(7)=-59136;
+P(8)=0;
+P(9)=126720;
+P(10)=0;
+P(11)=-67584;
+P(12)=0;
+P(13)=4095;
+PI(1)=0;
+PI(2)=-24;
+PI(3)=0;
+PI(4)=1760;
+PI(5)=0;
+PI(6)=-25344;
+PI(7)=0;
+PI(8)=101376;
+PI(9)=0;
+PI(10)=-112640;
+PI(11)=0;
+PI(12)=24576;
+PI(13)=0;
+P = complex(P,PI);
+R = roots(P);
+S3=sqrt(3);
+E = [
+-1 + 2*%i
+%i
+3*%i
+1+2*%i
+(1/2)*(-S3+3*%i)
+(1/2)*(-S3+5*%i)
+-(1/2)*%i*(S3+(-4-%i))
+(1/2)*((1+4*%i)-%i*S3)
+(1/2)*%i*(S3+(4+%i))
+(1/2)*((1+4*%i)+%i*S3)
+(1/2)*(S3+3*%i)
+(1/2)*(S3+5*%i)
+];
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-10, 1.e-8);
+assert_checkequal(roots([4 3 2 1]), roots(poly([1 2 3 4], 'x', 'coeff')));
+assert_checkequal(roots([4 3 2 1] + [1 2 3 4]*%i), roots(poly([1 2 3 4]+[4 3 2 1]*%i,'x','coeff')));
diff --git a/modules/polynomials/tests/unit_tests/roots.tst b/modules/polynomials/tests/unit_tests/roots.tst
new file mode 100755
index 000000000..11a8441c2
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/roots.tst
@@ -0,0 +1,316 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - 2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+
+function sortedRoots=sortRoots(rootsToSort)
+ //Sort roots using rounded values to avoid rounding errors
+ //Here 10000 is ok due to roots values
+ [tmp,kRoots]=gsort(round(10000*[real(rootsToSort) imag(rootsToSort)]),"lr","i");
+ sortedRoots = rootsToSort(kRoots);
+endfunction
+
+function checkroots(p,expectedroots,varargin)
+ // Checks the roots function against given roots.
+ //
+ // 1. Check default algorithm
+ myroots=roots(p);
+ computedroots = sortRoots(myroots);
+ expectedroots = sortRoots(expectedroots);
+ assert_checkalmostequal(computedroots,expectedroots,varargin(:));
+ //
+ // 2. Check "e" algorithm
+ myroots=roots(p,"e");
+ computedroots = sortRoots(myroots);
+ expectedroots = sortRoots(expectedroots);
+ assert_checkalmostequal(computedroots,expectedroots,varargin(:));
+ //
+ // 3. Check "f" algorithm
+ if ( isreal(p) ) then
+ myroots=roots(p,"f");
+ computedroots = sortRoots(myroots);
+ expectedroots = sortRoots(expectedroots);
+ assert_checkalmostequal(computedroots,expectedroots,varargin(:));
+ end
+endfunction
+
+// Check the computation of the roots of a polynomial
+// with different kinds of polynomials and different
+// kinds of roots :
+// - real poly,
+// - complex poly,
+// - real roots,
+// - complex roots.
+
+//roots : 3 real roots
+p=-6+11*%s-6*%s^2+%s^3;
+expectedroots = [1; 2; 3];
+checkroots(p,expectedroots,100*%eps);
+//roots : 3 real roots + polynomials algebra
+p=-6+11*%s-6*%s^2+%s^3;
+q = p+0;
+expectedroots = [1; 2; 3];
+checkroots(q,expectedroots,100*%eps);
+//roots : 3 complex roots
+p=-6-%i*6+(11+%i*5)*%s+(-6-%i)*%s^2+%s^3;
+expectedroots = [1+%i; 2 ; 3];
+checkroots(p,expectedroots,1d-12,20*%eps);
+//roots : 3 complex roots + polynomials algebra
+p=-6-%i*6+(11+%i*5)*%s+(-6-%i)*%s^2+%s^3;
+q = p+0;
+expectedroots = [1+%i; 2 ; 3];
+checkroots(p,expectedroots,1d-12,20*%eps);
+// roots : no root at all
+p=1;
+v=[];
+checkroots(p,[]);
+q = p+0;
+checkroots(q,[]);
+//roots : 2 complex roots
+p=1+%s+%s^2;
+expectedroots = [-0.5 - sqrt(3.)/2.*%i; -0.5 + sqrt(3.)/2.*%i ];
+checkroots(p,expectedroots,10*%eps);
+//roots : 2 roots equals 0
+p=%s^2;
+expectedroots = [0. ; 0. ];
+checkroots(p,expectedroots,%eps);
+
+// 2 real roots with a zero derivate at the root
+p=(%s-%pi)^2;
+expectedroots = [%pi;%pi];
+checkroots(p,expectedroots,10*%eps);
+//
+// Caution !
+// The following are difficult root-finding problems
+// with expected precision problems.
+// See "Principles for testing polynomial
+// zerofinding programs"
+// Jenkins, Traub
+// 1975
+// p.28
+// "The accuracy which one may expect to achieve in calculating
+// zeros is limited by the condition of these zeros. In particular,
+// for multiple zeros perturbations of size epsilon in the
+// coefficients cause perturbations of size epsilon^(1/m)
+// in the zeros."
+//
+//
+// 3 real roots with a zero derivate at the root
+// Really difficult problem : only simple precision computed, instead of double precision ***
+p=(%s-%pi)^3;
+expectedroots = [%pi;%pi;%pi];
+checkroots(p,expectedroots,%eps^(1/3),5*%eps^(1/3));
+// 4 real roots with a zero derivate at the root
+// Really difficult problem : only simple precision
+p=(%s-%pi)^4;
+expectedroots = [%pi;%pi;%pi;%pi];
+checkroots(p,expectedroots,%eps^(1/4),5*%eps^(1/4))
+// 10 real roots with a zero derivate at the root
+// Really difficult problem : only one correct digit
+p=(%s-%pi)^10;
+expectedroots = [%pi;%pi;%pi;%pi;%pi;%pi;%pi;%pi;%pi;%pi];
+checkroots(p,expectedroots,%eps^(1/10),8*%eps^(1/10))
+
+// "Numerical computing with Matlab", Cleve Moler.
+A = diag(1:20);
+p = poly(A,'x');
+e = [1:20]';
+checkroots(p,e,%eps,0.2);
+
+// Tests from CPOLY
+// M. A. Jenkins and J. F. Traub. 1972.
+// Algorithm 419: zeros of a complex polynomial.
+// Commun. ACM 15, 2 (February 1972), 97-99.
+//
+// EXAMPLE 1. POLYNOMIAL WITH ZEROS 1,2,...,10.
+P=[];
+PI=[];
+P(1)=1;
+P(2)=-55;
+P(3)=1320;
+P(4)=-18150;
+P(5)=157773;
+P(6)=-902055;
+P(7) = 3416930;
+P(8)=-8409500;
+P(9)=12753576;
+P(10)=-10628640;
+P(11)=3628800;
+PI(1:11) = 0;
+P = complex(P,PI);
+E = (1:10)';
+R = roots(P);
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-10);
+// EXAMPLE 2. ZEROS ON IMAGINARY AXIS DEGREE 3.
+// x^3-10001.0001*i*x^2-10001.0001*x+i
+P = [];
+PI=[];
+P(1)=1;
+P(2)=0;
+P(3)=-10001.0001;
+P(4)=0;
+PI(1)=0;
+PI(2)=-10001.0001;
+PI(3)=0;
+PI(4)=1;
+P = complex(P,PI);
+E = [
+0.0001*%i
+%i
+10000*%i
+];
+R = roots(P);
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-15, 1.e-10);
+
+// plot(real(R),imag(R),"bo")
+// xtitle("Roots","Real","Imaginary")
+
+// EXAMPLE 3. ZEROS AT 1+I,1/2*(1+I)....1/(2**-9)*(1+I)
+P = [];
+PI=[];
+P(1)=1.0;
+P(2)=-1.998046875;
+P(3)=0.0;
+P(4)=.7567065954208374D0;
+P(5)=-.2002119533717632D0;
+P(6)=1.271507365163416D-2;
+P(7)=0;
+P(8)=-1.154642632172909D-5;
+P(9)=1.584803612786345D-7;
+P(10)=-4.652065399568528D-10;
+P(11)=0;
+PI(1)=0;
+PI(2)=P(2);
+PI(3)=2.658859252929688D0;
+PI(4)=-7.567065954208374D-1;
+PI(5)=0;
+PI(6)=P(6);
+PI(7)=-7.820779428584501D-4;
+PI(8)=-P(8);
+PI(9)=0;
+PI(10)=P(10);
+PI(11)=9.094947017729282D-13;
+P = complex(P,PI);
+R = roots(P);
+E = (1+%i)*2.^((0:-1:-9)');
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-13, 1.e-14);
+
+// EXAMPLE 4. MULTIPLE ZEROS
+// Real part:
+// 288 - 1344*x + 2204*x^2 - 920*x^3 - 1587*x^4 + 2374*x^5 - 1293*x^6 + 284*x^7 + 3*x^8 - 10*x^9 + x^10
+// Imaginary part:
+// 504*x - 2352*x^2 + 4334*x^3 - 3836*x^4 + 1394*x^5 + 200*x^6 - 334*x^7 + 100*x^8 - 10*x^9
+P = [];
+PI=[];
+P(1)=1;
+P(2)=-10;
+P(3)=3;
+P(4)=284;
+P(5)=-1293;
+P(6)=2374;
+P(7)=-1587;
+P(8)=-920;
+P(9)=2204;
+P(10)=-1344;
+P(11)=288;
+PI(1)=0;
+PI(2)=-10;
+PI(3)=100;
+PI(4)=-334;
+PI(5)=200;
+PI(6)=1394;
+PI(7) =-3836;
+PI(8)=4334;
+PI(9)=-2352;
+PI(10)=504;
+PI(11)=0;
+P = complex(P,PI);
+R = roots(P);
+E = [
+1
+1
+1
+1
+2*%i
+2*%i
+2*%i
+3
+3
+4*%i
+];
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-3, 1.e-3);
+
+// EXAMPLE 5. 12 ZEROS EVENLY DISTRIBUTE ON A CIRCLE OF
+// RADIUS 1. CENTERED AT 0+2I
+// Real part:
+// 4095 - 67584*x^2 + 126720*x^4 - 59136*x^6 + 7920*x^8 - 264*x^10 + x^12
+// Imaginary part:
+// 24576*x - 112640x^3 + 101376x^5 - 25344x^7 + 1760x^9 - 24x^11
+
+P = [];
+PI=[];
+P(1)=1;
+P(2)=0;
+P(3)=-264;
+P(4)=0;
+P(5)=7920;
+P(6)=0;
+P(7)=-59136;
+P(8)=0;
+P(9)=126720;
+P(10)=0;
+P(11)=-67584;
+P(12)=0;
+P(13)=4095;
+PI(1)=0;
+PI(2)=-24;
+PI(3)=0;
+PI(4)=1760;
+PI(5)=0;
+PI(6)=-25344;
+PI(7)=0;
+PI(8)=101376;
+PI(9)=0;
+PI(10)=-112640;
+PI(11)=0;
+PI(12)=24576;
+PI(13)=0;
+P = complex(P,PI);
+R = roots(P);
+S3=sqrt(3);
+E = [
+-1 + 2*%i
+%i
+3*%i
+1+2*%i
+(1/2)*(-S3+3*%i)
+(1/2)*(-S3+5*%i)
+-(1/2)*%i*(S3+(-4-%i))
+(1/2)*((1+4*%i)-%i*S3)
+(1/2)*%i*(S3+(4+%i))
+(1/2)*((1+4*%i)+%i*S3)
+(1/2)*(S3+3*%i)
+(1/2)*(S3+5*%i)
+];
+E = sortRoots(E);
+R = sortRoots(R);
+assert_checkalmostequal(R, E, 1.e-10, 1.e-8);
+
+assert_checkequal(roots([4 3 2 1]), roots(poly([1 2 3 4], 'x', 'coeff')));
+assert_checkequal(roots([4 3 2 1] + [1 2 3 4]*%i), roots(poly([1 2 3 4]+[4 3 2 1]*%i,'x','coeff')));
+
diff --git a/modules/polynomials/tests/unit_tests/tril.dia.ref b/modules/polynomials/tests/unit_tests/tril.dia.ref
new file mode 100755
index 000000000..347b38577
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/tril.dia.ref
@@ -0,0 +1,10 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - S/E - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+s=poly(0,'s');
+a=tril([s,s;s,1]);
+assert_checkequal(a, [s,0*s;s,1]);
diff --git a/modules/polynomials/tests/unit_tests/tril.tst b/modules/polynomials/tests/unit_tests/tril.tst
new file mode 100755
index 000000000..d4e7bf39c
--- /dev/null
+++ b/modules/polynomials/tests/unit_tests/tril.tst
@@ -0,0 +1,12 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - S/E - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+s=poly(0,'s');
+a=tril([s,s;s,1]);
+assert_checkequal(a, [s,0*s;s,1]);
+