passagemath-singular 10.6.31rc3__cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of passagemath-singular might be problematic. Click here for more details.

Files changed (490) hide show
  1. PySingular.cpython-314-aarch64-linux-gnu.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +490 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +6 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-6a2a8666.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-ac579979.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-66e33516.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-81de1160.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgf2x-fbd36f80.so.3.0.0 +0 -0
  11. passagemath_singular.libs/libgfortran-e1b7dfc8.so.5.0.0 +0 -0
  12. passagemath_singular.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
  13. passagemath_singular.libs/libgsl-e3525837.so.28.0.0 +0 -0
  14. passagemath_singular.libs/libmpfr-e0f11cf3.so.6.2.1 +0 -0
  15. passagemath_singular.libs/libntl-0043a3a2.so.44.0.1 +0 -0
  16. passagemath_singular.libs/libomalloc-0-06512335.9.6.so +0 -0
  17. passagemath_singular.libs/libopenblasp-r0-4c5b64b1.3.29.so +0 -0
  18. passagemath_singular.libs/libpolys-4-cb7246b5.4.1.so +0 -0
  19. passagemath_singular.libs/libreadline-28330744.so.8.2 +0 -0
  20. passagemath_singular.libs/libsingular_resources-4-8c425241.4.1.so +0 -0
  21. passagemath_singular.libs/libtinfo-f81c2d16.so.6.3 +0 -0
  22. sage/algebras/all__sagemath_singular.py +3 -0
  23. sage/algebras/fusion_rings/all.py +19 -0
  24. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  25. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-aarch64-linux-gnu.so +0 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  28. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-aarch64-linux-gnu.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  31. sage/algebras/fusion_rings/fusion_double.py +899 -0
  32. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  33. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-aarch64-linux-gnu.so +0 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  36. sage/algebras/fusion_rings/shm_managers.cpython-314-aarch64-linux-gnu.so +0 -0
  37. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  38. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  39. sage/algebras/letterplace/all.py +1 -0
  40. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-aarch64-linux-gnu.so +0 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  43. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-aarch64-linux-gnu.so +0 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  46. sage/algebras/letterplace/letterplace_ideal.cpython-314-aarch64-linux-gnu.so +0 -0
  47. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  48. sage/algebras/quatalg/all.py +2 -0
  49. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  50. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-aarch64-linux-gnu.so +0 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  52. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-aarch64-linux-gnu.so +0 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  55. sage/all__sagemath_singular.py +11 -0
  56. sage/ext_data/all__sagemath_singular.py +1 -0
  57. sage/ext_data/singular/function_field/core.lib +98 -0
  58. sage/interfaces/all__sagemath_singular.py +1 -0
  59. sage/interfaces/singular.py +2835 -0
  60. sage/libs/all__sagemath_singular.py +1 -0
  61. sage/libs/singular/__init__.py +1 -0
  62. sage/libs/singular/decl.pxd +1168 -0
  63. sage/libs/singular/function.cpython-314-aarch64-linux-gnu.so +0 -0
  64. sage/libs/singular/function.pxd +87 -0
  65. sage/libs/singular/function.pyx +1901 -0
  66. sage/libs/singular/function_factory.py +61 -0
  67. sage/libs/singular/groebner_strategy.cpython-314-aarch64-linux-gnu.so +0 -0
  68. sage/libs/singular/groebner_strategy.pxd +22 -0
  69. sage/libs/singular/groebner_strategy.pyx +582 -0
  70. sage/libs/singular/option.cpython-314-aarch64-linux-gnu.so +0 -0
  71. sage/libs/singular/option.pyx +671 -0
  72. sage/libs/singular/polynomial.cpython-314-aarch64-linux-gnu.so +0 -0
  73. sage/libs/singular/polynomial.pxd +39 -0
  74. sage/libs/singular/polynomial.pyx +661 -0
  75. sage/libs/singular/ring.cpython-314-aarch64-linux-gnu.so +0 -0
  76. sage/libs/singular/ring.pxd +58 -0
  77. sage/libs/singular/ring.pyx +893 -0
  78. sage/libs/singular/singular.cpython-314-aarch64-linux-gnu.so +0 -0
  79. sage/libs/singular/singular.pxd +72 -0
  80. sage/libs/singular/singular.pyx +1944 -0
  81. sage/libs/singular/standard_options.py +145 -0
  82. sage/matrix/all__sagemath_singular.py +1 -0
  83. sage/matrix/matrix_mpolynomial_dense.cpython-314-aarch64-linux-gnu.so +0 -0
  84. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  85. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  86. sage/rings/all__sagemath_singular.py +1 -0
  87. sage/rings/function_field/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/derivations_polymod.py +911 -0
  89. sage/rings/function_field/element_polymod.cpython-314-aarch64-linux-gnu.so +0 -0
  90. sage/rings/function_field/element_polymod.pyx +406 -0
  91. sage/rings/function_field/function_field_polymod.py +2611 -0
  92. sage/rings/function_field/ideal_polymod.py +1775 -0
  93. sage/rings/function_field/order_polymod.py +1475 -0
  94. sage/rings/function_field/place_polymod.py +681 -0
  95. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  96. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-aarch64-linux-gnu.so +0 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  99. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-aarch64-linux-gnu.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  102. sage/rings/polynomial/plural.cpython-314-aarch64-linux-gnu.so +0 -0
  103. sage/rings/polynomial/plural.pxd +48 -0
  104. sage/rings/polynomial/plural.pyx +3171 -0
  105. sage/symbolic/all__sagemath_singular.py +1 -0
  106. sage/symbolic/comparison_impl.pxi +428 -0
  107. sage/symbolic/constants_c_impl.pxi +178 -0
  108. sage/symbolic/expression.cpython-314-aarch64-linux-gnu.so +0 -0
  109. sage/symbolic/expression.pxd +7 -0
  110. sage/symbolic/expression.pyx +14200 -0
  111. sage/symbolic/getitem_impl.pxi +202 -0
  112. sage/symbolic/pynac.pxi +572 -0
  113. sage/symbolic/pynac_constant_impl.pxi +133 -0
  114. sage/symbolic/pynac_function_impl.pxi +206 -0
  115. sage/symbolic/pynac_impl.pxi +2576 -0
  116. sage/symbolic/pynac_wrap.h +124 -0
  117. sage/symbolic/series_impl.pxi +272 -0
  118. sage/symbolic/substitution_map_impl.pxi +94 -0
  119. sage_wheels/bin/ESingular +0 -0
  120. sage_wheels/bin/Singular +0 -0
  121. sage_wheels/bin/TSingular +0 -0
  122. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  123. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  124. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  125. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  126. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  128. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  130. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  131. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  132. sage_wheels/lib/singular/MOD/interval.la +41 -0
  133. sage_wheels/lib/singular/MOD/interval.so +0 -0
  134. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  135. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  136. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  138. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  146. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  147. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  148. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  149. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  150. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  151. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  152. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  153. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  154. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  155. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  156. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  157. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  158. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  159. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  160. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  161. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  164. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  165. sage_wheels/libexec/singular/MOD/surfex +16 -0
  166. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  167. sage_wheels/share/factory/gftables/10201 +342 -0
  168. sage_wheels/share/factory/gftables/1024 +37 -0
  169. sage_wheels/share/factory/gftables/10609 +356 -0
  170. sage_wheels/share/factory/gftables/11449 +384 -0
  171. sage_wheels/share/factory/gftables/11881 +398 -0
  172. sage_wheels/share/factory/gftables/121 +6 -0
  173. sage_wheels/share/factory/gftables/12167 +408 -0
  174. sage_wheels/share/factory/gftables/125 +7 -0
  175. sage_wheels/share/factory/gftables/12769 +428 -0
  176. sage_wheels/share/factory/gftables/128 +7 -0
  177. sage_wheels/share/factory/gftables/1331 +47 -0
  178. sage_wheels/share/factory/gftables/1369 +48 -0
  179. sage_wheels/share/factory/gftables/14641 +490 -0
  180. sage_wheels/share/factory/gftables/15625 +523 -0
  181. sage_wheels/share/factory/gftables/16 +3 -0
  182. sage_wheels/share/factory/gftables/16129 +540 -0
  183. sage_wheels/share/factory/gftables/16384 +549 -0
  184. sage_wheels/share/factory/gftables/16807 +563 -0
  185. sage_wheels/share/factory/gftables/1681 +58 -0
  186. sage_wheels/share/factory/gftables/169 +8 -0
  187. sage_wheels/share/factory/gftables/17161 +574 -0
  188. sage_wheels/share/factory/gftables/1849 +64 -0
  189. sage_wheels/share/factory/gftables/18769 +628 -0
  190. sage_wheels/share/factory/gftables/19321 +646 -0
  191. sage_wheels/share/factory/gftables/19683 +659 -0
  192. sage_wheels/share/factory/gftables/2048 +71 -0
  193. sage_wheels/share/factory/gftables/2187 +75 -0
  194. sage_wheels/share/factory/gftables/2197 +76 -0
  195. sage_wheels/share/factory/gftables/2209 +76 -0
  196. sage_wheels/share/factory/gftables/22201 +742 -0
  197. sage_wheels/share/factory/gftables/22801 +762 -0
  198. sage_wheels/share/factory/gftables/2401 +82 -0
  199. sage_wheels/share/factory/gftables/243 +11 -0
  200. sage_wheels/share/factory/gftables/24389 +815 -0
  201. sage_wheels/share/factory/gftables/24649 +824 -0
  202. sage_wheels/share/factory/gftables/25 +3 -0
  203. sage_wheels/share/factory/gftables/256 +11 -0
  204. sage_wheels/share/factory/gftables/26569 +888 -0
  205. sage_wheels/share/factory/gftables/27 +3 -0
  206. sage_wheels/share/factory/gftables/27889 +932 -0
  207. sage_wheels/share/factory/gftables/2809 +96 -0
  208. sage_wheels/share/factory/gftables/28561 +954 -0
  209. sage_wheels/share/factory/gftables/289 +12 -0
  210. sage_wheels/share/factory/gftables/29791 +995 -0
  211. sage_wheels/share/factory/gftables/29929 +1000 -0
  212. sage_wheels/share/factory/gftables/3125 +107 -0
  213. sage_wheels/share/factory/gftables/32 +4 -0
  214. sage_wheels/share/factory/gftables/32041 +1070 -0
  215. sage_wheels/share/factory/gftables/32761 +1094 -0
  216. sage_wheels/share/factory/gftables/32768 +1095 -0
  217. sage_wheels/share/factory/gftables/343 +14 -0
  218. sage_wheels/share/factory/gftables/3481 +118 -0
  219. sage_wheels/share/factory/gftables/361 +14 -0
  220. sage_wheels/share/factory/gftables/36481 +1218 -0
  221. sage_wheels/share/factory/gftables/3721 +126 -0
  222. sage_wheels/share/factory/gftables/37249 +1244 -0
  223. sage_wheels/share/factory/gftables/38809 +1296 -0
  224. sage_wheels/share/factory/gftables/39601 +1322 -0
  225. sage_wheels/share/factory/gftables/4 +3 -0
  226. sage_wheels/share/factory/gftables/4096 +139 -0
  227. sage_wheels/share/factory/gftables/44521 +1486 -0
  228. sage_wheels/share/factory/gftables/4489 +152 -0
  229. sage_wheels/share/factory/gftables/49 +4 -0
  230. sage_wheels/share/factory/gftables/4913 +166 -0
  231. sage_wheels/share/factory/gftables/49729 +1660 -0
  232. sage_wheels/share/factory/gftables/5041 +170 -0
  233. sage_wheels/share/factory/gftables/50653 +1691 -0
  234. sage_wheels/share/factory/gftables/512 +20 -0
  235. sage_wheels/share/factory/gftables/51529 +1720 -0
  236. sage_wheels/share/factory/gftables/52441 +1750 -0
  237. sage_wheels/share/factory/gftables/529 +20 -0
  238. sage_wheels/share/factory/gftables/5329 +180 -0
  239. sage_wheels/share/factory/gftables/54289 +1812 -0
  240. sage_wheels/share/factory/gftables/57121 +1906 -0
  241. sage_wheels/share/factory/gftables/58081 +1938 -0
  242. sage_wheels/share/factory/gftables/59049 +1971 -0
  243. sage_wheels/share/factory/gftables/6241 +210 -0
  244. sage_wheels/share/factory/gftables/625 +23 -0
  245. sage_wheels/share/factory/gftables/63001 +2102 -0
  246. sage_wheels/share/factory/gftables/64 +5 -0
  247. sage_wheels/share/factory/gftables/6561 +221 -0
  248. sage_wheels/share/factory/gftables/6859 +231 -0
  249. sage_wheels/share/factory/gftables/6889 +232 -0
  250. sage_wheels/share/factory/gftables/729 +27 -0
  251. sage_wheels/share/factory/gftables/7921 +266 -0
  252. sage_wheels/share/factory/gftables/8 +3 -0
  253. sage_wheels/share/factory/gftables/81 +5 -0
  254. sage_wheels/share/factory/gftables/8192 +276 -0
  255. sage_wheels/share/factory/gftables/841 +30 -0
  256. sage_wheels/share/factory/gftables/9 +3 -0
  257. sage_wheels/share/factory/gftables/9409 +316 -0
  258. sage_wheels/share/factory/gftables/961 +34 -0
  259. sage_wheels/share/info/singular.info +191898 -0
  260. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  261. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  262. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  263. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  264. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  265. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  266. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  267. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  268. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  269. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  270. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  271. sage_wheels/share/singular/LIB/all.lib +136 -0
  272. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  273. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  274. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  275. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  276. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  277. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  278. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  279. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  280. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  281. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  282. sage_wheels/share/singular/LIB/central.lib +2169 -0
  283. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  284. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  285. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  286. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  287. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  288. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  289. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  290. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  291. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  292. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  293. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  294. sage_wheels/share/singular/LIB/control.lib +1636 -0
  295. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  296. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  297. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  298. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  299. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  300. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  301. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  302. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  303. sage_wheels/share/singular/LIB/deform.lib +925 -0
  304. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  305. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  306. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  307. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  308. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  309. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  310. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  311. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  312. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  313. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  314. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  315. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  316. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  317. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  318. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  319. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  320. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  321. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  322. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  323. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  324. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  325. sage_wheels/share/singular/LIB/general.lib +1350 -0
  326. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  327. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  328. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  329. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  330. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  331. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  332. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  333. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  334. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  335. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  336. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  337. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  338. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  339. sage_wheels/share/singular/LIB/help.cnf +57 -0
  340. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  341. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  342. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  343. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  344. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  345. sage_wheels/share/singular/LIB/inout.lib +679 -0
  346. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  347. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  348. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  349. sage_wheels/share/singular/LIB/invar.lib +443 -0
  350. sage_wheels/share/singular/LIB/involut.lib +980 -0
  351. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  352. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  353. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  354. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  355. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  356. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  357. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  358. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  359. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  360. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  361. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  362. sage_wheels/share/singular/LIB/methods.lib +212 -0
  363. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  364. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  365. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  366. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  367. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  368. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  369. sage_wheels/share/singular/LIB/modular.lib +545 -0
  370. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  371. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  372. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  373. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  374. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  375. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  376. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  377. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  378. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  379. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  380. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  381. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  382. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  383. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  384. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  385. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  386. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  387. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  388. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  389. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  390. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  391. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  392. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  393. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  394. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  395. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  396. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  397. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  398. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  399. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  400. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  401. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  402. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  403. sage_wheels/share/singular/LIB/perron.lib +202 -0
  404. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  405. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  406. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  407. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  408. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  409. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  410. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  411. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  412. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  413. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  414. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  415. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  416. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  417. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  418. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  419. sage_wheels/share/singular/LIB/random.lib +455 -0
  420. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  421. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  422. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  423. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  424. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  425. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  426. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  427. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  428. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  429. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  430. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  431. sage_wheels/share/singular/LIB/resources.lib +170 -0
  432. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  433. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  434. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  435. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  436. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  437. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  438. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  439. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  440. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  441. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  442. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  443. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  444. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  445. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  446. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  447. sage_wheels/share/singular/LIB/sets.lib +524 -0
  448. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  449. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  450. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  451. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  452. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  453. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  454. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  455. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  456. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  457. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  458. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  459. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  460. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  461. sage_wheels/share/singular/LIB/surf.lib +506 -0
  462. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  463. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  464. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  465. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  466. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  467. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  468. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  469. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  470. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  471. sage_wheels/share/singular/LIB/template.lib +116 -0
  472. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  473. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  474. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  475. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  476. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  477. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  478. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  479. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  480. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  481. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  482. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  483. sage_wheels/share/singular/emacs/COPYING +44 -0
  484. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  485. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  486. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  487. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  488. sage_wheels/share/singular/emacs/singular.el +4273 -0
  489. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  490. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,525 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version polyclass.lib 4.4.0.3 Jun_2024 "; // $Id: 8e0c8ebdb7fc090b5cccd7dd6561b4542ec46758 $
3
+ category="Commutative Algebra";
4
+ info="
5
+ LIBRARY: polyclass.lib Data types for normal forms and normal form equations
6
+ AUTHORS: Janko Boehm, email: boehm@mathematik.uni-kl.de
7
+ Magdaleen Marais, email: magdaleen.marais@up.ac.za
8
+ Gerhard Pfister, email: pfister@mathematik.uni-kl.de
9
+
10
+
11
+ OVERVIEW:
12
+ This library implements a ring independent polynomial type used for the return value in
13
+ classify2.lib, realclassify.lib and arnold.lib. You can use +, * and == for addition, multiplication and comparison. The key over contains the base ring of the polynomial, the key value its value as a polynomial of type poly. The constructor can be called by assigning a polynomial of type poly to a polynomial of type Poly via =.
14
+
15
+ Moreover the library implements a ring independent class NormalForm consisting out of fields of type string, type list, type Poly and type RightEquivalenceChainWithPrecision, that capture the important characteristics of the stored singularity. The type RightEquivalenceChainWithPrecision is created to store a chain of (finite) transformations, ring independently as a list, performed on a sourcegerm. The image of the sourcegerm is stored in the field targetgerm. In this way the chain of transformations used to transform a sourcegerm to a normal form equation can be documented. To store each individual transformation the library implements a ring independent transformation of type PolynomialRightEquivalence, which contains fields for the ring over which the transformation is performed, the images that defines the transformation as a list of Poly's, and the inverse images that defined the inverse transformation as a list of Poly's.
16
+
17
+ The library also catains print functions for the newly created types for a user friendly display.
18
+
19
+
20
+ REFERENCES:
21
+ J. Boehm, M.S. Marais, G. Pfister: Classification of Complex Singularities with Non-Degenerate Newton Boundary, https://arxiv.org/abs/2010.10185
22
+
23
+ J. Boehm, M.S. Marais, G. Pfister: Moduli Parameters of Complex Singularities with Non-Degenerate Newton Boundary, https://arxiv.org/abs/2402.05093
24
+
25
+ Acknowledgements: This research was supported by the Rubbi fund of the Department of Mathematical Sciences of Stellenbosch University, DFG SPP 1489,@*
26
+ DFG TRR 195 (Project B5).
27
+
28
+ KEYWORDS: polynomials
29
+
30
+ SEE ALSO: realclassify_lib, classify2_lib, arnold_lib
31
+
32
+ PROCEDURES:
33
+ makePoly(f); constructor for ring independent polynomial type Poly
34
+ ringOf(P); return the parent ring of the Poly P
35
+ valueOf(P); get from the Poly P the corresponding poly
36
+ printPoly(f); print routine for polynomial type Poly
37
+ addPoly(f,g); add polynomials of type Poly
38
+ multPoly(f,g); multiply polynomials of type Poly
39
+ equalPoly(f,g); check whether two polynomials of type Poly over the same ring are equal
40
+ expPoly(f,g); exponentiate polynomials of type Poly to an integer power
41
+ printPolynomialRightEquivalence(RE); print a transformation
42
+ printRightEquivalenceChainWithPrecision(TT); print a chain of transformations
43
+ printNormalFormEquation(F); print routine for normal form equation type NormalFormEquation
44
+ printNormalForm(F); print routine for normal form type NormalForm
45
+
46
+ ";
47
+
48
+ LIB "sing.lib";
49
+
50
+ static proc mod_init()
51
+ {
52
+ newstruct("Poly","ring in,poly value");
53
+ newstruct("NormalFormEquation","list vars, string singularityType, int milnorNumber, Poly normalFormEquation, int modality, list parameters, int corank, int inertiaIndex, int determinacy, int realCase");
54
+ newstruct("RightEquivalenceChainWithPrecision","Poly sourcegerm, Poly targetgerm, list transformations, int precision, int HC");
55
+ newstruct("NormalForm","int numbervars, ring inputRing, Poly nondegeneratePart, Poly nonNormalizedNNBGerm, Poly semiNormalizedNNBGerm, string singularityType, int milnorNumber, Poly normalForm, RightEquivalenceChainWithPrecision phi, RightEquivalenceChainWithPrecision phiBeforeMorseSplit, Poly normalFormEquation,Poly normalFormEquationUpToRescaling, int modality, list parameters, int corank, int determinacy, int delta, int numberOfBranches, Poly extension1, Poly extension2, Poly exceptionalHypersurface, string ArnoldType");
56
+ newstruct("PolynomialRightEquivalence","ring in, list images, list imagesInverse");
57
+ system("install","Poly","print",printPoly,1);
58
+ system("install","Poly","string",stringPoly,4);
59
+ system("install","Poly","+",addPoly,2);
60
+ system("install","Poly","*",multPoly,2);
61
+ system("install","Poly","^",expPoly,2);
62
+ system("install","Poly","==",equalPoly,2);
63
+ system("install","Poly","=",makePoly,1);
64
+ system("install","PolynomialRightEquivalence","print",printPolynomialRightEquivalence,1);
65
+ system("install","RightEquivalenceChainWithPrecision","print",printRightEquivalenceChainWithPrecision,1);
66
+ system("install","NormalForm","print",printNormalForm,1);
67
+ system("install","NormalFormEquation","print",printNormalFormEquation,1);
68
+ }
69
+
70
+ proc printNormalFormEquation(NormalFormEquation F)
71
+ "USAGE: printNormalFormEquation(F); F NormalFormEquation
72
+ RETURN: print a normal form equation
73
+ EXAMPLE: example printNormalFormEquation, shows an example"
74
+ {
75
+ def R=basering;
76
+ Poly f=F.normalFormEquation;
77
+ def SS=f.in;
78
+ setring SS;
79
+ "Corank = "+string(F.corank);
80
+ if (F.realCase){"Inertia index = "+string(F.inertiaIndex);}
81
+ "Normal form equation of type = "+(F.singularityType);
82
+ "Normal form equation = "+string(f.value);
83
+ "Milnor number = "+string(F.milnorNumber);
84
+ "Modality = "+string(F.modality);
85
+ if (F.modality>=1){
86
+ if (F.modality==1){
87
+ "Parameter term = "+string(F.parameters[1][1]);
88
+ } else {
89
+ string paraterms="Parameter terms = ";
90
+ for (int i =1;i<=size(F.parameters);i++){
91
+ paraterms=paraterms+string(F.parameters[i][1]);
92
+ if (i<size(F.parameters)){paraterms = paraterms +", ";}
93
+ }
94
+ paraterms;
95
+ }
96
+ if (minpoly!=0){"Minimal polynomial = "+string(minpoly);}
97
+ if (F.realCase && minpoly!=0){
98
+ if (F.modality>1){ERROR("Not implemented");}
99
+ "Interval = ["+string(F.parameters[1][2][1])+", "+string(F.parameters[1][2][2])+"]";
100
+ }
101
+ }
102
+ "Determinacy <= "+string(F.determinacy);
103
+ setring R;
104
+ }
105
+ example
106
+ {
107
+ "EXAMPLE:"; echo=2;
108
+ ring R=(0,a),(x,y,z,w),ds;
109
+ minpoly = a^2-2;
110
+ Poly f=x^4+x^2*y^2+a*y^8+z^2-w^2;
111
+ NormalFormEquation F;
112
+ F.vars = ringlist(R)[2];
113
+ F.realCase = 1;
114
+ F.normalFormEquation = f;
115
+ F.modality = 1;
116
+ F.corank = 2;
117
+ F.inertiaIndex = 1;
118
+ F.determinacy = 8;
119
+ F.milnorNumber = milnor(f.value);
120
+ F.parameters = list(list(a*y^8,list(0,2)));
121
+ F.singularityType = "X[13]";
122
+ F;
123
+ ring R=(0),(x,y,z,w),ds;
124
+ Poly f=x^4+x^2*y^2+7*y^8+z^2-w^2;
125
+ NormalFormEquation F;
126
+ F.vars = ringlist(R)[2];
127
+ F.realCase = 1;
128
+ F.normalFormEquation = f;
129
+ F.modality = 1;
130
+ F.corank = 2;
131
+ F.inertiaIndex = 1;
132
+ F.determinacy = 8;
133
+ F.milnorNumber = milnor(f.value);
134
+ F.parameters = list(list(7*y^8,list(-6,8)));
135
+ F.singularityType = "X[13]";
136
+ printNormalFormEquation(F);
137
+ }
138
+
139
+
140
+ proc printNormalForm(NormalForm F)
141
+ "USAGE: printNormalForm(F); F NormalForm
142
+ RETURN: print a normal form with its important characteristics
143
+ EXAMPLE: example printNormalForm, shows an example"
144
+ {
145
+ def R=basering;
146
+ Poly P=F.normalForm;
147
+ def TT=P.in;
148
+ setring TT;
149
+ short=0;
150
+ "Embedding dimension = "+string(F.numbervars);
151
+ "Corank of singularity = "+string(F.corank);
152
+ "Normal form of type = "+(F.singularityType);
153
+ "Normal form = "
154
+ +string(P.value);
155
+ Poly EH = F.exceptionalHypersurface;
156
+ def REH = EH.in;
157
+ setring REH;
158
+ short=0;
159
+ if(EH.value<>-1)
160
+ {
161
+ "Exceptional Hypersurface = "+string(EH.value);
162
+ }
163
+ else
164
+ {
165
+ "Exceptional Hypersurface is not determined.";
166
+ }
167
+ Poly G = F.normalFormEquation;
168
+ def RR = G.in;
169
+ setring RR;
170
+ short=0;
171
+ if(G.value==0){"Normal form equation is not determined.";}
172
+ else
173
+ {
174
+ "Normal form equation ="+string(G.value);
175
+ if (minpoly!=0){"Minimal polynomial = "+string(minpoly);}
176
+ }
177
+ Poly H = F.extension1;
178
+ def RRR = H.in;
179
+ setring RRR;
180
+ short=0;
181
+ if(H.value<>0){"Minimal polynomial 2 ="+string(H.value);}
182
+ Poly HH = F.extension2;
183
+ def RRRR = HH.in;
184
+ setring RRRR;
185
+ short=0;
186
+ if(HH.value<>0){"Minimal polynomial 3 ="+string(HH.value);}
187
+ setring TT;
188
+ short=0;
189
+ "Milnor number = "+string(F.milnorNumber);
190
+ "Modality = "+string(F.modality);
191
+ if (F.modality>=1){
192
+ if (F.modality==1){
193
+ "Monomials corresponding to moduli terms = "+stringPoly(F.parameters[1]);
194
+ } else {
195
+ string paraterms="Monomials corresponding to moduli terms = ";
196
+ for (int i =1;i<=size(F.parameters);i++){
197
+ paraterms=paraterms+stringPoly(F.parameters[i]);
198
+ if (i<size(F.parameters)){paraterms = paraterms +", ";}
199
+ }
200
+ paraterms;
201
+ }
202
+ setring TT;
203
+ short=0;
204
+ }
205
+ "Delta invariant = "+string(F.delta);
206
+ "Number of branches = "+string(F.numberOfBranches);
207
+ "Determinacy <= "+string(F.determinacy);
208
+ RightEquivalenceChainWithPrecision Trb=F.phiBeforeMorseSplit;
209
+ Poly SG = F.nondegeneratePart;
210
+ def SS = SG.in;
211
+ setring SS;
212
+ short=0;
213
+ "Non-degenerate part = "+string(SG.value);
214
+ list transB = Trb.transformations;
215
+ int sb = size(transB);
216
+ "Chain of transformations before Morse split of length "+string(sb);
217
+ RightEquivalenceChainWithPrecision Tr=F.phi;
218
+ list trans = Tr.transformations;
219
+ int s = size(trans);
220
+ "Chain of transformations after Morse split of length "+string(s);
221
+ Poly semiNormalizedNNBGerm = F.semiNormalizedNNBGerm;
222
+ def LL = semiNormalizedNNBGerm.in;
223
+ setring LL;
224
+ short=0;
225
+ "";
226
+ if(semiNormalizedNNBGerm.value==0){
227
+ "The chain of transformations is only containing transformations up to transforming the input polynomial to a germ with a nondegenerate Newton boundary. The final transformations to normalize the germ are not yet determined.";}
228
+
229
+ setring R;
230
+ }
231
+ example
232
+ {
233
+ "EXAMPLE:"; echo=2;
234
+ ring R=(0,a),(x,y),ds;
235
+ minpoly = a^2-2;
236
+ poly f=x^4+x^2*y^2+7*a*y^8;
237
+ Poly F = makePoly(f);
238
+ ring S =(0,a),(x,y),ds;
239
+ poly g = x^4+x^2*y^2+a*y^8;
240
+ Poly G = makePoly(g);
241
+ ring T=QQ,(a),dp;
242
+ poly h=a;
243
+ Poly H=makePoly(h);
244
+ setring R;
245
+ NormalForm N;
246
+ N.exceptionalHypersurface = H;
247
+ N.numbervars =2;
248
+ N.corank =2;
249
+ N.normalForm = G;
250
+ N.normalFormEquation = F;
251
+ N.extension1=makePoly(0);
252
+ N.extension2=makePoly(0);
253
+ N.nondegeneratePart = makePoly(0);
254
+ N.semiNormalizedNNBGerm = F;
255
+ N.modality = 1;
256
+ N.corank = 2;
257
+ N.determinacy = 8;
258
+ N.milnorNumber = milnor(F.value);
259
+ N.parameters = list(makePoly(y^8));
260
+ N.singularityType = "X[13]";
261
+ printNormalForm(N);
262
+ }
263
+
264
+
265
+
266
+ proc makePoly(poly f)
267
+ "USAGE: makePoly(f); f poly
268
+ RETURN: make a ring independent Poly from a poly in the basering
269
+ EXAMPLE: example makePoly, shows an example"
270
+ {
271
+ Poly F;
272
+ F.in=basering;
273
+ F.value=f;
274
+ return(F);
275
+ }
276
+ example
277
+ {
278
+ "EXAMPLE:"; echo=2;
279
+ ring R=0,(x,y),dp;
280
+ poly f=3*x^2+x*y+1;
281
+ Poly F = makePoly(f);
282
+ F.in;
283
+ F.value;
284
+ }
285
+
286
+ proc valueOf(Poly F)
287
+ "USAGE: valueOf(F); F Poly
288
+ RETURN: F.value
289
+ EXAMPLE: example valueOf, shows an example"
290
+ {
291
+ return(F.value);
292
+ }
293
+ example
294
+ {
295
+ "EXAMPLE:"; echo=2;
296
+ ring R=0,(x,y),ds;
297
+ poly f = x+y;
298
+ Poly F = makePoly(f);
299
+ valueOf(F);
300
+ }
301
+
302
+
303
+ proc ringOf(Poly F)
304
+ "USAGE: ringOf(F); F Poly
305
+ RETURN: F.value
306
+ EXAMPLE: example ringOf, shows an example"
307
+ {
308
+ return(F.in);
309
+ }
310
+ example
311
+ {
312
+ "EXAMPLE:"; echo=2;
313
+ ring R=0,(x,y),ds;
314
+ poly f = x+y;
315
+ Poly F = makePoly(f);
316
+ ringOf(F);
317
+ }
318
+
319
+
320
+ proc printPoly(Poly P)
321
+ "USAGE: printPoly(P); P Poly
322
+ RETURN: print a polynomial of type Poly
323
+ EXAMPLE: example printPoly, shows an example"
324
+ {
325
+ def R=basering;
326
+ def SS=P.in;
327
+ setring SS;
328
+ short=0;
329
+ P.value;
330
+ setring R;
331
+ }
332
+ example
333
+ {
334
+ "EXAMPLE:"; echo=2;
335
+ ring R=0,(x,y),dp;
336
+ poly f=3*x^2+x*y+1;
337
+ Poly F = makePoly(f);
338
+ printPoly(F);
339
+ }
340
+
341
+ static proc stringPoly(Poly f)
342
+ {
343
+ def R=basering;
344
+ def SS=f.in;
345
+ setring SS;
346
+ short=0;
347
+ string st = string(f.value);
348
+ setring R;
349
+ return(st);}
350
+
351
+ static proc addPoly(Poly f,Poly g)
352
+ "USAGE: addPoly(F,G); F Poly, G Poly, F and G is defined over the same ring
353
+ RETURN: add the Poly F and the Poly G
354
+ EXAMPLE: example addPoly, shows an example"
355
+ {
356
+ def R=basering;
357
+ def S1=f.in;
358
+ setring S1;
359
+ Poly fplusg=makePoly(f.value+g.value);
360
+ setring R;
361
+ return(fplusg);}
362
+ example
363
+ {
364
+ "EXAMPLE:"; echo=2;
365
+ ring R=0,(x,y),dp;
366
+ poly f=3*x^2+x*y+1;
367
+ poly g = 4*x^2+2*x*y+x;
368
+ Poly G = makePoly(g);
369
+ Poly F = makePoly(f);
370
+ addPoly(F,G);
371
+ }
372
+
373
+ static proc multPoly(Poly f,Poly g)
374
+ "USAGE: multPoly(F,G); F Poly, G Poly, F and G is defined over the same ring
375
+ RETURN: multiply the Poly F and the Poly G
376
+ EXAMPLE: example multPoly, shows an example"
377
+ {
378
+ def R=basering;
379
+ def S1=f.in;
380
+ setring S1;
381
+ Poly ftimesg=makePoly((f.value)*(g.value));
382
+ setring R;
383
+ return(ftimesg);}
384
+ example
385
+ {
386
+ "EXAMPLE:"; echo=2;
387
+ ring R=0,(x,y),dp;
388
+ poly f=3*x^2+x*y+1;
389
+ poly g = 4*x^2+2*x*y+x;
390
+ Poly G = makePoly(g);
391
+ Poly F = makePoly(f);
392
+ multPoly(F,G);
393
+ }
394
+
395
+
396
+ static proc equalPoly(Poly f,Poly g)
397
+ "USAGE: equalPoly(F,G); F Poly, G Poly, F and G is defined over the same ring
398
+ RETURN: check whether the Poly F and the Poly G are equal
399
+ EXAMPLE: example equalPoly, shows an example"
400
+ {
401
+ def R=basering;
402
+ def S1=f.in;
403
+ setring S1;
404
+ int fgequal=(f.value)==(g.value);
405
+ setring R;
406
+ return(fgequal);}
407
+ example
408
+ {
409
+ "EXAMPLE:"; echo=2;
410
+ ring R=0,(x,y),dp;
411
+ poly f=3*x^2+x*y+1;
412
+ poly g = 4*x^2+2*x*y+x;
413
+ Poly G = makePoly(g);
414
+ Poly F = makePoly(f);
415
+ equalPoly(F,G);
416
+ }
417
+
418
+
419
+ static proc expPoly(Poly f,int n)
420
+ "USAGE: expPoly(F,n); F Poly, n int,
421
+ RETURN: the Poly F to the power n
422
+ EXAMPLE: example expPoly, shows an example"
423
+ {
424
+ def R=basering;
425
+ def S1=f.in;
426
+ setring S1;
427
+ poly fexpn=(f.value)^n;
428
+ Poly Fexpn = makePoly(fexpn);
429
+ setring R;
430
+ return(Fexpn);}
431
+ example
432
+ {
433
+ "EXAMPLE:"; echo=2;
434
+ ring R=0,(x,y),dp;
435
+ poly f=3*x^2+x*y+1;
436
+ Poly F = makePoly(f);
437
+ int n = 2;
438
+ expPoly(F,n);
439
+ }
440
+
441
+
442
+ proc printPolynomialRightEquivalence(PolynomialRightEquivalence RE)
443
+ "USAGE: printPolynomialRightEquivalence(RE); RE PolynomialRightEquivalence
444
+ RETURN: print the transformation RE
445
+ EXAMPLE: example printPolynomialRightEquivalence, shows an example"
446
+ {
447
+ def R=basering;
448
+ def SS=RE.in;
449
+ setring SS;
450
+ "
451
+ Transformation:";
452
+ Poly H;
453
+ for (int i =1;i<=size(RE.images);i++){H = RE.images[i];print(string(var(i))+ "-->"+string(H.value));}
454
+
455
+ setring R;
456
+ }
457
+ example
458
+ {
459
+ "EXAMPLE:"; echo=2;
460
+ ring R=0,(x,y),dp;
461
+ PolynomialRightEquivalence RE;
462
+ RE.in=basering;
463
+ RE.images = list(makePoly(x-x*y),makePoly(y));
464
+ RE.imagesInverse = list(makePoly(x+x*y),makePoly(y));
465
+ printPolynomialRightEquivalence(RE);
466
+ }
467
+
468
+ proc printRightEquivalenceChainWithPrecision(RightEquivalenceChainWithPrecision TT)
469
+ "USAGE: printRightEquivalenceChainWithPrecision(TT); TT RightEquivalenceChainWithPrecision
470
+ RETURN: print the chain of transformations TT
471
+ EXAMPLE: example printRightEquivalenceChainWithPrecision, shows an example"
472
+ {
473
+ def R=basering;
474
+ Poly F = TT.sourcegerm;
475
+ Poly G = TT.targetgerm;
476
+ def SS=F.in;
477
+ setring SS;
478
+ "
479
+ Source germ = " +string(F.value);
480
+ "";
481
+ def PP=TT.targetgerm.in;
482
+ setring PP;
483
+ " Target germ = "+string(G.value);
484
+ "";
485
+ " Precision = " +string(TT.precision);
486
+ "";
487
+ " Transformations:";
488
+ for (int i =1;i<=size(TT.transformations);i++){
489
+ print(TT.transformations[i]);
490
+ }
491
+ setring R;
492
+ }
493
+ example
494
+ {
495
+ "EXAMPLE:"; echo=2;
496
+ RightEquivalenceChainWithPrecision TT;
497
+ ring R=0,(x,y),ds;
498
+ poly f = x+y;
499
+ Poly F = makePoly(f);
500
+ TT.sourcegerm = F;
501
+ map phi = R,x-x*y,y;
502
+ f=phi(f);
503
+ PolynomialRightEquivalence RE;
504
+ RE.in=basering;
505
+ RE.images = list(makePoly(x-x*y),makePoly(y));
506
+ RE.imagesInverse = list(makePoly(x+x*y),makePoly(y));
507
+ TT.transformations[size(TT.transformations)+1]=RE;
508
+ TT.targetgerm.in = basering;
509
+ TT.targetgerm.value=f;
510
+ ring S = (0,a),(x,y),ds;
511
+ minpoly=a^2+1;
512
+ poly f = fetch(R,f);
513
+ map phi = R,x-a*x*y,y;
514
+ f=phi(f);
515
+ PolynomialRightEquivalence RE;
516
+ RE.in=basering;
517
+ RE.images = list(makePoly(x-a*x*y),makePoly(y));
518
+ RE.imagesInverse = list(makePoly(x+a*x*y),makePoly(y));
519
+ TT.transformations[size(TT.transformations)+1]=RE;
520
+ TT.targetgerm.in = basering;
521
+ TT.targetgerm.value=f;
522
+ setring R;
523
+ printRightEquivalenceChainWithPrecision(TT);
524
+ }
525
+