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,772 @@
1
+ //////////////////////////////////////////////////////////////////////////
2
+ version="version realizationMatroids.lib 4.1.2.0 Feb_2019 "; // $Id: 72e390b11d399319ac080179bd006435bcb1b9f0 $
3
+ category="Tropical Geometry";
4
+ info="
5
+ LIBRARY: realizationMatroids.lib Deciding Relative Realizability for Tropical Fan Curves in 2-Dimensional Matroidal Fans
6
+ AUTHORS: Anna Lena Winstel, winstel@mathematik.uni-kl.de
7
+ OVERVIEW: In tropical geometry, one question to ask is the following: given a one-dimensional balanced polyhedral fan C which is set theoretically contained in the tropicalization trop(Y) of an algebraic variety Y, does there exist a curve X in Y such that trop(X) = C? This equality of C and trop(X) denotes an equality of both, the fans trop(X) and C and their weights on the maximal cones. The relative realization space of C with respect to Y is the space of all algebraic curves in Y which tropicalize to C.
8
+
9
+ This library provides procedures deciding relative realizability for tropical fan curves, i.e. one-dimensional weighted balanced polyhedral fans, contained in two-dimensional matroidal fans trop(Y) where Y is a projective plane.
10
+
11
+ NOTATION: If Y is a projective plane in (n-1)-dimensional projective space, we consider trop(Y) in R^n/<1>. Moreover, for the relative realization space of C with respect to Y we only consider algebraic curves of degree deg(C) in Y which tropicalize to C.
12
+
13
+ PROCEDURES:
14
+
15
+ realizationDim(I,C); For a given tropical fan curve C in trop(Y), where Y = V(I) is a projective plane, this routine returns the dimension of the relative realization space of C with respect to Y, that is the space of all algebraic curves of degree deg(C) in Y which tropicalize to C. If the realization space is empty, the output is set to -1.
16
+
17
+ irrRealizationDim(I,C); This routine returns the dimension of the irreducible relative realization space of the tropical fan curve C with respect to Y = V(I), that is the space of all irreducible algebraic curves of degree deg(C) in Y which tropicalize to C. If the irreducible relative realization space is empty, the output is set to -1.
18
+
19
+ realizationDimPoly(I,C); If C is a tropical fan curve contained in the tropicalization trop(Y) of the projective plane Y = V(I) such that the relative realization space M of C is non-empty, this routine returns the tuple (dim(M),f) where f is an example of a homogeneous polynomial of degree deg(C) cutting out a curve X in Y which tropicalizes to C. If M is empty, the output is set to -1.
20
+
21
+ ";
22
+
23
+ LIB "control.lib";
24
+ LIB "qhmoduli.lib";
25
+
26
+ static proc gcdvector(intvec v)
27
+ {
28
+ int i;
29
+ int ggt = 0;
30
+ for(i=1;i<=size(v);i++)
31
+ {
32
+ ggt = gcd(ggt,v[i]);
33
+ if( ggt == 1 )
34
+ {
35
+ return(ggt);
36
+ }
37
+ }
38
+ return(ggt);
39
+ }
40
+
41
+ static proc balanced(list lInput)
42
+ {
43
+ list ba;
44
+ int i;
45
+ int j;
46
+ if(size(lInput)>0)
47
+ {
48
+ for(i=1;i<=size(lInput[1]);i++)
49
+ {
50
+ ba[i] = 0;
51
+ for(j=1;j<=size(lInput);j++)
52
+ {
53
+ ba[i] = ba[i] + lInput[j][i];
54
+ }
55
+ }
56
+ int boolean = 1;
57
+ for(i=2;i<=size(ba);i++)
58
+ {
59
+ if(ba[i] != ba[1])
60
+ {
61
+ boolean = 0;
62
+ }
63
+ }
64
+ if(boolean == 1)
65
+ {
66
+ return(ba[1]);
67
+ }
68
+ else
69
+ {
70
+ return(0);
71
+ }
72
+ }
73
+ else
74
+ {
75
+ return(0);
76
+ }
77
+ }
78
+
79
+ static proc genPoly(int d, int i, int j, int k)
80
+ {
81
+ int ii;
82
+ int ij;
83
+ int ik = 1;
84
+ poly f = 0;
85
+ for(ii=0;ii<=d;ii++)
86
+ {
87
+ for(ij=0;ij<=d-ii;ij++)
88
+ {
89
+ f = f + a(ik)*x(i)^(d-ii-ij)*x(j)^ij*x(k)^ii;
90
+ ik = ik + 1;
91
+ }
92
+ }
93
+ return(f);
94
+ }
95
+
96
+ static proc prodvar(int n)
97
+ {
98
+ int i;
99
+ poly f = 1;
100
+ for(i=1;i<=n;i++)
101
+ {
102
+ f = f * x(i);
103
+ }
104
+ return(f);
105
+ }
106
+
107
+ static proc lessThan(int i, int j, intvec v, intvec w)
108
+ {
109
+ number a = v[i];
110
+ number b = v[j];
111
+ number c = w[i];
112
+ number d = w[j];
113
+ if((a/b)<(c/d))
114
+ { return(1); }
115
+ else
116
+ { return(0); }
117
+ }
118
+
119
+ static proc sortSlope(int i, int j, list lInput)
120
+ {
121
+ int k;
122
+ int l;
123
+ intvec v;
124
+ for(k=1;k<size(lInput);k++)
125
+ {
126
+ for(l=1;l<=size(lInput)-k;l++)
127
+ {
128
+ if(lessThan(i,j,lInput[l+1],lInput[l]))
129
+ {
130
+ v = lInput[l];
131
+ lInput[l] = lInput[l+1];
132
+ lInput[l+1] = v;
133
+ }
134
+ }
135
+ }
136
+ return(lInput);
137
+ }
138
+
139
+ static proc coefMonomial(poly f, poly g, int n)
140
+ {
141
+ matrix m = coef(f,prodvar(n));
142
+ poly h;
143
+ for(int i=1;i<=ncols(m);i++)
144
+ {
145
+ if(m[1,i] == g)
146
+ {
147
+ h = m[2,i];
148
+ }
149
+ }
150
+ return(h);
151
+ }
152
+
153
+ static proc ismultiple(intvec v, intvec w)
154
+ {
155
+ int boolean = 1;
156
+ if(v[1] != 0)
157
+ {
158
+ if((number(w[2]) == number(v[2])*number(w[1])/number(v[1])) and (number(w[3]) == number(v[3])*number(w[1])/number(v[1])))
159
+ {
160
+ return(1);
161
+ }
162
+ else
163
+ {
164
+ return(0);
165
+ }
166
+ }
167
+ else
168
+ {
169
+ if(v[2] != 0)
170
+ {
171
+ if((number(w[1]) == number(v[1])*number(w[2])/number(v[2])) and (number(w[3]) == number(v[3])*number(w[2])/number(v[2])))
172
+ {
173
+ return(1);
174
+ }
175
+ else
176
+ {
177
+ return(0);
178
+ }
179
+ }
180
+ else
181
+ {
182
+ if((w[2] == 0) and (w[1] == 0))
183
+ {
184
+ return(1);
185
+ }
186
+ else
187
+ {
188
+ return(0);
189
+ }
190
+ }
191
+ }
192
+ }
193
+
194
+ static proc simplifyList(list lInput);
195
+ {
196
+ int i;
197
+ int k = size(lInput);
198
+ for(i=1;i<=k;i++)
199
+ {
200
+ if(lInput[i] == intvec(0,0,0))
201
+ {
202
+ lInput = delete(lInput,i);
203
+ k = k-1;
204
+ i = i-1;
205
+ }
206
+ }
207
+ k = size(lInput);
208
+ int j;
209
+ for(i=1;i<k;i++)
210
+ {
211
+ for(j=i+1;j<=k;j++)
212
+ {
213
+ if(ismultiple(lInput[i],lInput[j]))
214
+ {
215
+ lInput[i] = lInput[i] + lInput[j];
216
+ lInput = delete(lInput,j);
217
+ j = j-1;
218
+ k = k-1;
219
+ }
220
+ }
221
+ }
222
+ return(lInput);
223
+ }
224
+
225
+ static proc realizationDimIdeal(ideal iInput, list lInput)
226
+ {
227
+ //normalize the vectors
228
+ intvec helpintvec = 1;
229
+ int i;
230
+ int c;
231
+ for(i=1;i<size(lInput[1]);i++)
232
+ {
233
+ helpintvec = helpintvec,1;
234
+ }
235
+ for(i=1;i<=size(lInput);i++)
236
+ {
237
+ lInput[i] = lInput[i] - Min(lInput[i])*helpintvec;
238
+ }
239
+
240
+ //check if the curve is balanced and compute its degree
241
+ int d = balanced(lInput);
242
+ if(d == 0)
243
+ {
244
+ printf("The curve is not balanced.");
245
+ return(-2);
246
+ }
247
+
248
+ //change basering, store the actual basering in a variable
249
+ def save = basering;
250
+ int n = size(lInput[1]);
251
+ int N = (d+2)*(d+1) div 2;
252
+ ring r1;
253
+ ring r = 0,(x(1..n),a(1..N),t),dp;
254
+ setring r;
255
+ ideal I = fetch(save,iInput);
256
+ I = std(I);
257
+
258
+ if(dim(I) != (4+N))
259
+ {
260
+ printf("The ideal is not defining a projective plane.");
261
+ return(-2);
262
+ }
263
+
264
+ //for any three variables, compute the projection
265
+ int i2;
266
+ int i3;
267
+ int i4;
268
+ int j;
269
+ int k;
270
+ int l;
271
+ int i_w;
272
+ int good;
273
+ int i_good = 0;
274
+ list P;
275
+ intvec v;
276
+ intvec w;
277
+ ideal E;
278
+ list NE;
279
+ list S1;
280
+ list S2;
281
+ list S3;
282
+ poly h;
283
+ poly g;
284
+ poly coefMon;
285
+ matrix F;
286
+ matrix G;
287
+ list listunitvec;
288
+ v = 1;
289
+ for(i=2;i<=n+N+1;i++)
290
+ {
291
+ v = v,0;
292
+ }
293
+ listunitvec = list(v);
294
+ for(i=2;i<=n;i++)
295
+ {
296
+ v = 0;
297
+ for(j=2;j<=n+N+1;j++)
298
+ {
299
+ if(i != j)
300
+ {
301
+ v = v,0;
302
+ }
303
+ else
304
+ {
305
+ v = v,1;
306
+ }
307
+ }
308
+ listunitvec = listunitvec + list(v);
309
+ }
310
+ intmat M[n+N+1][n+N+1];
311
+ for(i=n+1;i<=n+N+1;i++)
312
+ {
313
+ M[i,i] = 1;
314
+ }
315
+ int i_start;
316
+ list luv1;
317
+ intmat M1[n+N+1][n+N+1];
318
+ for(i=1;i<=n-2;i++)
319
+ {
320
+ for(j=i+1;j<=n-1;j++)
321
+ {
322
+ for(k=j+1;k<=n;k++)
323
+ {
324
+ //compute the algebraic projection
325
+ luv1 = listunitvec;
326
+ luv1 = delete(luv1,k);
327
+ luv1 = delete(luv1,j);
328
+ luv1 = delete(luv1,i);
329
+ luv1 = luv1 + list(listunitvec[i],listunitvec[j],listunitvec[k]);
330
+ M1 = M;
331
+ for(l=1;l<=size(luv1);l++)
332
+ {
333
+ M1[l,1..(n+N+1)] = luv1[l];
334
+ }
335
+ r1 = ring(0,(x(1..n),a(1..N),t),M(M1));
336
+ setring r1;
337
+ ideal Ir1 = fetch(r,I);
338
+ Ir1 = std(Ir1);
339
+ //check if this projection is "good"
340
+ good = 1;
341
+ ideal Ii = x(i);
342
+ ideal Ij = x(j);
343
+ ideal Ik = x(k);
344
+ for(l=1;l<=size(Ir1);l++)
345
+ {
346
+ if((reduce(lead(Ir1[l]),Ii) == 0) or (reduce(lead(Ir1[l]),Ij) == 0) or (reduce(lead(Ir1[l]),Ik) == 0))
347
+ {
348
+ good = 0;
349
+ }
350
+ }
351
+ if(good == 1)
352
+ {
353
+ //for the first "good" projection, initialise the general polynomial f
354
+ if(i_good == 0)
355
+ {
356
+ setring r;
357
+ poly f = genPoly(d,i,j,k);
358
+ setring r1;
359
+ i_good = 1;
360
+ intvec vgood = i,j,k;
361
+ }
362
+ poly fr1 = fetch(r,f);
363
+ poly hr1 = reduce(fr1,Ir1);
364
+ setring r;
365
+ h = fetch(r1,hr1);
366
+ //compute the tropical projection
367
+ P = list();
368
+ for(l=1;l<=size(lInput);l++)
369
+ {
370
+ v = lInput[l][i],lInput[l][j],lInput[l][k];
371
+ P[l] = v;
372
+ }
373
+ P = simplifyList(P);
374
+ //collect the conditions coming from the Newton polytopes
375
+ S1 = list();
376
+ S2 = list();
377
+ S3 = list();
378
+ for(l=1;l<=size(P);l++)
379
+ {
380
+ if((P[l][1] != 0) and (P[l][2] != 0))
381
+ { S3 = S3 + list(P[l]); }
382
+ if((P[l][2] != 0) and (P[l][3] != 0))
383
+ { S1 = S1 + list(P[l]); }
384
+ if((P[l][1] != 0) and (P[l][3] != 0))
385
+ { S2 = S2 + list(P[l]); }
386
+ }
387
+ //sort the lists
388
+ S1 = sortSlope(3,2,S1);
389
+ S2 = sortSlope(1,3,S2);
390
+ S3 = sortSlope(2,1,S3);
391
+ //find conditions from S1
392
+ i_start = 0;
393
+ for(l=1;l<=size(S1);l++)
394
+ {
395
+ i_start = i_start + S1[l][2];
396
+ }
397
+ //find starting point
398
+ w = intvec(0,i_start);
399
+ coefMon = coefMonomial(h,x(k)^(w[2])*x(i)^(d-w[2]),n);
400
+ NE = NE + list(coefMon);
401
+ for(i2=1;i2<=size(S1);i2++)
402
+ {
403
+ w[1] = w[1] + S1[i2][3];
404
+ w[2] = w[2] - S1[i2][2];
405
+ coefMon = coefMonomial(h,x(k)^(w[2])*x(j)^(w[1])*x(i)^(d-w[1]-w[2]),n);
406
+ NE = NE + list(coefMon);
407
+ g = subst(h,x(j),x(j)*t^(S1[i2][2]),x(k),x(k)*t^(S1[i2][3]));
408
+ i_w = S1[i2][2]*w[1] + S1[i2][3]*w[2];
409
+ F = coeffs(g,t);
410
+ for(i3=1;i3<=i_w;i3++)
411
+ {
412
+ G = coef(F[i3,1],prodvar(n));
413
+ for(i4=1;i4<=ncols(G);i4++)
414
+ {
415
+ E = E + ideal(G[2,i4]);
416
+ }
417
+ }
418
+ }
419
+ //find conditions from S2
420
+ i_start = 0;
421
+ for(l=1;l<=size(S2);l++)
422
+ {
423
+ i_start = i_start + S2[l][3];
424
+ }
425
+ //find starting point
426
+ w = intvec(i_start,0);
427
+ coefMon = coefMonomial(h,x(i)^(w[1])*x(j)^(d-w[1]),n);
428
+ NE = NE + list(coefMon);
429
+ for(i2=1;i2<=size(S2);i2++)
430
+ {
431
+ w[1] = w[1] - S2[i2][3];
432
+ w[2] = w[2] + S2[i2][1];
433
+ coefMon = coefMonomial(h,x(i)^(w[1])*x(k)^(w[2])*x(j)^(d-w[1]-w[2]),n);
434
+ NE = NE + list(coefMon);
435
+ g = subst(h,x(i),x(i)*t^(S2[i2][1]),x(k),x(k)*t^(S2[i2][3]));
436
+ i_w = S2[i2][3]*w[2] + S2[i2][1]*w[1];
437
+ F = coeffs(g,t);
438
+ for(i3=1;i3<=i_w;i3++)
439
+ {
440
+ G = coef(F[i3,1],prodvar(n));
441
+ for(i4=1;i4<=ncols(G);i4++)
442
+ {
443
+ E = E + ideal(G[2,i4]);
444
+ }
445
+ }
446
+ }
447
+ //find conditions from S3
448
+ i_start = 0;
449
+ for(l=1;l<=size(S3);l++)
450
+ {
451
+ i_start = i_start + S3[l][1];
452
+ }
453
+ //find starting point
454
+ w = intvec(0,i_start);
455
+ coefMon = coefMonomial(h,x(j)^(w[2])*x(k)^(d-w[2]),n);
456
+ NE = NE + list(coefMon);
457
+ for(i2=1;i2<=size(S3);i2++)
458
+ {
459
+ w[1] = w[1] + S3[i2][2];
460
+ w[2] = w[2] - S3[i2][1];
461
+ coefMon = coefMonomial(h,x(i)^(w[1])*x(j)^(w[2])*x(k)^(d-w[1]-w[2]),n);
462
+ NE = NE + list(coefMon);
463
+ g = subst(h,x(i),x(i)*t^(S3[i2][1]),x(j),x(j)*t^(S3[i2][2]));
464
+ i_w = S3[i2][2]*w[2] + S3[i2][1]*w[1];
465
+ F = coeffs(g,t);
466
+ for(i3=1;i3<=i_w;i3++)
467
+ {
468
+ G = coef(F[i3,1],prodvar(n));
469
+ for(i4=1;i4<=ncols(G);i4++)
470
+ {
471
+ E = E + ideal(G[2,i4]);
472
+ }
473
+ }
474
+ }
475
+ }
476
+ }
477
+ }
478
+ }
479
+
480
+ //check whether or not there is a common solution
481
+ setring r;
482
+ int isRealizable = 1;
483
+ E = std(E);
484
+ int i_dim = dim(E)-n-2;
485
+ for(i=1;i<=size(NE);i++)
486
+ {
487
+ if(reduce(NE[i],E) == 0)
488
+ {
489
+ isRealizable = 0;
490
+ }
491
+ }
492
+
493
+ if(isRealizable == 1)
494
+ {
495
+ setring save;
496
+ return(i_dim,fetch(r,E),fetch(r,NE),vgood);
497
+ }
498
+ else
499
+ {
500
+ return(-1);
501
+ }
502
+ }
503
+
504
+ proc realizationDim(ideal iInput, list lInput)
505
+ "USAGE: realizationDim(I,C); where I is a homogeneous linear ideal defining the projective plane Y = V(I) and C is a list of intvectors such that each intvector represents a one-dimensional cone in the tropical fan curve whose relative realizability should be checked. This representation is done in the following way: the one-dimensional cone K is represented by a vector w whose equivalence class [w] in R^n/<1> can be written as [w] = m*[v] where [v] is the primitive generator of K and m is the weight of K.
506
+ RETURNS: the dimension of the relative realization space of the tropical curve C with respect to Y, and -1 if the relative realization space is empty.
507
+ EXAMPLE: realizationDim; shows an example"
508
+ {
509
+ int ret = list(realizationDimIdeal(iInput,lInput))[1];
510
+ if(ret[1] == -2)
511
+ {
512
+ printf("WARNING: no computation possible, return value is not meaningful!");
513
+ return(-2);
514
+ }
515
+ else
516
+ {
517
+ return(ret);
518
+ }
519
+ }
520
+ example
521
+ {
522
+ "EXAMPLE:"; echo=2;
523
+ ring r = 0,(x(1..4)),dp;
524
+ ideal I = x(1)+x(2)+x(3)+x(4);
525
+ list C = list(intvec(2,2,0,0),intvec(0,0,2,1),intvec(0,0,0,1));
526
+ //C represents the tropical fan curve which consists of the cones
527
+ //cone([(1,1,0,0)]) (with weight 2), cone([(0,0,2,1)]) (with weight 1)
528
+ //and cone([(0,0,0,1)]) (with weight 1)
529
+ realizationDim(I,C);
530
+ }
531
+
532
+ proc irrRealizationDim(ideal iInput, list lInput)
533
+ "USAGE: irrRealizationDim(I,C); where I is a homogeneous linear ideal defining the projective plane Y = V(I) and C is a list of intvectors such that each intvector represents a one-dimensional cone in the tropical fan curve whose irreducible relative realizability should be checked. This representation is done in the following way: a one-dimensional cone K is represented by a vector w whose equivalence class [w] in R^n/<1> can be written as [w] = m*[v] where [v] is the primitive generator of K and m is the weight of K.
534
+ RETURNS: the dimension of the irreducible relative realization space of C with respect to Y, and -1 if the irreducible realization space is empty.
535
+ EXAMPLE: irrRealizationDim; shows an example"
536
+ {
537
+ int i;
538
+ int i_dim = realizationDim(iInput,lInput);
539
+ if(i_dim > -1)
540
+ {
541
+ //check if also realizable by an irreducible curve
542
+ list lweight;
543
+ int i_rdim = -1;
544
+ //substitute the vectors by a primitive one and store the multiplicities
545
+ for(i=1;i<=size(lInput);i++)
546
+ {
547
+ lweight[i] = gcdvector(lInput[i]);
548
+ lInput[i] = lInput[i] div lweight[i];
549
+ }
550
+ //find all decompositions into two tropical curves
551
+ intvec tm;
552
+ for(i=1;i<=size(lInput);i++)
553
+ {
554
+ tm[i] = 0;
555
+ }
556
+ int na;
557
+ list C1;
558
+ list C2;
559
+ int dimC1;
560
+ int dimC2;
561
+ while(na==0)
562
+ {
563
+ na = 1;
564
+ for(i=1;i<=size(lInput);i++)
565
+ {
566
+ if(tm[i] < lweight[i])
567
+ {
568
+ tm[i] = tm[i]+1;
569
+ na = 0;
570
+ i = size(lInput);
571
+ }
572
+ else
573
+ {
574
+ tm[i] = 0;
575
+ }
576
+ }
577
+ if(na == 0)
578
+ {
579
+ C1 = list();
580
+ C2 = list();
581
+ for(i=1;i<=size(lInput);i++)
582
+ {
583
+ if(tm[i] > 0)
584
+ {
585
+ C1 = C1 + list(tm[i]*lInput[i]);
586
+ if(tm[i] < lweight[i])
587
+ {
588
+ C2 = C2 + list((lweight[i]-tm[i])*lInput[i]);
589
+ }
590
+ }
591
+ else
592
+ {
593
+ C2 = C2 + list(lweight[i]*lInput[i]);
594
+ }
595
+ }
596
+ if((balanced(C2) != 0) and (balanced(C2) <= balanced(C1)))
597
+ {
598
+ dimC1 = realizationDim(iInput,C1);
599
+ dimC2 = realizationDim(iInput,C2);
600
+ if((dimC1 >= 0) and (dimC2 >= 0))
601
+ {
602
+ i_rdim = Max(intvec(i_rdim,dimC1 + dimC2));
603
+ }
604
+ }
605
+ }
606
+ }
607
+ if(i_rdim < i_dim)
608
+ {
609
+ return(i_dim);
610
+ }
611
+ else
612
+ {
613
+ return(-1);
614
+ }
615
+ }
616
+ else
617
+ {
618
+ return(-1);
619
+ }
620
+ }
621
+ example
622
+ {
623
+ "EXAMPLE:"; echo=2;
624
+ ring r = 0,(x(1..4)),dp;
625
+ ideal I = x(1)+x(2)+x(3)+x(4);
626
+ list C = list(intvec(2,2,0,0),intvec(0,0,2,2));
627
+ //C represents the tropical fan curve which consists of the cones
628
+ //cone([(1,1,0,0)]) and cone([(1,1,0,0)]), both with weight 2
629
+ realizationDim(I,C);
630
+ irrRealizationDim(I,C);
631
+ }
632
+
633
+ proc realizationDimPoly(ideal iInput, list lInput)
634
+ "USAGE: realizationDimPoly(I,C); where I is a homogeneous linear ideal defining the projective plane Y = V(I) and C is a list of intvectors such that each intvector represents a one-dimensional cone in the tropical fan curve whose relative realizability should be checked. This representation is done in the following way: the one-dimensional cone K is represented by a vector w whose equivalence class [w] in R^n/<1> can be written as [w] = m*[v] where [v] is the primitive generator of K and m is the weight of K.
635
+ RETURNS: If the relative realization space of the tropical fan curve C is non-empty, this routine returns the tuple (r,f), where r is the dimension of the relative realization space and f is an example of a homogeneous polynomial of degree deg(C) cutting out a curve X in Y which tropicalizes to C. In case the relative realization space is empty, the output is set to -1.
636
+ EXAMPLE: realizationDimPoly; shows an example"
637
+ {
638
+ def save = basering;
639
+ int d = balanced(lInput);
640
+ int n = size(lInput[1]);
641
+ int N = (d+2)*(d+1) div 2;
642
+ int i;
643
+ ring r = 0,(x(1..n),a(1..N)),dp;
644
+ list ret = realizationDimIdeal(fetch(save,iInput),lInput);
645
+ int realdim = ret[1];
646
+ if(realdim != -1)
647
+ {
648
+ ideal E = ret[2];
649
+ list NE = ret[3];
650
+ E = std(E);
651
+ //find variables which are free to choose
652
+ intvec v;
653
+ for(i=1;i<=size(E);i++)
654
+ {
655
+ v = v + leadexp(E[i]);
656
+ }
657
+ int j;
658
+ int k;
659
+ int boolean;
660
+ ideal E1;
661
+ list NE1;
662
+ poly f;
663
+ poly g;
664
+ //initialize the list of the free variables
665
+ list lValues;
666
+ if(size(v) > 1)
667
+ {
668
+ for(j=1;j<=N;j++)
669
+ {
670
+ if(v[j+n] == 0)
671
+ {
672
+ lValues = lValues + list(list(a(j),0));
673
+ }
674
+ }
675
+ }
676
+ else
677
+ {
678
+ for(j=1;j<=N;j++)
679
+ {
680
+ lValues = lValues + list(list(a(j),0));
681
+ }
682
+ }
683
+ //try to find an easy solution
684
+ boolean = 1;
685
+ for(j=1;j<=size(lValues);j++)
686
+ {
687
+ if(boolean == 1)
688
+ {
689
+ lValues[j][2] = 0;
690
+ }
691
+ else
692
+ {
693
+ lValues[j][2] = lValues[j][2] + 1;
694
+ }
695
+ boolean = 1;
696
+ E1 = E;
697
+ for(i=1;i<=size(E1);i++)
698
+ {
699
+ for(k=1;k<=j;k++)
700
+ {
701
+ E1[i] = subst(E1[i],lValues[k][1],lValues[k][2]);
702
+ }
703
+ }
704
+ NE1 = NE;
705
+ for(i=1;i<=size(NE);i++)
706
+ {
707
+ for(k=1;k<=j;k++)
708
+ {
709
+ NE1[i] = subst(NE1[i],lValues[k][1],lValues[k][2]);
710
+ }
711
+ }
712
+ E1 = std(E1);
713
+ for(i=1;i<=size(NE1);i++)
714
+ {
715
+ if(reduce(NE1[i],E1) == 0)
716
+ {
717
+ boolean = 0;
718
+ }
719
+ }
720
+ if(boolean == 0)
721
+ {
722
+ j = j-1;
723
+ }
724
+ }
725
+ //compute the values of the dependent variables
726
+ for(j=1;j<=size(E);j++)
727
+ {
728
+ f = E[j];
729
+ for(k=1;k<=size(lValues);k++)
730
+ {
731
+ f = subst(f,lValues[k][1],lValues[k][2]);
732
+ }
733
+ if(leadcoef(f) != 1)
734
+ {
735
+ for(k=1;k<=size(lValues);k++)
736
+ {
737
+ lValues[k][2] = lValues[k][2] * leadcoef(f);
738
+ }
739
+ }
740
+ f = subst(f,leadmonom(f),0);
741
+ lValues = lValues + list(list(leadmonom(E[j]),-f));
742
+ }
743
+ g = genPoly(d,ret[4][1],ret[4][2],ret[4][3]);
744
+ for(j=1;j<=N;j++)
745
+ {
746
+ g = subst(g,lValues[j][1],lValues[j][2]);
747
+ }
748
+ setring save;
749
+ return(realdim,fetch(r,g));
750
+ }
751
+ else
752
+ {
753
+ return(-1);
754
+ }
755
+ }
756
+ example
757
+ {
758
+ "EXAMPLE:"; echo=2;
759
+ ring r = 0,(x(1..4)),dp;
760
+ ideal I = x(1)+x(2)+x(3)+x(4);
761
+ list C = list(intvec(2,2,0,0),intvec(0,0,2,2));
762
+ //C represents the tropical fan curve which consists of the cones
763
+ //cone([(1,1,0,0)]) and cone([(1,1,0,0)]), both with weight 2
764
+ realizationDimPoly(I,C);
765
+ C = list(intvec(0,0,0,4),intvec(0,1,3,0),intvec(1,0,1,0),intvec(0,2,0,0),intvec(3,1,0,0));
766
+ //C represents the tropical fan curve which consists of the cones
767
+ //cone([(0,0,0,1)]) with weight 4,
768
+ //cone([(0,1,3,0)]), cone([(1,0,1,0)]) both with weight 1,
769
+ //cone([(0,1,0,0)]) with weight 2, and
770
+ //cone([(3,1,0,0)]) with weight 1
771
+ realizationDimPoly(I,C);
772
+ }