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,667 @@
1
+ ////////////////////////////////////////////////////////////////////////////////
2
+ version="version curveInv.lib 4.1.2.0 Feb_2019 "; // $Id: 007001254d8bbfef7b41cafe0632ea3393a3b210 $
3
+ category="Algebraic geometry";
4
+ info="
5
+ LIBRARY: curveInv.lib A library for computing invariants of curves
6
+ AUTHOR: Peter Chini, chini@rhrk.uni-kl.de
7
+
8
+ OVERVIEW:
9
+ This library provides a collection of procedures for computing invariants
10
+ of curve singularities. Invariants that can be computed are:
11
+ - the delta invariant
12
+ - the multiplicity of the conductor: the length of Normalization(R)/C,
13
+ where C denotes the conductor
14
+ - the Deligne number
15
+ - the colength of derivations along the normalization - the length of
16
+ Der(Normalization(R/I)) / R/I
17
+
18
+ In addition, it is possible to compute the conductor of a ring S = R/I,
19
+ where R is a (localized) polynomial ring.
20
+
21
+ THEORY: Computing the Deligne number of curve singularities and an algorithmic framework for
22
+ differential algebras in SINGULAR;
23
+ Chapter 5 - Master's Thesis of Peter Chini - August 2015
24
+
25
+ PROCEDURES:
26
+ curveDeltaInv(ideal); computes the delta invariant of R/I for a given ideal I
27
+ curveConductorMult(ideal); returns the multiplicity of the conductor of R/I
28
+ curveDeligneNumber(ideal); computes the Deligne number of R/I
29
+ curveColengthDerivations(ideal); returns the colength of derivations,
30
+ the length of Der(Normalization(R/I))/Der(R/I)
31
+
32
+ KEYWORDS: curve singularity;invariants;deligne number
33
+ ";
34
+
35
+ LIB "homolog.lib";
36
+ LIB "normal.lib";
37
+
38
+ ////////////////////////////////////////////////////////////////////////////////////////////////
39
+ ////////////////////////////////////////////////////////////////////////////////////////////////
40
+ // Computation of invariants //
41
+ ////////////////////////////////////////////////////////////////////////////////////////////////
42
+ ////////////////////////////////////////////////////////////////////////////////////////////////
43
+
44
+
45
+ ////////////////////////////////////////////////////////////////////////////////////////////////
46
+ //-------------------------------------- Delta invariant -------------------------------------//
47
+ ////////////////////////////////////////////////////////////////////////////////////////////////
48
+
49
+
50
+ proc curveDeltaInv(ideal I, list #)
51
+ "USAGE: curveDeltaInv(I); I ideal
52
+ ASSUME: I is a radical ideal, dim(R/I) = 1
53
+ RETURN: the delta invariant of R/I
54
+ NOTE: - output -1 means: delta invariant is infinite
55
+ - the optional parameter can be used if the normalization has already
56
+ been computed. If a list L contains the output of the procedure
57
+ normal (with options prim, wd and usering if the ring has a mixed ordering),
58
+ apply curveDeltaInv(I,L)
59
+ KEYWORDS: delta invariant; normalization
60
+ SEE ALSO: curveConductorMult; curveDeligneNumber
61
+ EXAMPLE: example curveDeltaInv; shows an example"
62
+ {
63
+
64
+ if(size(#) > 0){
65
+ list norma = #;
66
+ }else{
67
+ // Compute the normalization with delta invariants
68
+ list norma = normal(I,"useRing","prim","wd");
69
+ }
70
+
71
+ // Pick the total delta invariant
72
+ int delt = norma[3][2];
73
+ return(delt);
74
+
75
+ }
76
+ example
77
+ {
78
+ "EXAMPLE:"; echo = 2;
79
+ ring R = 0,(x,y,z),ds;
80
+
81
+ ////////////////////////////
82
+ // Finite delta invariant //
83
+ ////////////////////////////
84
+
85
+ ideal I = x2y-y2z,x2-y2+z2;
86
+ curveDeltaInv(radical(I));
87
+
88
+ //////////////////////////////
89
+ // Infinite delta invariant //
90
+ //////////////////////////////
91
+
92
+ ideal J = xyz;
93
+ curveDeltaInv(radical(J));
94
+ }
95
+
96
+
97
+ ////////////////////////////////////////////////////////////////////////////////////////////////
98
+ //-------------------------------- Conductor and multiplicity --------------------------------//
99
+ ////////////////////////////////////////////////////////////////////////////////////////////////
100
+
101
+
102
+
103
+ static proc conductorMinPrime(def S)
104
+ "USAGE: conductorMinPrime(S); S ring
105
+ ASSUME: S is a polynomial ring with ideal norid and S/norid is the normalization of R/P,
106
+ where P is a minimal prime of I
107
+ RETURN: the ideal P
108
+ REMARKS: The algorithm computes norid intersect R - it eliminates the new
109
+ variables that were added by the command normal.
110
+ NOTE: the algorithm is for interior use only. We apply it to avoid a second computation
111
+ of the minimal primes
112
+ KEYWORDS: minimal primes; normalization
113
+ "
114
+ {
115
+ //SEE ALSO: conductorIdealIntersect
116
+
117
+ // Variables of basering as product
118
+ int n = nvars(basering);
119
+ int i;
120
+ poly var_base = 1;
121
+ for(i = 1; i <= n; i++){
122
+ var_base = var_base*var(i);
123
+ }
124
+
125
+ // Switch to normalization
126
+ def savering = basering;
127
+ setring S;
128
+ poly var_base = imap(savering,var_base);
129
+
130
+ // Variables of S as product
131
+ poly var_ext = 1;
132
+ n = nvars(basering);
133
+ for(i = 1; i <= n ; i++){
134
+ var_ext = var_ext*var(i);
135
+ }
136
+
137
+ // Variables to eliminate
138
+ poly var_elim = var_ext/var_base;
139
+
140
+ // Compute norid intersect basering = minimal prime
141
+ ideal min_prime = eliminate(norid,var_elim);
142
+
143
+ // Switch to R and return
144
+ setring savering;
145
+ ideal min_prime = imap(S,min_prime);
146
+ return(min_prime);
147
+
148
+ }
149
+
150
+
151
+ ////////////////////////////////////////////////////////////////////////////////////////////////
152
+
153
+
154
+ static proc conductorIdealIntersect(list id, int miss)
155
+ "USAGE: conductorIdealIntersect(id,miss); id list, miss int
156
+ ASSUME: id is a list of ideals
157
+ RETURN: the intersection of all ideals in id except the one chosen via miss
158
+ NOTE: - the index can be chosen outside the list
159
+ - the empty intersection is the whole ring
160
+ KEYWORDS: intersection"
161
+ {
162
+
163
+ int n = size(id);
164
+ ideal in_sect = 1;
165
+ int i;
166
+
167
+ // Intersect ideals
168
+ for(i = 1; i <= n; i++){
169
+ if(i != miss){
170
+ in_sect = intersect(in_sect,id[i]);
171
+ }
172
+ }
173
+
174
+ return(in_sect);
175
+
176
+ }
177
+
178
+
179
+ ////////////////////////////////////////////////////////////////////////////////////////////////
180
+
181
+
182
+ proc curveConductorMult(ideal I, list #)
183
+ "USAGE: curveConductorMult(I); I ideal
184
+ ASSUME: I is a radical ideal, dim(R/I) = 1
185
+ RETURN: the multiplicity of the conductor
186
+ NOTE: the optional parameter can be used if the normalization has already
187
+ been computed. If a list L contains the output of the procedure
188
+ normal (with options prim, wd and usering if the ring has a mixed ordering),
189
+ apply curveConductorMult(I,L)
190
+ KEYWORDS: conductor; multiplicity
191
+ SEE ALSO: normalConductor
192
+ EXAMPLE: example curveConductorMult; shows an example"
193
+ {
194
+
195
+ if(size(#) > 0){
196
+ list norma = #;
197
+ }else{
198
+ // Compute the normalization with delta invariants
199
+ list norma = normal(I,"useRing","prim","wd");
200
+ }
201
+
202
+ // delta invariant
203
+ int delta = curveDeltaInv(I,norma);
204
+ // If the delta invariant is infinite, the conductor multiplicity is as well
205
+ if(delta == -1){
206
+ return(-1);
207
+ }
208
+
209
+ // Conductor
210
+ ideal C = normalConductor(I,norma);
211
+ int c_dim = vdim(std(C));
212
+ if(c_dim == -1){
213
+ return(-1);
214
+ }
215
+
216
+ // Return conductor multiplicity
217
+ return(vdim(std(C)) + delta);
218
+
219
+ }
220
+ example
221
+ {
222
+ "EXAMPLE:"; echo = 2;
223
+
224
+ //////////////////////////////////////////////
225
+ // Mutltiplicity of the conductor of curves //
226
+ //////////////////////////////////////////////
227
+
228
+ ring R = 0,(x,y,z),ds;
229
+
230
+ // Example 1:
231
+ ideal I = x2-y4z,z3y2+xy2;
232
+ I = std(radical(I));
233
+ curveConductorMult(I);
234
+
235
+ // Example 2:
236
+ ideal I = x*(y+z)^3 - y3, x2y2 + z5;
237
+ I = std(radical(I));
238
+ curveConductorMult(I);
239
+
240
+ kill R;
241
+
242
+ ////////////////////////////////////////////////////////
243
+ // Mutltiplicity of the conductor of Gorenstein curve //
244
+ ////////////////////////////////////////////////////////
245
+
246
+ ring R = 0,(x,y),ds;
247
+ ideal I = xy;
248
+
249
+ // In such a case, the conductor multiplicity c satisfies: c = 2*delta
250
+ // Delta invariant:
251
+ curveDeltaInv(I);
252
+ // Conductor Multiplicity:
253
+ curveConductorMult(I);
254
+ }
255
+
256
+
257
+ ////////////////////////////////////////////////////////////////////////////////////////////////
258
+ //-------------------------------------- Deligne number --------------------------------------//
259
+ ////////////////////////////////////////////////////////////////////////////////////////////////
260
+
261
+
262
+ proc curveDeligneNumber(ideal I, list #)
263
+ "USAGE: curveDeligneNumber(I); I ideal
264
+ ASSUME: I is a radical ideal, dim(R/I) = 1
265
+ RETURN: the Deligne number of R/I
266
+ REMARKS: The Deligne number e satisfies by definition: e = 3delta - m.
267
+ So the algorithm splits the computation into two parts: one part computes the delta
268
+ invariant, the other part the colength of derivations m.
269
+ NOTE: the optional parameter can be used if the normalization has already
270
+ been computed. If a list L contains the output of the procedure
271
+ normal (with options prim, wd and usering if the ring has a mixed ordering),
272
+ apply curveDeligneNumber(I,L)
273
+ KEYWORDS: deligne number; invariant
274
+ SEE ALSO: curveColengthDerivations, curveDeltaInv
275
+ EXAMPLE: example curveDeligneNumber; shows an example"
276
+ {
277
+
278
+ if(size(#) > 0){
279
+ list norma = #;
280
+ }else{
281
+ // Compute the normalization with delta invariants
282
+ list norma = normal(I,"useRing","prim","wd");
283
+ }
284
+
285
+ int delt = curveDeltaInv(I,norma);
286
+ int m = curveColengthDerivations(I,norma);
287
+ return(3*delt - m);
288
+
289
+ }
290
+ example
291
+ {
292
+ "EXAMPLE:"; echo = 2;
293
+
294
+ //////////////////////////////
295
+ // Deligne number of curves //
296
+ //////////////////////////////
297
+
298
+ // Example 1:
299
+ ring R = 0,(x,y,z),ds;
300
+ ideal I = x2-y4z,z3y2+xy2;
301
+ I = std(radical(I));
302
+ curveDeligneNumber(I);
303
+
304
+ // Example 2:
305
+ ring S = 0,(x,y),ds;
306
+ ideal I = (x+y)*(x2-y3);
307
+ curveDeligneNumber(I);
308
+
309
+ // Example 3:
310
+ ideal J = (x2-y3)*(x2+y2)*(x-y);
311
+ curveDeligneNumber(J);
312
+ // Let us also compute the milnor number of this complete intersection:
313
+ milnor(J);
314
+
315
+ // We see that the Milnor number is bigger than the Deligne number. Hence, this
316
+ // curve cannot be quasi homogeneous. This can also be verified by Saitos criterion:
317
+ reduce(J[1],std(jacob(J[1])));
318
+ }
319
+
320
+
321
+ ////////////////////////////////////////////////////////////////////////////////////////////////
322
+
323
+
324
+ proc curveColengthDerivations(ideal I, list #)
325
+ "USAGE: curveColengthDerivations(I); I ideal
326
+ ASSUME: I is a radical ideal
327
+ RETURN: the colength of derivations of R/I
328
+ REMARKS: The procedure goes through all branches and computes the colength of
329
+ derivations there. Then the d-dimension of the minimal primes is computed.
330
+ After that, everything is summed up.
331
+ NOTE: the optional parameter can be used if the normalization has already
332
+ been computed. If a list L contains the output of the procedure
333
+ normal (with options prim, wd and usering if the ring has a mixed ordering),
334
+ apply curveColengthDerivations(I,L)
335
+ KEYWORDS: deligne number; invariants; colength of derivations
336
+ EXAMPLE: example curveColengthDerivations; shows an example"
337
+ {
338
+ //SEE ALSO: curveColengthDerivationsComp
339
+
340
+ if(size(#) > 0){
341
+ list norma = #;
342
+ }else{
343
+ // Compute the normalization with delta invariants
344
+ list norma = normal(I,"useRing","prim","wd");
345
+ }
346
+
347
+ int r = size(norma[1]);
348
+ int i,j;
349
+ ideal U,A,B;
350
+ module Der_P;
351
+ def S;
352
+ def savering = basering;
353
+
354
+ // List of minimal primes and their derivation modules
355
+ list min_prime;
356
+ list der_mod;
357
+
358
+ // Colength of derivations of any branch, m_delta and total colength of derivations
359
+ int m_i;
360
+ int m_delta;
361
+ int ext_number;
362
+
363
+ // Go through the irreducible components and compute thecolength of derivations m_i
364
+ for(i = 1; i <= r; i++){
365
+ // Derivations preserving the minimal primes
366
+ S = norma[1][i];
367
+ U = norma[2][i];
368
+
369
+ min_prime[i] = conductorMinPrime(S);
370
+ der_mod[i] = find_der(min_prime[i]);
371
+ Der_P = der_mod[i];
372
+
373
+ // Switch to normalization of R/P and compute colength of derivations
374
+ setring S;
375
+ ideal U = imap(savering,U);
376
+ module Der_P = imap(savering,Der_P);
377
+
378
+ m_i = curveColengthDerivationsComp(Der_P,U,norid);
379
+
380
+ // Add colength of derivations of this branch to total colength of derivations
381
+ ext_number = ext_number + m_i;
382
+ setring savering;
383
+ }
384
+
385
+ // Now compute m_delta via curveDdim
386
+ A = min_prime[1];
387
+ B = std(1);
388
+
389
+ for(i = 2; i <= r; i++){
390
+ A = intersect(A,B);
391
+ B = min_prime[i];
392
+ m_delta = m_delta + curveDdim(A,find_der(A),B,find_der(B));
393
+ }
394
+
395
+ // Add this to the colength of derivations
396
+ ext_number = ext_number + m_delta;
397
+ return(ext_number);
398
+
399
+ }
400
+ example
401
+ {
402
+ "EXAMPLE:"; echo = 2;
403
+
404
+ ///////////////////////////////////////
405
+ // colength of derivations of curves //
406
+ ///////////////////////////////////////
407
+
408
+ // Example 1:
409
+ ring R = 0,(x,y,z),ds;
410
+ ideal I = x2-y4z,z3y2+xy2;
411
+ I = std(radical(I));
412
+ curveColengthDerivations(I);
413
+
414
+ // Example 2:
415
+ ring S = 0,(x,y),ds;
416
+ ideal I = (x+y)*(x2-y3);
417
+ curveColengthDerivations(I);
418
+
419
+ // Example 3:
420
+ ideal J = (x2-y3)*(x2+y2)*(x-y);
421
+ curveColengthDerivations(J);
422
+ }
423
+
424
+
425
+ ////////////////////////////////////////////////////////////////////////////////////////////////
426
+
427
+
428
+ static proc curveColengthDerivationsComp(module Der_P, ideal U, ideal relid)
429
+ "USAGE: curveColengthDerivationsComp(Der_P,U,relid); Der_P module, U ideal, relid ideal
430
+ ASSUME: - the basering is the normalization of R/P, where P is a prime
431
+ - Der_P is the module of P-preserving derivations
432
+ - U contains the generators of the normalization of R/P
433
+ - relid is the ideal of relations that hold in the normalization of R/P
434
+ RETURN: the colength of derivations of R/P
435
+ NOTE: the procedure is for interior use only - it is part of the computation of
436
+ the total colength of derivations
437
+ KEYWORDS: colength of derivations
438
+ SEE ALSO: curveAdjustModule, curveExtDerModule"
439
+ {
440
+
441
+ int k;
442
+
443
+ // Adjust the generators of Der_P to the new variables T(1),...,T(k),x(1),...,x(n)
444
+ // if there are new variables - check number of blocks
445
+ if(size(ring_list(basering)[3]) >= 3){
446
+ k = size(ring_list(basering)[3][1][2]);
447
+ Der_P = curveAdjustModule(Der_P,k);
448
+ }
449
+
450
+ // Extend the derivation module to the normalization
451
+ Der_P = curveExtDerModule(Der_P,U,relid);
452
+
453
+ // Derivations preserving the relation ideal
454
+ module Der_relid = find_der(relid);
455
+
456
+ // Quotient module with relations given by relid
457
+ Der_P = Der_P + relid*freemodule(nvars(basering));
458
+ module quotient_mod = modulo(Der_relid,Der_P);
459
+ k = vdim(std(quotient_mod));
460
+
461
+ if(k == -1){
462
+ ERROR("Colength of derivations not finite !");
463
+ }
464
+
465
+ return(k);
466
+
467
+ }
468
+
469
+
470
+ ////////////////////////////////////////////////////////////////////////////////////////////////
471
+
472
+
473
+ static proc curveExtDerModule(module Der_P, ideal U, ideal relid)
474
+ "USAGE: curveExtDerModule(Der_P,U,relid); Der_P module, U ideal, relid ideal
475
+ ASSUME: - the basering is the normalization of R/P, where P is prime
476
+ - Der_P is the module of P-preserving derivations (with adjusted generators)
477
+ - U contains the generators of the normalization of R/P
478
+ - relid is the ideal of relations that hold in the normalization of R/P
479
+ RETURN: The derivation module lifted to the normalization
480
+ REMARKS: the generators of Der_P are extended via the quotient rule
481
+ NOTE: the procedure is for interior use only - it is part of the computation of
482
+ the total colength of derivations
483
+ KEYWORDS: derivations; extend derivations
484
+ "
485
+ {
486
+ //SEE ALSO: curveColengthDerivationsComp
487
+
488
+ int k = size(Der_P);
489
+ int n = size(U) - 1;
490
+ int i,j;
491
+
492
+ module M_ext;
493
+ vector delt;
494
+ vector delt_ext;
495
+
496
+ poly g = (U[n+1])^2;
497
+ poly f;
498
+ poly Un = 1;
499
+ matrix D[k][n];
500
+ matrix G[k][n];
501
+ list temp_div;
502
+
503
+ for(i = 1; i <= k; i++){
504
+ delt = Der_P[i];
505
+
506
+ // Extend to new variables by quotient rule
507
+ for(j = 1; j <= n; j++){
508
+ f = vecDerivationEval(delt,U[j])*U[n+1] - vecDerivationEval(delt,U[n+1])*U[j];
509
+
510
+ // Division
511
+ temp_div = division(f,ideal(g) + relid);
512
+
513
+ // Units
514
+ D[i,j] = temp_div[3][1,1];
515
+ // Unit Un is product of all D[i][j]
516
+ Un = Un*D[i,j];
517
+
518
+ // Factor of dividing by g
519
+ G[i,j] = temp_div[1][1,1];
520
+ }
521
+ }
522
+
523
+ // Extension of the generating derivations
524
+ for(i = 1; i <= k; i++){
525
+ delt_ext = Un*Der_P[i];
526
+
527
+ // Now add the images of the new variables multiplied by the units
528
+ for(j = 1; j <= n; j++){
529
+ delt_ext = delt_ext + (Un / D[i,j])*G[i,j]*gen(j);
530
+ }
531
+
532
+ M_ext[i] = delt_ext;
533
+ }
534
+
535
+ return(M_ext);
536
+
537
+ }
538
+
539
+
540
+ ////////////////////////////////////////////////////////////////////////////////////////////////
541
+
542
+
543
+ static proc curveAdjustModule(module M, int k)
544
+ "USAGE: curveAdjustModule(M,k); M module, k int
545
+ RETURN: the module M with shifted (by k) generators
546
+ NOTE: the procedure is for interior use only - it is part of the computation of
547
+ the total colength of derivations
548
+ KEYWORDS: adjust module
549
+ "
550
+ {
551
+ //SEE ALSO: curveColengthDerivationsComp"
552
+
553
+ module M_copy = M;
554
+ int n = size(M);
555
+ int vs,i,j;
556
+ vector v,w;
557
+
558
+ // Adjust dimension of generators
559
+ for(i = 1; i <= n; i++){
560
+ v = M_copy[i];
561
+ vs = nrows(v);
562
+
563
+ for(j = 1; j <= vs; j++){
564
+ w = w + v[j]*gen(j+k);
565
+ }
566
+
567
+ M[i] = w;
568
+ w = 0;
569
+ }
570
+
571
+ return(M);
572
+
573
+ }
574
+
575
+
576
+ ////////////////////////////////////////////////////////////////////////////////////////////////
577
+
578
+
579
+ static proc curveDdim(ideal I, module DI, ideal J, module DJ)
580
+ "USAGE: curveDdim(I,DI,J,DJ); I,J ideal, DI,DJ module
581
+ ASSUME: DI are the I-preserving derivations and DJ are the J-preserving derivations
582
+ RETURN: d(I,J) = dim_k (DI + DJ / (I+J)*Der(R))
583
+ NOTE: the procedure is part of the computations of the colength of derivations.
584
+ It computes the d-dimension
585
+ KEYWORDS: derivation module; logarithmic derivations
586
+ SEE ALSO: curveColengthDerivations"
587
+ {
588
+
589
+ module M = DI+DJ;
590
+ module N = (I+J)*freemodule(nvars(basering));
591
+ module H = modulo(M,N);
592
+ int k = vdim(std(H));
593
+
594
+ if(k == -1){
595
+ ERROR("d-dimension not finite !");
596
+ }
597
+
598
+ return(k);
599
+
600
+ }
601
+
602
+
603
+ ////////////////////////////////////////////////////////////////////////////////////////////////
604
+
605
+
606
+ static proc vecDerivationEval(vector delt, poly f)
607
+ "USAGE: vecDerivationEval(delt,f); delt vector, f poly
608
+ ASSUME: delt does not have more rows than the number of variables in the basering
609
+ RETURN: the image of f under delt, if we consider delt as derivation
610
+ REMARKS: We identify derivations as vectors
611
+ NOTE: - the procedure is for interior use only - it is part of the computation of
612
+ the total colength of derivations
613
+ - it is used to apply the quotient rule
614
+ KEYWORDS: derivation
615
+ SEE ALSO: curveExtDerModule"
616
+ {
617
+
618
+ int n = nrows(delt);
619
+ int i;
620
+ poly eval_;
621
+
622
+ for(i = 1; i <= n; i++){
623
+ eval_ = eval_ + delt[i]*diff(f,var(i));
624
+ }
625
+
626
+ return(eval_);
627
+
628
+ }
629
+
630
+
631
+ ////////////////////////////////////////////////////////////////////////////////////////////////
632
+
633
+
634
+ static proc find_der(ideal I)
635
+ "USAGE: find_der(I); I ideal
636
+ RETURN: generators of the module of logarithmic derivations
637
+ REMARK: Algorithm by R. Epure - Homogeneity and Derivations on Analytic Algebras"
638
+ {
639
+ // Dummy variables and Initialization:
640
+ int k,i,n,m;
641
+
642
+ //generating matrix for syzygie computation:
643
+ n = nvars(basering);
644
+ m = size(I);
645
+ ideal j = jacob(I);
646
+
647
+ matrix M=matrix(j,m,n);
648
+ for (i = 1; i <= m; i++){
649
+ M = concat(M,diag(I[i],m));
650
+ }
651
+ module C = syz(M);
652
+ module D;
653
+
654
+ for(i = 1; i <= size(C); i++){
655
+ D = D + C[i][1..n];
656
+ }
657
+
658
+ //Clearing memory
659
+ kill j;
660
+ kill C;
661
+ kill M;
662
+ return(D);
663
+ }
664
+
665
+
666
+ ////////////////////////////////////////////////////////////////////////////////////////////////
667
+ ////////////////////////////////////////////////////////////////////////////////////////////////