passagemath-singular 10.6.31rc3__cp314-cp314-musllinux_1_2_x86_64.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 (493) hide show
  1. PySingular.cpython-314-x86_64-linux-musl.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +493 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +5 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-67059f19.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-30166d29.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-9d37bcf4.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-fd6f12fc.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgcc_s-0cd532bd.so.1 +0 -0
  11. passagemath_singular.libs/libgf2x-9e30c3e3.so.3.0.0 +0 -0
  12. passagemath_singular.libs/libgfortran-2c33b284.so.5.0.0 +0 -0
  13. passagemath_singular.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  14. passagemath_singular.libs/libgsl-42cda06f.so.28.0.0 +0 -0
  15. passagemath_singular.libs/libmpfr-aaecbfc0.so.6.2.1 +0 -0
  16. passagemath_singular.libs/libncursesw-9c9e32c3.so.6.5 +0 -0
  17. passagemath_singular.libs/libntl-26885ca2.so.44.0.1 +0 -0
  18. passagemath_singular.libs/libomalloc-0-e9ff96db.9.6.so +0 -0
  19. passagemath_singular.libs/libopenblasp-r0-905cb27d.3.29.so +0 -0
  20. passagemath_singular.libs/libpolys-4-8bcf8e7d.4.1.so +0 -0
  21. passagemath_singular.libs/libquadmath-bb76a5fc.so.0.0.0 +0 -0
  22. passagemath_singular.libs/libreadline-06542304.so.8.2 +0 -0
  23. passagemath_singular.libs/libsingular_resources-4-73bf7623.4.1.so +0 -0
  24. passagemath_singular.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  25. sage/algebras/all__sagemath_singular.py +3 -0
  26. sage/algebras/fusion_rings/all.py +19 -0
  27. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  28. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-musl.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  30. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  31. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-musl.so +0 -0
  32. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  33. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  34. sage/algebras/fusion_rings/fusion_double.py +899 -0
  35. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  36. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-musl.so +0 -0
  37. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  38. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  39. sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-musl.so +0 -0
  40. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  41. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  42. sage/algebras/letterplace/all.py +1 -0
  43. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  44. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  45. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  46. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  47. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  48. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  49. sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-musl.so +0 -0
  50. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  51. sage/algebras/quatalg/all.py +2 -0
  52. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  53. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-musl.so +0 -0
  54. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  55. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-musl.so +0 -0
  56. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  57. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  58. sage/all__sagemath_singular.py +11 -0
  59. sage/ext_data/all__sagemath_singular.py +1 -0
  60. sage/ext_data/singular/function_field/core.lib +98 -0
  61. sage/interfaces/all__sagemath_singular.py +1 -0
  62. sage/interfaces/singular.py +2835 -0
  63. sage/libs/all__sagemath_singular.py +1 -0
  64. sage/libs/singular/__init__.py +1 -0
  65. sage/libs/singular/decl.pxd +1168 -0
  66. sage/libs/singular/function.cpython-314-x86_64-linux-musl.so +0 -0
  67. sage/libs/singular/function.pxd +87 -0
  68. sage/libs/singular/function.pyx +1901 -0
  69. sage/libs/singular/function_factory.py +61 -0
  70. sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-musl.so +0 -0
  71. sage/libs/singular/groebner_strategy.pxd +22 -0
  72. sage/libs/singular/groebner_strategy.pyx +582 -0
  73. sage/libs/singular/option.cpython-314-x86_64-linux-musl.so +0 -0
  74. sage/libs/singular/option.pyx +671 -0
  75. sage/libs/singular/polynomial.cpython-314-x86_64-linux-musl.so +0 -0
  76. sage/libs/singular/polynomial.pxd +39 -0
  77. sage/libs/singular/polynomial.pyx +661 -0
  78. sage/libs/singular/ring.cpython-314-x86_64-linux-musl.so +0 -0
  79. sage/libs/singular/ring.pxd +58 -0
  80. sage/libs/singular/ring.pyx +893 -0
  81. sage/libs/singular/singular.cpython-314-x86_64-linux-musl.so +0 -0
  82. sage/libs/singular/singular.pxd +72 -0
  83. sage/libs/singular/singular.pyx +1944 -0
  84. sage/libs/singular/standard_options.py +145 -0
  85. sage/matrix/all__sagemath_singular.py +1 -0
  86. sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-musl.so +0 -0
  87. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  88. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  89. sage/rings/all__sagemath_singular.py +1 -0
  90. sage/rings/function_field/all__sagemath_singular.py +1 -0
  91. sage/rings/function_field/derivations_polymod.py +911 -0
  92. sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-musl.so +0 -0
  93. sage/rings/function_field/element_polymod.pyx +406 -0
  94. sage/rings/function_field/function_field_polymod.py +2611 -0
  95. sage/rings/function_field/ideal_polymod.py +1775 -0
  96. sage/rings/function_field/order_polymod.py +1475 -0
  97. sage/rings/function_field/place_polymod.py +681 -0
  98. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  99. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  101. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  102. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  103. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  104. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  105. sage/rings/polynomial/plural.cpython-314-x86_64-linux-musl.so +0 -0
  106. sage/rings/polynomial/plural.pxd +48 -0
  107. sage/rings/polynomial/plural.pyx +3171 -0
  108. sage/symbolic/all__sagemath_singular.py +1 -0
  109. sage/symbolic/comparison_impl.pxi +428 -0
  110. sage/symbolic/constants_c_impl.pxi +178 -0
  111. sage/symbolic/expression.cpython-314-x86_64-linux-musl.so +0 -0
  112. sage/symbolic/expression.pxd +7 -0
  113. sage/symbolic/expression.pyx +14200 -0
  114. sage/symbolic/getitem_impl.pxi +202 -0
  115. sage/symbolic/pynac.pxi +572 -0
  116. sage/symbolic/pynac_constant_impl.pxi +133 -0
  117. sage/symbolic/pynac_function_impl.pxi +206 -0
  118. sage/symbolic/pynac_impl.pxi +2576 -0
  119. sage/symbolic/pynac_wrap.h +124 -0
  120. sage/symbolic/series_impl.pxi +272 -0
  121. sage/symbolic/substitution_map_impl.pxi +94 -0
  122. sage_wheels/bin/ESingular +0 -0
  123. sage_wheels/bin/Singular +0 -0
  124. sage_wheels/bin/TSingular +0 -0
  125. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  126. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  127. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  128. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  129. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  130. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  131. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  132. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  133. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  134. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  135. sage_wheels/lib/singular/MOD/interval.la +41 -0
  136. sage_wheels/lib/singular/MOD/interval.so +0 -0
  137. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  138. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  139. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  140. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  146. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  147. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  148. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  149. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  150. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  151. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  152. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  153. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  154. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  155. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  156. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  157. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  158. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  159. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  160. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  161. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  162. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  163. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  164. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  165. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  166. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  167. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  168. sage_wheels/libexec/singular/MOD/surfex +16 -0
  169. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  170. sage_wheels/share/factory/gftables/10201 +342 -0
  171. sage_wheels/share/factory/gftables/1024 +37 -0
  172. sage_wheels/share/factory/gftables/10609 +356 -0
  173. sage_wheels/share/factory/gftables/11449 +384 -0
  174. sage_wheels/share/factory/gftables/11881 +398 -0
  175. sage_wheels/share/factory/gftables/121 +6 -0
  176. sage_wheels/share/factory/gftables/12167 +408 -0
  177. sage_wheels/share/factory/gftables/125 +7 -0
  178. sage_wheels/share/factory/gftables/12769 +428 -0
  179. sage_wheels/share/factory/gftables/128 +7 -0
  180. sage_wheels/share/factory/gftables/1331 +47 -0
  181. sage_wheels/share/factory/gftables/1369 +48 -0
  182. sage_wheels/share/factory/gftables/14641 +490 -0
  183. sage_wheels/share/factory/gftables/15625 +523 -0
  184. sage_wheels/share/factory/gftables/16 +3 -0
  185. sage_wheels/share/factory/gftables/16129 +540 -0
  186. sage_wheels/share/factory/gftables/16384 +549 -0
  187. sage_wheels/share/factory/gftables/16807 +563 -0
  188. sage_wheels/share/factory/gftables/1681 +58 -0
  189. sage_wheels/share/factory/gftables/169 +8 -0
  190. sage_wheels/share/factory/gftables/17161 +574 -0
  191. sage_wheels/share/factory/gftables/1849 +64 -0
  192. sage_wheels/share/factory/gftables/18769 +628 -0
  193. sage_wheels/share/factory/gftables/19321 +646 -0
  194. sage_wheels/share/factory/gftables/19683 +659 -0
  195. sage_wheels/share/factory/gftables/2048 +71 -0
  196. sage_wheels/share/factory/gftables/2187 +75 -0
  197. sage_wheels/share/factory/gftables/2197 +76 -0
  198. sage_wheels/share/factory/gftables/2209 +76 -0
  199. sage_wheels/share/factory/gftables/22201 +742 -0
  200. sage_wheels/share/factory/gftables/22801 +762 -0
  201. sage_wheels/share/factory/gftables/2401 +82 -0
  202. sage_wheels/share/factory/gftables/243 +11 -0
  203. sage_wheels/share/factory/gftables/24389 +815 -0
  204. sage_wheels/share/factory/gftables/24649 +824 -0
  205. sage_wheels/share/factory/gftables/25 +3 -0
  206. sage_wheels/share/factory/gftables/256 +11 -0
  207. sage_wheels/share/factory/gftables/26569 +888 -0
  208. sage_wheels/share/factory/gftables/27 +3 -0
  209. sage_wheels/share/factory/gftables/27889 +932 -0
  210. sage_wheels/share/factory/gftables/2809 +96 -0
  211. sage_wheels/share/factory/gftables/28561 +954 -0
  212. sage_wheels/share/factory/gftables/289 +12 -0
  213. sage_wheels/share/factory/gftables/29791 +995 -0
  214. sage_wheels/share/factory/gftables/29929 +1000 -0
  215. sage_wheels/share/factory/gftables/3125 +107 -0
  216. sage_wheels/share/factory/gftables/32 +4 -0
  217. sage_wheels/share/factory/gftables/32041 +1070 -0
  218. sage_wheels/share/factory/gftables/32761 +1094 -0
  219. sage_wheels/share/factory/gftables/32768 +1095 -0
  220. sage_wheels/share/factory/gftables/343 +14 -0
  221. sage_wheels/share/factory/gftables/3481 +118 -0
  222. sage_wheels/share/factory/gftables/361 +14 -0
  223. sage_wheels/share/factory/gftables/36481 +1218 -0
  224. sage_wheels/share/factory/gftables/3721 +126 -0
  225. sage_wheels/share/factory/gftables/37249 +1244 -0
  226. sage_wheels/share/factory/gftables/38809 +1296 -0
  227. sage_wheels/share/factory/gftables/39601 +1322 -0
  228. sage_wheels/share/factory/gftables/4 +3 -0
  229. sage_wheels/share/factory/gftables/4096 +139 -0
  230. sage_wheels/share/factory/gftables/44521 +1486 -0
  231. sage_wheels/share/factory/gftables/4489 +152 -0
  232. sage_wheels/share/factory/gftables/49 +4 -0
  233. sage_wheels/share/factory/gftables/4913 +166 -0
  234. sage_wheels/share/factory/gftables/49729 +1660 -0
  235. sage_wheels/share/factory/gftables/5041 +170 -0
  236. sage_wheels/share/factory/gftables/50653 +1691 -0
  237. sage_wheels/share/factory/gftables/512 +20 -0
  238. sage_wheels/share/factory/gftables/51529 +1720 -0
  239. sage_wheels/share/factory/gftables/52441 +1750 -0
  240. sage_wheels/share/factory/gftables/529 +20 -0
  241. sage_wheels/share/factory/gftables/5329 +180 -0
  242. sage_wheels/share/factory/gftables/54289 +1812 -0
  243. sage_wheels/share/factory/gftables/57121 +1906 -0
  244. sage_wheels/share/factory/gftables/58081 +1938 -0
  245. sage_wheels/share/factory/gftables/59049 +1971 -0
  246. sage_wheels/share/factory/gftables/6241 +210 -0
  247. sage_wheels/share/factory/gftables/625 +23 -0
  248. sage_wheels/share/factory/gftables/63001 +2102 -0
  249. sage_wheels/share/factory/gftables/64 +5 -0
  250. sage_wheels/share/factory/gftables/6561 +221 -0
  251. sage_wheels/share/factory/gftables/6859 +231 -0
  252. sage_wheels/share/factory/gftables/6889 +232 -0
  253. sage_wheels/share/factory/gftables/729 +27 -0
  254. sage_wheels/share/factory/gftables/7921 +266 -0
  255. sage_wheels/share/factory/gftables/8 +3 -0
  256. sage_wheels/share/factory/gftables/81 +5 -0
  257. sage_wheels/share/factory/gftables/8192 +276 -0
  258. sage_wheels/share/factory/gftables/841 +30 -0
  259. sage_wheels/share/factory/gftables/9 +3 -0
  260. sage_wheels/share/factory/gftables/9409 +316 -0
  261. sage_wheels/share/factory/gftables/961 +34 -0
  262. sage_wheels/share/info/singular.info +191898 -0
  263. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  264. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  265. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  266. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  267. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  268. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  269. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  270. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  271. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  272. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  273. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  274. sage_wheels/share/singular/LIB/all.lib +136 -0
  275. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  276. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  277. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  278. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  279. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  280. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  281. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  282. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  283. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  284. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  285. sage_wheels/share/singular/LIB/central.lib +2169 -0
  286. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  287. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  288. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  289. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  290. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  291. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  292. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  293. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  294. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  295. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  296. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  297. sage_wheels/share/singular/LIB/control.lib +1636 -0
  298. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  299. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  300. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  301. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  302. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  303. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  304. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  305. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  306. sage_wheels/share/singular/LIB/deform.lib +925 -0
  307. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  308. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  309. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  310. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  311. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  312. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  313. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  314. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  315. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  316. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  317. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  318. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  319. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  320. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  321. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  322. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  323. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  324. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  325. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  326. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  327. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  328. sage_wheels/share/singular/LIB/general.lib +1350 -0
  329. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  330. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  331. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  332. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  333. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  334. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  335. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  336. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  337. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  338. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  339. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  340. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  341. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  342. sage_wheels/share/singular/LIB/help.cnf +57 -0
  343. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  344. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  345. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  346. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  347. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  348. sage_wheels/share/singular/LIB/inout.lib +679 -0
  349. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  350. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  351. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  352. sage_wheels/share/singular/LIB/invar.lib +443 -0
  353. sage_wheels/share/singular/LIB/involut.lib +980 -0
  354. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  355. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  356. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  357. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  358. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  359. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  360. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  361. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  362. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  363. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  364. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  365. sage_wheels/share/singular/LIB/methods.lib +212 -0
  366. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  367. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  368. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  369. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  370. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  371. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  372. sage_wheels/share/singular/LIB/modular.lib +545 -0
  373. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  374. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  375. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  376. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  377. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  378. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  379. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  380. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  381. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  382. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  383. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  384. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  385. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  386. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  387. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  388. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  389. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  390. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  391. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  392. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  393. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  394. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  395. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  396. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  397. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  398. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  399. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  400. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  401. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  402. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  403. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  404. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  405. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  406. sage_wheels/share/singular/LIB/perron.lib +202 -0
  407. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  408. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  409. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  410. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  411. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  412. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  413. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  414. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  415. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  416. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  417. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  418. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  419. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  420. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  421. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  422. sage_wheels/share/singular/LIB/random.lib +455 -0
  423. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  424. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  425. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  426. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  427. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  428. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  429. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  430. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  431. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  432. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  433. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  434. sage_wheels/share/singular/LIB/resources.lib +170 -0
  435. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  436. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  437. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  438. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  439. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  440. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  441. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  442. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  443. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  444. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  445. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  446. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  447. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  448. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  449. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  450. sage_wheels/share/singular/LIB/sets.lib +524 -0
  451. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  452. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  453. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  454. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  455. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  456. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  457. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  458. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  459. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  460. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  461. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  462. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  463. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  464. sage_wheels/share/singular/LIB/surf.lib +506 -0
  465. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  466. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  467. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  468. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  469. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  470. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  471. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  472. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  473. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  474. sage_wheels/share/singular/LIB/template.lib +116 -0
  475. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  476. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  477. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  478. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  479. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  480. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  481. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  482. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  483. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  484. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  485. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  486. sage_wheels/share/singular/emacs/COPYING +44 -0
  487. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  488. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  489. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  490. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  491. sage_wheels/share/singular/emacs/singular.el +4273 -0
  492. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  493. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,522 @@
1
+ ////////////////////////////////////////////////////////////////////////////
2
+ version="version surfacesignature.lib 4.1.2.0 Feb_2019 "; // $Id: be4a6cf1be9d043464c5d90de1adfeb274d68ee3 $
3
+ category="Singularities";
4
+ info="
5
+ LIBRARY: surfacesignature.lib signature of surface singularity
6
+
7
+ AUTHORS: Gerhard Pfister pfister@mathematik.uni-kl.de
8
+ @* Muhammad Ahsan Banyamin ahsanbanyamin@gmail.com
9
+ @* Stefan Steidel steidel@mathematik.uni-kl.de
10
+
11
+ OVERVIEW:
12
+
13
+ A library for computing the signature of irreducible surface singularity.
14
+ The signature of a surface singularity is defined in [3]. The algorithm we
15
+ use has been proposed in [9].
16
+ Let g in C[x,y] define an isolated curve singularity at 0 in C^2 and
17
+ f:=z^N+g(x,y). The zero-set V:=V(f) in C^3 of f has an isolated singularity
18
+ at 0. For a small e>0 let V_e:=V(f-e) in C^3 be the Milnor fibre of (V,0) and
19
+ s: H_2(V_e,R) x H_2(V_e,R) ---> R be the intersection form (cf. [1],[7]).
20
+ H_2(V_e,R) is an m-dimensional R-vector space, m the Milnor number of (V,0)
21
+ (cf. [1],[4],[5],[6]), and s is a symmetric bilinear form.
22
+ Let sigma(f) be the signature of s, called the signature of the surface
23
+ singularity (V,0). Formulaes to compute the signature are given by Nemethi
24
+ (cf. [8],[9]) and van Doorn, Steenbrink (cf. [2]).
25
+ We have implemented three approaches using Puiseux expansions, the resolution
26
+ of singularities resp. the spectral pairs of the singularity.
27
+
28
+ REFERENCES:
29
+
30
+ [1] Arnold, V.I.; Gusein-Zade, S.M.; Varchenko, A.N.: Singularities of
31
+ Differentiable Mappings. Vol. 1,2, Birkh\"auser (1988).
32
+ [2] van Doorn, M.G.M.; Steenbrink, J.H.M.: A supplement to the monodromy
33
+ theorem. Abh. Math. Sem. Univ. Hamburg 59, 225-233 (1989).
34
+ [3] Durfee, A.H.: The Signature of Smoothings of Complex Surface
35
+ Singularities. Mathematische Annalen 232, 85-98 (1978).
36
+ [4] de Jong, T.; Pfister, G.: Local Analytic Geometry. Vieweg (2000).
37
+ [5] Kerner, D.; Nemethi, A.: The Milnor fibre signature is not semi-continous.
38
+ arXiv:0907.5252 (2009).
39
+ [6] Kulikov, V.S.: Mixed Hodge Structures and Singularities. Cambridge Tracts
40
+ in Mathematics 132, Cambridge University Press (1998).
41
+ [7] Nemethi, A.: The real Seifert form and the spectral pairs of isolated
42
+ hypersurface singularities. Compositio Mathematica 98, 23-41 (1995).
43
+ [8] Nemethi, A.: Dedekind sums and the signature of f(x,y)+z^N. Selecta
44
+ Mathematica, New series, Vol. 4, 361-376 (1998).
45
+ [9] Nemethi, A.: The Signature of f(x,y)+z^$. Proceedings of Real and Complex
46
+ Singularities (C.T.C. Wall's 60th birthday meeting, Liverpool (England),
47
+ August 1996), London Math. Soc. Lecture Notes Series 263, 131--149 (1999).
48
+
49
+ PROCEDURES:
50
+ signatureBrieskorn(a1,a2,a3); signature of singularity x^a1+y^a2+z^a3
51
+ signaturePuiseux(N,f); signature of singularity z^N+f(x,y)=0, f irred.
52
+ signatureNemethi(N,f); signature of singularity z^N+f(x,y)=0
53
+ ";
54
+
55
+ LIB "hnoether.lib";
56
+ LIB "alexpoly.lib";
57
+ LIB "gmssing.lib";
58
+
59
+ ///////////////////////////////////////////////////////////////////////////////
60
+ //------- sigma(z^N + f) in terms of Puiseux pairs of f for f irreducible -----
61
+
62
+ static proc exponentSequence(poly f)
63
+ //=== computes the sequence a_1,...,a_s of exponents as described in [Nemethi]
64
+ //=== using the Puiseux pairs (m_1, n_1),...,(m_s, n_s) of f:
65
+ //=== - a_1 = m_1,
66
+ //=== - a_i = m_i - n_i * (m_[i-1] - n_[i-1] * a_[i-1]).
67
+ //===
68
+ //=== Return: list of two intvecs:
69
+ //=== 1st entry: A = (a_1,...,a_s)
70
+ //=== 2nd entry: N = (n_1,...,n_s)
71
+ {
72
+ def R = basering;
73
+ ring S = 0,(x,y),dp;
74
+ poly f = fetch(R,f);
75
+ list puiseuxPairs = invariants(f);
76
+ setring R;
77
+
78
+ intvec M = puiseuxPairs[1][3];
79
+ intvec N = puiseuxPairs[1][4];
80
+
81
+ int i;
82
+ int a = M[1];
83
+ intvec A = a;
84
+ for(i = 2; i <= size(M); i++)
85
+ {
86
+ a = M[i] - N[i] * (M[i-1] - N[i-1] * a);
87
+ A[size(A)+1] = a;
88
+ }
89
+
90
+ return(list(A,N));
91
+ }
92
+ example
93
+ { "EXAMPLE:"; echo = 2;
94
+ ring r = 0,(x,y),dp;
95
+ exponentSequence(y4+2x3y2+x6+x5y);
96
+ }
97
+
98
+ ///////////////////////////////////////////////////////////////////////////////
99
+
100
+ proc signatureBrieskorn(int a1, int a2, int a3)
101
+ "USAGE: signatureBrieskorn(a1,a2,a3); a1,a2,a3 = integers
102
+ RETURN: signature of Brieskorn singularity x^a1+y^a2+z^a3
103
+ EXAMPLE: example signatureBrieskorn; shows an example
104
+ "
105
+ {
106
+ int a_temp, t, k1, k2, k3, s_t, sigma;
107
+ number s;
108
+
109
+ if(a1 > a2) { a_temp = a1; a1 = a2; a2 = a_temp; }
110
+ if(a2 > a3) { a_temp = a2; a2 = a3; a3 = a_temp; }
111
+ if(a1 > a2) { a_temp = a1; a1 = a2; a2 = a_temp; }
112
+
113
+ for(t = 0; t <= 2; t++)
114
+ {
115
+ s_t = 0;
116
+ for(k1 = 1; k1 <= a1-1; k1++)
117
+ {
118
+ for(k2 = 1; k2 <= a2-1; k2++)
119
+ {
120
+ for(k3 = 1; k3 <= a3-1; k3++)
121
+ {
122
+ s = number(k1)/a1 + number(k2)/a2 + number(k3)/a3;
123
+ if(t < s)
124
+ {
125
+ if(s < t+1)
126
+ {
127
+ s_t = s_t + 1;
128
+ }
129
+ else
130
+ {
131
+ break;
132
+ }
133
+ }
134
+ }
135
+ if(k3 == 1) { break; }
136
+ }
137
+ if(k2 == 1) { break; }
138
+ }
139
+ sigma = sigma + (-1)^t * s_t;
140
+ }
141
+ return(sigma);
142
+ }
143
+ example
144
+ { "EXAMPLE:"; echo = 2;
145
+ ring R = 0,x,dp;
146
+ signatureBrieskorn(11,3,5);
147
+ }
148
+
149
+ ///////////////////////////////////////////////////////////////////////////////
150
+
151
+ proc signaturePuiseux(int N, poly f)
152
+ "USAGE: signaturePuiseux(N,f); N = int, f = irreducible poly in 2 variables
153
+ RETURN: signature of surface singularity defined by z^N + f(x,y) = 0
154
+ EXAMPLE: example signaturePuiseux; shows an example
155
+ "
156
+ {
157
+ int i, d, prod, sigma;
158
+ list L = exponentSequence(f);
159
+ int s = size(L[2]);
160
+
161
+ if(s == 1)
162
+ {
163
+ return(signatureBrieskorn(L[1][1], L[2][1], N));
164
+ }
165
+
166
+ prod = 1;
167
+ sigma = signatureBrieskorn(L[1][s], L[2][s], N);
168
+ for(i = s - 1; i >= 1; i--)
169
+ {
170
+ prod = prod * L[2][i+1];
171
+ d = gcd(N, prod);
172
+ sigma = sigma + d * signatureBrieskorn(L[1][i], L[2][i], N div d);
173
+ }
174
+
175
+ return(sigma);
176
+ }
177
+ example
178
+ { "EXAMPLE:"; echo = 2;
179
+ ring r = 0,(x,y),dp;
180
+ int N = 3;
181
+ poly f = x15-21x14+8x13y-6x13-16x12y+20x11y2-x12+8x11y-36x10y2
182
+ +24x9y3+4x9y2-16x8y3+26x7y4-6x6y4+8x5y5+4x3y6-y8;
183
+ signaturePuiseux(N,f);
184
+ }
185
+
186
+ ///////////////////////////////////////////////////////////////////////////////
187
+ //------- sigma(z^N + f) in terms of the embedded resolution graph of f -------
188
+
189
+ static proc dedekindSum(number b, number c, int a)
190
+ {
191
+ number s,d,e;
192
+ int k;
193
+ for(k=1;k<=a-1;k++)
194
+ {
195
+ d=bigint(k*b) mod a;
196
+ e=bigint(k*c) mod a;
197
+ if(d*e!=0)
198
+ {
199
+ s=s+(d/a-1/2)*(e/a-1/2);
200
+ }
201
+ }
202
+ return(s);
203
+ }
204
+
205
+ ///////////////////////////////////////////////////////////////////////////////
206
+
207
+ static proc isRupture(intvec v)
208
+ //=== decides whether the exceptional divisor given by the row v in the
209
+ //=== incidence matrix of the resolution graph intersects at least 3 other
210
+ //=== divisors
211
+ {
212
+ int i,j;
213
+ for(i=1;i<=size(v);i++)
214
+ {
215
+ if(v[i]<0){return(0);}
216
+ if(v[i]!=0){j++;}
217
+ }
218
+ return(j>=4);
219
+ }
220
+
221
+ ///////////////////////////////////////////////////////////////////////////////
222
+
223
+ static proc sumExcepDiv(intmat N, list M, int K, int n)
224
+ //=== computes part of the formulae for eta(g,K), g defining an
225
+ //=== isolated curve singularity
226
+ //=== N the incidence matrix of the resolution graph of g
227
+ //=== M list of total multiplicities
228
+ //=== n = nrows(N)
229
+ {
230
+ int i,j,m,d;
231
+ for(i=1;i<=n;i++)
232
+ {
233
+ if(N[i,i]>0)
234
+ {
235
+ m=gcd(K,M[i]);
236
+ for(j=1;j<=n;j++)
237
+ {
238
+ if((i!=j)&&(N[i,j]!=0))
239
+ {
240
+ if(m==1){break;}
241
+ m=gcd(m,M[j]);
242
+ }
243
+ }
244
+ d=d+m-1;
245
+ }
246
+ }
247
+ return(d);
248
+ }
249
+
250
+ ///////////////////////////////////////////////////////////////////////////////
251
+
252
+ static proc sumEdges(intmat N, list M, int K, int n)
253
+ //=== computes part of the formulae for eta(g,K), g defining an
254
+ //=== isolated curve singularity
255
+ //=== N the incidence matrix of the resolution graph of g
256
+ //=== M list of total multiplicities
257
+ //=== n = nrows(N)
258
+ {
259
+ int i,j,d;
260
+ for(i=1;i<=n-1;i++)
261
+ {
262
+ for(j=i+1;j<=n;j++)
263
+ {
264
+ if(N[i,j]==1)
265
+ {
266
+ d=d+gcd(K,gcd(M[i],M[j]))-1;
267
+ }
268
+ }
269
+ }
270
+ return(d);
271
+ }
272
+
273
+ ///////////////////////////////////////////////////////////////////////////////
274
+
275
+ static proc etaRes(list L, int K)
276
+ //=== L total multiplicities
277
+ //=== eta-invariant in terms of the embedded resolution graph of f
278
+ {
279
+ int i,j,d;
280
+ intvec v;
281
+ number e;
282
+ intmat N = L[1]; // incidence matrix of the resolution graph
283
+ int n = ncols(L[1]); // number of vertices in the resolution graph
284
+ int a = ncols(L[2]); // number of branches
285
+ list M; // total multiplicities
286
+ for(i=1;i<=n;i++)
287
+ {
288
+ d=L[2][i,1];
289
+ for(j=2;j<=a;j++)
290
+ {
291
+ d=d+L[2][i,j];
292
+ }
293
+ if(d==0){d=1;}
294
+ M[i]=d;
295
+ }
296
+ for(i=1;i<=n;i++)
297
+ {
298
+ v=N[i,1..n];
299
+ if(isRupture(v)) // the divisor intersects more then two others
300
+ {
301
+ for(j=1;j<=n;j++)
302
+ {
303
+ if((i!=j)&&(v[j]!=0))
304
+ {
305
+ e=e+dedekindSum(M[j],K,M[i]);
306
+ }
307
+ }
308
+ }
309
+ }
310
+ if(a==1)
311
+ {
312
+ //the irreducible case
313
+ return(4*e);
314
+ }
315
+ return(a-1+4*e+sumEdges(N,M,K,n)-sumExcepDiv(N,M,K,n));
316
+ }
317
+
318
+ ///////////////////////////////////////////////////////////////////////////////
319
+
320
+ static proc signatureRes(int N, poly f)
321
+ //=== computes signature of surface singularity defined by z^N + f(x,y) = 0
322
+ //=== in terms of the embedded resolution graph of f
323
+ {
324
+ list L = totalmultiplicities(f);
325
+ return(etaRes(L,N) - N*etaRes(L,1));
326
+ }
327
+
328
+ ///////////////////////////////////////////////////////////////////////////////
329
+ //------------ sigma(z^N + f) in terms of the spectral pairs of f -------------
330
+
331
+ static proc fracPart(number n)
332
+ //=== computes the fractional part n2 of n
333
+ //=== i.e. n2 is not in Z but n-n2 is in Z
334
+ {
335
+ number a,b;
336
+ bigint r;
337
+ a = numerator(n);
338
+ b = denominator(n);
339
+ bigint z = bigint(a);
340
+ bigint y = bigint(b);
341
+ r = z mod y;
342
+ bigint q = (z-r) div y;
343
+ number n1 = number(q);
344
+ number n2 = number(n-n1);
345
+ return(n2);
346
+ }
347
+
348
+ ///////////////////////////////////////////////////////////////////////////////
349
+
350
+ static proc etaSpec(list L, int N)
351
+ //=== L spectral numbers
352
+ //=== eta-invariant in terms of the spectral pairs of f
353
+ {
354
+ int i;
355
+ number e, h;
356
+
357
+ int n = ncols(L[1]);
358
+
359
+ if((n mod 2) == 0)
360
+ // 0 is not a spectral number, thus f is irreducible
361
+ {
362
+ for(i = n div 2+1; i <= n; i++)
363
+ {
364
+ e = e + (1 - 2 * fracPart(N * number(L[1][i]))) * L[3][i];
365
+ }
366
+ return(2*e);
367
+ }
368
+ else
369
+ // 0 is a spectral number, thus f is reducible
370
+ {
371
+ // sum of Hodge numbers in eta function
372
+ for(i = 1; i <= n; i++)
373
+ {
374
+ if((L[2][i] == 2) && ((denominator(leadcoef(N*L[1][i]))==1)
375
+ ||(denominator(leadcoef(N*L[1][i]))==-1)))
376
+ {
377
+ h = h + L[3][i];
378
+ }
379
+ }
380
+
381
+ // summand coming from spectral number 0 in eta function
382
+ h = h + L[3][(n+1) div 2];
383
+
384
+ // sum coming from non-zero spectral numbers in eta function
385
+ for(i = (n+3) div 2; i <= n; i++)
386
+ {
387
+ if(!((denominator(leadcoef(N*L[1][i]))==1)
388
+ ||(denominator(leadcoef(N*L[1][i]))==-1)))
389
+ {
390
+ e = e + (1 - 2 * fracPart(N * number(L[1][i]))) * L[3][i];
391
+ }
392
+ }
393
+ return(h + 2*e);
394
+ }
395
+ }
396
+
397
+ ///////////////////////////////////////////////////////////////////////////////
398
+
399
+ static proc signatureSpec(int N, poly f)
400
+ //=== computes signature of surface singularity defined by z^N + f(x,y) = 0
401
+ //=== in terms of the spectral pairs of f
402
+ {
403
+ def R = basering;
404
+ def Rds = changeord(list(list("ds",1:nvars(basering))));
405
+ setring Rds;
406
+ poly f = imap(R,f);
407
+ list L = sppairs(f);
408
+ setring R;
409
+ list L = imap(Rds,L);
410
+ return(etaSpec(L,N) - N*etaSpec(L,1));
411
+ }
412
+
413
+ ///////////////////////////////////////////////////////////////////////////////
414
+ //----------------- Consolidation of the two recent variants ------------------
415
+
416
+ proc signatureNemethi(int N, poly f, list #)
417
+ "USAGE: signatureNemethi(N,f); N = integer, f = reduced poly in 2 variables,
418
+ # empty or 1,2,3
419
+ @* - if #[1] = 1 then resolution of singularity is used
420
+ @* - if #[1] = 2 then spectral pairs are used
421
+ @* - if # is empty then both upper variants are used in parallel and the
422
+ @* fastest returns the result
423
+ RETURN: signature of surface singularity defined by z^N + f(x,y) = 0
424
+ REMARK: computes the signature of some special surface singularities
425
+ EXAMPLE: example signatureNemethi; shows an example
426
+ "
427
+ {
428
+ if(size(#) == 0)
429
+ {
430
+ link l(1) = "ssi:fork"; open(l(1));
431
+ link l(2) = "ssi:fork"; open(l(2));
432
+ list l = list(l(1),l(2));
433
+ write(l(1), quote(signatureRes(N,f)));
434
+ write(l(2), quote(signatureSpec(N,f)));
435
+ int winner = waitfirst(l);
436
+ number sigma = read(l(winner));
437
+ close(l(1));
438
+ close(l(2));
439
+ if(printlevel >= 1)
440
+ {
441
+ if(winner == 1) { "Resolution of singularity has been used."; }
442
+ if(winner == 2) { "Spectral pairs have been used."; }
443
+ }
444
+ return(sigma);
445
+ }
446
+
447
+ if(#[1] == 1)
448
+ {
449
+ return(signatureRes(N,f));
450
+ }
451
+
452
+ if(#[1] == 2)
453
+ {
454
+ return(signatureSpec(N,f));
455
+ }
456
+ }
457
+ example
458
+ { "EXAMPLE:"; echo = 2;
459
+ ring r = 0,(x,y),dp;
460
+ int N = 3;
461
+ poly f = x15-21x14+8x13y-6x13-16x12y+20x11y2-x12+8x11y-36x10y2
462
+ +24x9y3+4x9y2-16x8y3+26x7y4-6x6y4+8x5y5+4x3y6-y8;
463
+ signatureNemethi(N,f,1);
464
+ printlevel = 1;
465
+ signatureNemethi(N,f);
466
+ }
467
+
468
+ ///////////////////////////////////////////////////////////////////////////////
469
+
470
+ /*
471
+ Further examples
472
+
473
+ ring r = 0,(x,y),dp;
474
+ int N;
475
+ poly f,g,g1,g2,g3;
476
+
477
+
478
+ // irreducible polynomials
479
+
480
+ N = 5;
481
+ f = x15-21x14+8x13y-6x13-16x12y+20x11y2-x12+8x11y-36x10y2
482
+ +24x9y3+4x9y2-16x8y3+26x7y4-6x6y4+8x5y5+4x3y6-y8;
483
+ g = f^3 + x17y17;
484
+
485
+ N = 6;
486
+ f = y4+2x3y2+x6+x5y;
487
+ g1 = f^2 + x5y5;
488
+ g2 = f^3 + x11y11;
489
+ g3 = f^3 + x17y17;
490
+
491
+ N = 7;
492
+ f = x5+y11;
493
+ g1 = f^3 + x11y11;
494
+ g2 = f^3 + x17y17;
495
+
496
+ N = 6;
497
+ // k0 = 30, k1 = 35, k2 = 71
498
+ f = x71+6x65+15x59-630x52y6+20x53+6230x46y6+910x39y12+15x47
499
+ -7530x40y6+14955x33y12-285x26y18+6x41+1230x34y6+4680x27y12
500
+ +1830x20y18+30x13y24+x35-5x28y6+10x21y12-10x14y18+5x7y24-y30;
501
+
502
+ // k0 = 16, k1 = 24, k2 = 28, k3 = 30, k4 = 31
503
+ f = x31-781x30+16x29y-3010x29-2464x28y+104x27y2-2805x28-7024x27y
504
+ -5352x26y2+368x25y3+366x27-7136x26y-984x25y2-8000x24y3
505
+ +836x23y4+34x26-320x25y-6464x24y2+6560x23y3-8812x22y4+1392x21y5
506
+ -12x25+256x24y-1296x23y2-1536x22y3+4416x21y4-8864x20y5+1752x19y6
507
+ -x24+16x23y-88x22y2-16x21y3-404x20y4+3056x19y5-6872x18y6+1648x17y7
508
+ +8x21y2-96x20y3+524x19y4-1472x18y5+3464x17y6-3808x16y7+1290x15y8
509
+ -28x18y4+240x17y5-976x16y6+2208x15y7-2494x14y8+816x13y9+56x15y6
510
+ -320x14y7+844x13y8-1216x12y9+440x11y10-70x12y8+240x11y9-344x10y10
511
+ +240x9y11+56x9y10-96x8y11+52x7y12-28x6y12+16x5y13+8x3y14-y16;
512
+
513
+
514
+ // reducible polynomials
515
+
516
+ N = 12;
517
+ f = ((y2-x3)^2 - 4x5y - x7)*(x2-y3);
518
+
519
+ f = 2x3y3-2y5+x4-xy2;
520
+
521
+ f = -x3y3+x6y+xy6-x4y4;
522
+ */