passagemath-singular 10.6.31rc3__cp314-cp314-macosx_13_0_arm64.whl

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

Potentially problematic release.


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

Files changed (490) hide show
  1. PySingular.cpython-314-darwin.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +490 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +6 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.dylibs/libSingular-4.4.1.dylib +0 -0
  7. passagemath_singular.dylibs/libcddgmp.0.dylib +0 -0
  8. passagemath_singular.dylibs/libfactory-4.4.1.dylib +0 -0
  9. passagemath_singular.dylibs/libflint.21.0.dylib +0 -0
  10. passagemath_singular.dylibs/libgf2x.3.dylib +0 -0
  11. passagemath_singular.dylibs/libgfortran.5.dylib +0 -0
  12. passagemath_singular.dylibs/libgmp.10.dylib +0 -0
  13. passagemath_singular.dylibs/libgsl.28.dylib +0 -0
  14. passagemath_singular.dylibs/libmpfr.6.dylib +0 -0
  15. passagemath_singular.dylibs/libntl.44.dylib +0 -0
  16. passagemath_singular.dylibs/libomalloc-0.9.6.dylib +0 -0
  17. passagemath_singular.dylibs/libopenblasp-r0.3.29.dylib +0 -0
  18. passagemath_singular.dylibs/libpolys-4.4.1.dylib +0 -0
  19. passagemath_singular.dylibs/libquadmath.0.dylib +0 -0
  20. passagemath_singular.dylibs/libreadline.8.2.dylib +0 -0
  21. passagemath_singular.dylibs/libsingular_resources-4.4.1.dylib +0 -0
  22. sage/algebras/all__sagemath_singular.py +3 -0
  23. sage/algebras/fusion_rings/all.py +19 -0
  24. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  25. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-darwin.so +0 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  28. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-darwin.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  31. sage/algebras/fusion_rings/fusion_double.py +899 -0
  32. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  33. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-darwin.so +0 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  36. sage/algebras/fusion_rings/shm_managers.cpython-314-darwin.so +0 -0
  37. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  38. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  39. sage/algebras/letterplace/all.py +1 -0
  40. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-darwin.so +0 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  43. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-darwin.so +0 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  46. sage/algebras/letterplace/letterplace_ideal.cpython-314-darwin.so +0 -0
  47. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  48. sage/algebras/quatalg/all.py +2 -0
  49. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  50. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-darwin.so +0 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  52. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-darwin.so +0 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  55. sage/all__sagemath_singular.py +11 -0
  56. sage/ext_data/all__sagemath_singular.py +1 -0
  57. sage/ext_data/singular/function_field/core.lib +98 -0
  58. sage/interfaces/all__sagemath_singular.py +1 -0
  59. sage/interfaces/singular.py +2835 -0
  60. sage/libs/all__sagemath_singular.py +1 -0
  61. sage/libs/singular/__init__.py +1 -0
  62. sage/libs/singular/decl.pxd +1168 -0
  63. sage/libs/singular/function.cpython-314-darwin.so +0 -0
  64. sage/libs/singular/function.pxd +87 -0
  65. sage/libs/singular/function.pyx +1901 -0
  66. sage/libs/singular/function_factory.py +61 -0
  67. sage/libs/singular/groebner_strategy.cpython-314-darwin.so +0 -0
  68. sage/libs/singular/groebner_strategy.pxd +22 -0
  69. sage/libs/singular/groebner_strategy.pyx +582 -0
  70. sage/libs/singular/option.cpython-314-darwin.so +0 -0
  71. sage/libs/singular/option.pyx +671 -0
  72. sage/libs/singular/polynomial.cpython-314-darwin.so +0 -0
  73. sage/libs/singular/polynomial.pxd +39 -0
  74. sage/libs/singular/polynomial.pyx +661 -0
  75. sage/libs/singular/ring.cpython-314-darwin.so +0 -0
  76. sage/libs/singular/ring.pxd +58 -0
  77. sage/libs/singular/ring.pyx +893 -0
  78. sage/libs/singular/singular.cpython-314-darwin.so +0 -0
  79. sage/libs/singular/singular.pxd +72 -0
  80. sage/libs/singular/singular.pyx +1944 -0
  81. sage/libs/singular/standard_options.py +145 -0
  82. sage/matrix/all__sagemath_singular.py +1 -0
  83. sage/matrix/matrix_mpolynomial_dense.cpython-314-darwin.so +0 -0
  84. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  85. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  86. sage/rings/all__sagemath_singular.py +1 -0
  87. sage/rings/function_field/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/derivations_polymod.py +911 -0
  89. sage/rings/function_field/element_polymod.cpython-314-darwin.so +0 -0
  90. sage/rings/function_field/element_polymod.pyx +406 -0
  91. sage/rings/function_field/function_field_polymod.py +2611 -0
  92. sage/rings/function_field/ideal_polymod.py +1775 -0
  93. sage/rings/function_field/order_polymod.py +1475 -0
  94. sage/rings/function_field/place_polymod.py +681 -0
  95. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  96. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-darwin.so +0 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  99. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-darwin.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  102. sage/rings/polynomial/plural.cpython-314-darwin.so +0 -0
  103. sage/rings/polynomial/plural.pxd +48 -0
  104. sage/rings/polynomial/plural.pyx +3171 -0
  105. sage/symbolic/all__sagemath_singular.py +1 -0
  106. sage/symbolic/comparison_impl.pxi +428 -0
  107. sage/symbolic/constants_c_impl.pxi +178 -0
  108. sage/symbolic/expression.cpython-314-darwin.so +0 -0
  109. sage/symbolic/expression.pxd +7 -0
  110. sage/symbolic/expression.pyx +14200 -0
  111. sage/symbolic/getitem_impl.pxi +202 -0
  112. sage/symbolic/pynac.pxi +572 -0
  113. sage/symbolic/pynac_constant_impl.pxi +133 -0
  114. sage/symbolic/pynac_function_impl.pxi +206 -0
  115. sage/symbolic/pynac_impl.pxi +2576 -0
  116. sage/symbolic/pynac_wrap.h +124 -0
  117. sage/symbolic/series_impl.pxi +272 -0
  118. sage/symbolic/substitution_map_impl.pxi +94 -0
  119. sage_wheels/bin/ESingular +0 -0
  120. sage_wheels/bin/Singular +0 -0
  121. sage_wheels/bin/TSingular +0 -0
  122. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  123. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  124. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  125. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  126. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  128. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  130. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  131. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  132. sage_wheels/lib/singular/MOD/interval.la +41 -0
  133. sage_wheels/lib/singular/MOD/interval.so +0 -0
  134. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  135. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  136. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  138. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  146. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  147. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  148. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  149. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  150. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  151. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  152. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  153. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  154. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  155. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  156. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  157. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  158. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  159. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  160. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  161. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  164. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  165. sage_wheels/libexec/singular/MOD/surfex +16 -0
  166. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  167. sage_wheels/share/factory/gftables/10201 +342 -0
  168. sage_wheels/share/factory/gftables/1024 +37 -0
  169. sage_wheels/share/factory/gftables/10609 +356 -0
  170. sage_wheels/share/factory/gftables/11449 +384 -0
  171. sage_wheels/share/factory/gftables/11881 +398 -0
  172. sage_wheels/share/factory/gftables/121 +6 -0
  173. sage_wheels/share/factory/gftables/12167 +408 -0
  174. sage_wheels/share/factory/gftables/125 +7 -0
  175. sage_wheels/share/factory/gftables/12769 +428 -0
  176. sage_wheels/share/factory/gftables/128 +7 -0
  177. sage_wheels/share/factory/gftables/1331 +47 -0
  178. sage_wheels/share/factory/gftables/1369 +48 -0
  179. sage_wheels/share/factory/gftables/14641 +490 -0
  180. sage_wheels/share/factory/gftables/15625 +523 -0
  181. sage_wheels/share/factory/gftables/16 +3 -0
  182. sage_wheels/share/factory/gftables/16129 +540 -0
  183. sage_wheels/share/factory/gftables/16384 +549 -0
  184. sage_wheels/share/factory/gftables/16807 +563 -0
  185. sage_wheels/share/factory/gftables/1681 +58 -0
  186. sage_wheels/share/factory/gftables/169 +8 -0
  187. sage_wheels/share/factory/gftables/17161 +574 -0
  188. sage_wheels/share/factory/gftables/1849 +64 -0
  189. sage_wheels/share/factory/gftables/18769 +628 -0
  190. sage_wheels/share/factory/gftables/19321 +646 -0
  191. sage_wheels/share/factory/gftables/19683 +659 -0
  192. sage_wheels/share/factory/gftables/2048 +71 -0
  193. sage_wheels/share/factory/gftables/2187 +75 -0
  194. sage_wheels/share/factory/gftables/2197 +76 -0
  195. sage_wheels/share/factory/gftables/2209 +76 -0
  196. sage_wheels/share/factory/gftables/22201 +742 -0
  197. sage_wheels/share/factory/gftables/22801 +762 -0
  198. sage_wheels/share/factory/gftables/2401 +82 -0
  199. sage_wheels/share/factory/gftables/243 +11 -0
  200. sage_wheels/share/factory/gftables/24389 +815 -0
  201. sage_wheels/share/factory/gftables/24649 +824 -0
  202. sage_wheels/share/factory/gftables/25 +3 -0
  203. sage_wheels/share/factory/gftables/256 +11 -0
  204. sage_wheels/share/factory/gftables/26569 +888 -0
  205. sage_wheels/share/factory/gftables/27 +3 -0
  206. sage_wheels/share/factory/gftables/27889 +932 -0
  207. sage_wheels/share/factory/gftables/2809 +96 -0
  208. sage_wheels/share/factory/gftables/28561 +954 -0
  209. sage_wheels/share/factory/gftables/289 +12 -0
  210. sage_wheels/share/factory/gftables/29791 +995 -0
  211. sage_wheels/share/factory/gftables/29929 +1000 -0
  212. sage_wheels/share/factory/gftables/3125 +107 -0
  213. sage_wheels/share/factory/gftables/32 +4 -0
  214. sage_wheels/share/factory/gftables/32041 +1070 -0
  215. sage_wheels/share/factory/gftables/32761 +1094 -0
  216. sage_wheels/share/factory/gftables/32768 +1095 -0
  217. sage_wheels/share/factory/gftables/343 +14 -0
  218. sage_wheels/share/factory/gftables/3481 +118 -0
  219. sage_wheels/share/factory/gftables/361 +14 -0
  220. sage_wheels/share/factory/gftables/36481 +1218 -0
  221. sage_wheels/share/factory/gftables/3721 +126 -0
  222. sage_wheels/share/factory/gftables/37249 +1244 -0
  223. sage_wheels/share/factory/gftables/38809 +1296 -0
  224. sage_wheels/share/factory/gftables/39601 +1322 -0
  225. sage_wheels/share/factory/gftables/4 +3 -0
  226. sage_wheels/share/factory/gftables/4096 +139 -0
  227. sage_wheels/share/factory/gftables/44521 +1486 -0
  228. sage_wheels/share/factory/gftables/4489 +152 -0
  229. sage_wheels/share/factory/gftables/49 +4 -0
  230. sage_wheels/share/factory/gftables/4913 +166 -0
  231. sage_wheels/share/factory/gftables/49729 +1660 -0
  232. sage_wheels/share/factory/gftables/5041 +170 -0
  233. sage_wheels/share/factory/gftables/50653 +1691 -0
  234. sage_wheels/share/factory/gftables/512 +20 -0
  235. sage_wheels/share/factory/gftables/51529 +1720 -0
  236. sage_wheels/share/factory/gftables/52441 +1750 -0
  237. sage_wheels/share/factory/gftables/529 +20 -0
  238. sage_wheels/share/factory/gftables/5329 +180 -0
  239. sage_wheels/share/factory/gftables/54289 +1812 -0
  240. sage_wheels/share/factory/gftables/57121 +1906 -0
  241. sage_wheels/share/factory/gftables/58081 +1938 -0
  242. sage_wheels/share/factory/gftables/59049 +1971 -0
  243. sage_wheels/share/factory/gftables/6241 +210 -0
  244. sage_wheels/share/factory/gftables/625 +23 -0
  245. sage_wheels/share/factory/gftables/63001 +2102 -0
  246. sage_wheels/share/factory/gftables/64 +5 -0
  247. sage_wheels/share/factory/gftables/6561 +221 -0
  248. sage_wheels/share/factory/gftables/6859 +231 -0
  249. sage_wheels/share/factory/gftables/6889 +232 -0
  250. sage_wheels/share/factory/gftables/729 +27 -0
  251. sage_wheels/share/factory/gftables/7921 +266 -0
  252. sage_wheels/share/factory/gftables/8 +3 -0
  253. sage_wheels/share/factory/gftables/81 +5 -0
  254. sage_wheels/share/factory/gftables/8192 +276 -0
  255. sage_wheels/share/factory/gftables/841 +30 -0
  256. sage_wheels/share/factory/gftables/9 +3 -0
  257. sage_wheels/share/factory/gftables/9409 +316 -0
  258. sage_wheels/share/factory/gftables/961 +34 -0
  259. sage_wheels/share/info/singular.info +191898 -0
  260. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  261. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  262. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  263. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  264. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  265. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  266. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  267. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  268. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  269. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  270. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  271. sage_wheels/share/singular/LIB/all.lib +136 -0
  272. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  273. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  274. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  275. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  276. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  277. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  278. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  279. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  280. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  281. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  282. sage_wheels/share/singular/LIB/central.lib +2169 -0
  283. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  284. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  285. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  286. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  287. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  288. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  289. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  290. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  291. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  292. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  293. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  294. sage_wheels/share/singular/LIB/control.lib +1636 -0
  295. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  296. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  297. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  298. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  299. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  300. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  301. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  302. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  303. sage_wheels/share/singular/LIB/deform.lib +925 -0
  304. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  305. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  306. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  307. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  308. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  309. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  310. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  311. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  312. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  313. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  314. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  315. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  316. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  317. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  318. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  319. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  320. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  321. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  322. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  323. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  324. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  325. sage_wheels/share/singular/LIB/general.lib +1350 -0
  326. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  327. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  328. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  329. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  330. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  331. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  332. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  333. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  334. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  335. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  336. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  337. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  338. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  339. sage_wheels/share/singular/LIB/help.cnf +57 -0
  340. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  341. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  342. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  343. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  344. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  345. sage_wheels/share/singular/LIB/inout.lib +679 -0
  346. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  347. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  348. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  349. sage_wheels/share/singular/LIB/invar.lib +443 -0
  350. sage_wheels/share/singular/LIB/involut.lib +980 -0
  351. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  352. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  353. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  354. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  355. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  356. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  357. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  358. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  359. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  360. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  361. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  362. sage_wheels/share/singular/LIB/methods.lib +212 -0
  363. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  364. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  365. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  366. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  367. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  368. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  369. sage_wheels/share/singular/LIB/modular.lib +545 -0
  370. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  371. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  372. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  373. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  374. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  375. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  376. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  377. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  378. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  379. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  380. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  381. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  382. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  383. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  384. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  385. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  386. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  387. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  388. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  389. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  390. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  391. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  392. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  393. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  394. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  395. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  396. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  397. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  398. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  399. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  400. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  401. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  402. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  403. sage_wheels/share/singular/LIB/perron.lib +202 -0
  404. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  405. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  406. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  407. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  408. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  409. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  410. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  411. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  412. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  413. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  414. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  415. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  416. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  417. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  418. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  419. sage_wheels/share/singular/LIB/random.lib +455 -0
  420. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  421. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  422. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  423. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  424. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  425. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  426. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  427. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  428. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  429. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  430. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  431. sage_wheels/share/singular/LIB/resources.lib +170 -0
  432. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  433. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  434. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  435. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  436. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  437. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  438. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  439. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  440. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  441. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  442. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  443. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  444. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  445. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  446. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  447. sage_wheels/share/singular/LIB/sets.lib +524 -0
  448. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  449. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  450. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  451. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  452. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  453. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  454. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  455. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  456. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  457. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  458. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  459. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  460. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  461. sage_wheels/share/singular/LIB/surf.lib +506 -0
  462. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  463. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  464. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  465. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  466. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  467. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  468. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  469. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  470. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  471. sage_wheels/share/singular/LIB/template.lib +116 -0
  472. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  473. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  474. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  475. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  476. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  477. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  478. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  479. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  480. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  481. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  482. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  483. sage_wheels/share/singular/emacs/COPYING +44 -0
  484. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  485. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  486. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  487. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  488. sage_wheels/share/singular/emacs/singular.el +4273 -0
  489. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  490. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,455 @@
1
+ ///////////////////////////////////////////////////////////////////////////
2
+ version="version random.lib 4.1.2.0 Feb_2019 "; // $Id: ec617edc25603cabbc227492f80090f5c76c3e7a $
3
+ category="General purpose";
4
+ info="
5
+ LIBRARY: random.lib Creating Random and Sparse Matrices, Ideals, Polys
6
+
7
+ PROCEDURES:
8
+ genericid(i[,p,b]); generic sparse linear combinations of generators of i
9
+ randomid(id,[k,b]); random linear combinations of generators of id
10
+ randommat(n,m[,id,b]); nxm matrix of random linear combinations of id
11
+ sparseid(k,u[,o,p,b]); ideal of k random sparse poly's of degree d [u<=d<=o]
12
+ sparsematrix(n,m,o[,.]);nxm sparse matrix of polynomials of degree<=o
13
+ sparsemat(n,m[,p,b]); nxm sparse integer matrix with random coefficients
14
+ sparsepoly(u[,o,p,b]); random sparse polynomial with terms of degree in [u,o]
15
+ sparsetriag(n,m[,.]); nxm sparse lower-triag intmat with random coefficients
16
+ sparseHomogIdeal(k,u,[,.]); ideal with k sparse homogeneous generators of degree in [u, o]
17
+ triagmatrix(n,m,o[,.]); nxm sparse lower-triag matrix of poly's of degree<=o
18
+ randomLast(b); random transformation of the last variable
19
+ randomBinomial(k,u,..); binomial ideal, k random generators of degree >=u
20
+ (parameters in square brackets [] are optional)
21
+ ";
22
+
23
+ LIB "inout.lib";
24
+ LIB "general.lib";
25
+ LIB "matrix.lib";
26
+ ///////////////////////////////////////////////////////////////////////////////
27
+
28
+ proc genericid (def id, list #)
29
+ "USAGE: genericid(id[,p,b]); id ideal/module, p,b integers
30
+ RETURN: system of generators of id which are generic, sparse, triagonal linear
31
+ combinations of given generators with coefficients in [1,b] and
32
+ sparsety p percent, bigger p being sparser (default: p=75, b=30000)
33
+ NOTE: For performance reasons try small bound b in characteristic 0
34
+ EXAMPLE: example genericid; shows an example
35
+ "
36
+ {
37
+ //----------------------------- set defaults ----------------------------------
38
+ if( size(#)>=2 ) { int p=#[1]; int b=#[2];}
39
+ if( size(#)==1 ) { int p=#[1]; int b=30000;}
40
+ if( size(#)==0 ) { int p=75; int b=30000;}
41
+ //---------------- use sparsetriag for creation of genericid ------------------
42
+ def i = simplify(id,10);
43
+ i = i*sparsetriag(ncols(i),ncols(i),p,b);
44
+ return(i);
45
+ }
46
+ example
47
+ { "EXAMPLE:"; echo = 2;
48
+ ring r=0,(t,x,y,z),ds;
49
+ ideal i= x3+y4,z4+yx,t+x+y+z;
50
+ genericid(i,0,10);
51
+ module m=[x,0,0,0],[0,y2,0,0],[0,0,z3,0],[0,0,0,t4];
52
+ print(genericid(m));
53
+ }
54
+ ///////////////////////////////////////////////////////////////////////////////
55
+
56
+ proc randomid (def id, list #)
57
+ "USAGE: randomid(id[,k,b]); id ideal/module, b,k integers
58
+ RETURN: ideal/module having k generators which are random linear combinations
59
+ of generators of id with coefficients in the interval [-b,b]
60
+ (default: b=30000, k=size(id))
61
+ NOTE: For performance reasons try small bound b in characteristic 0
62
+ EXAMPLE: example randomid; shows an example
63
+ "
64
+ {
65
+ //----------------------------- set defaults ----------------------------------
66
+ if( size(#)>=2 ) { int k=#[1]; int b=#[2]; }
67
+ if( size(#)==1 ) { int k=#[1]; int b=30000; }
68
+ if( size(#)==0 ) { int k=size(id); int b=30000; }
69
+ //--------------------------- create randomid ---------------------------------
70
+ def i = id;
71
+ i = matrix(id)*random(b,ncols(id),k);
72
+ return(i);
73
+ }
74
+ example
75
+ { "EXAMPLE:"; echo = 2;
76
+ ring r=0,(x,y,z),dp;
77
+ randomid(maxideal(2),2,9);
78
+ module m=[x,0,1],[0,y2,0],[y,0,z3];
79
+ show(randomid(m));
80
+ }
81
+ ///////////////////////////////////////////////////////////////////////////////
82
+
83
+ proc randommat (int n, int m, list #)
84
+ "USAGE: randommat(n,m[,id,b]); n,m,b integers, id ideal
85
+ RETURN: nxm matrix, entries are random linear combinations of elements
86
+ of id and coefficients in [-b,b]
87
+ [default: (id,b) = (maxideal(1),30000)]
88
+ NOTE: For performance reasons try small bound b in char 0
89
+ EXAMPLE: example randommat; shows an example
90
+ "
91
+ {
92
+ //----------------------------- set defaults ----------------------------------
93
+ if( size(#)>=2 ) { ideal id=#[1]; int b=#[2]; }
94
+ if( size(#)==1 ) { ideal id=#[1]; int b=30000; }
95
+ if( size(#)==0 ) { ideal id=maxideal(1); int b=30000; }
96
+ //--------------------------- create randommat --------------------------------
97
+ id=simplify(id,2);
98
+ int g=ncols(id);
99
+ matrix rand[n][m]; matrix ra[1][m];
100
+ for (int k=1; k<=n; k=k+1)
101
+ {
102
+ ra = id*random(b,g,m);
103
+ rand[k,1..m]=ra[1,1..m];
104
+ }
105
+ return(rand);
106
+ }
107
+ example
108
+ { "EXAMPLE:"; echo = 2;
109
+ ring r=0,(x,y,z),dp;
110
+ matrix A=randommat(3,3,maxideal(2),9);
111
+ print(A);
112
+ A=randommat(2,3);
113
+ print(A);
114
+ }
115
+ ///////////////////////////////////////////////////////////////////////////////
116
+
117
+ proc sparseid (int k, int u, list #)
118
+ "USAGE: sparseid(k,u[,o,p,b]); k,u,o,p,b integers
119
+ RETURN: ideal having k generators, each of degree d, u<=d<=o, p percent of
120
+ terms in degree d are 0, the remaining have random coefficients
121
+ in the interval [1,b], (default: o=u, p=75, b=30000)
122
+ EXAMPLE: example sparseid; shows an example
123
+ "
124
+ {
125
+ //----------------------------- set defaults ----------------------------------
126
+ if( size(#)>=3 ) { int o=#[1]; int p=#[2]; int b=#[3]; }
127
+ else {if( size(#)==2 ) { int o=#[1]; int p=#[2]; int b=30000; }
128
+ else {if( size(#)==1 ) { int o=#[1]; int p=75; int b=30000; }
129
+ else {if( size(#)==0 ) { int o=u; int p=75; int b=30000; }}}}
130
+ //------------------ use sparsemat for creation of sparseid -------------------
131
+ int ii; matrix i[1][k]; intmat m;
132
+ if( u <=0 )
133
+ {
134
+ m = sparsemat(1,k,p,b);
135
+ i = m;
136
+ u=1;
137
+ }
138
+ for ( ii=u; ii<=o; ii++)
139
+ {
140
+ m = sparsemat(size(maxideal(ii)),k,p,b);
141
+ i = i+matrix(maxideal(ii))*m;
142
+ }
143
+ return(ideal(i));
144
+ }
145
+ example
146
+ { "EXAMPLE:"; echo = 2;
147
+ ring r = 0,(a,b,c,d),ds;
148
+ sparseid(2,3);"";
149
+ sparseid(3,0,4,90,9);
150
+ }
151
+
152
+ ///////////////////////////////////////////////////////////////////////////////
153
+ proc sparseHomogIdeal (int k, int u, list #)
154
+ "USAGE: sparseid(k,u[,o,p,b]); k,u,o,p,b integers
155
+ RETURN: ideal having k homogeneous generators, each of random degree in the
156
+ interval [u,o], p percent of terms in degree d are 0, the remaining
157
+ have random coefficients in the interval [1,b], (default: o=u, p=75,
158
+ b=30000)
159
+ EXAMPLE: example sparseid; shows an example
160
+ "
161
+ {
162
+ //----------------------------- set defaults ----------------------------------
163
+ if( size(#)>=3 ) { int o=#[1]; int p=#[2]; int b=#[3]; }
164
+ if( size(#)==2 ) { int o=#[1]; int p=#[2]; int b=30000; }
165
+ if( size(#)==1 ) { int o=#[1]; int p=75; int b=30000; }
166
+ if( size(#)==0 ) { int o=u; int p=75; int b=30000; }
167
+ //------------------ use sparsemat for creation of sparseid -------------------
168
+ int ii; ideal i; intmat m; ideal id;
169
+
170
+ for ( ii=k; ii>0; ii--)
171
+ {
172
+ id = maxideal(random(u, o)); // monomial basis of some degree
173
+ m = sparsemat(size(id),1,p,b); // random coefficients
174
+ i[ii] = (matrix(id)*m)[1,1];
175
+ }
176
+ return(i);
177
+ }
178
+ example
179
+ { "EXAMPLE:"; echo = 2;
180
+ ring r = 0,(a,b,c,d),dp;
181
+ sparseHomogIdeal(2,3);"";
182
+ sparseHomogIdeal(3,0,4,90,9);
183
+ }
184
+
185
+
186
+ ///////////////////////////////////////////////////////////////////////////////
187
+
188
+ proc sparsemat (int n, int m, list #)
189
+ "USAGE: sparsemat(n,m[,p,b]); n,m,p,b integers
190
+ RETURN: nxm integer matrix, p percent of the entries are 0, the remaining
191
+ are random coefficients >=1 and <= b; [defaults: (p,b) = (75,1)]
192
+ EXAMPLE: example sparsemat; shows an example
193
+ "
194
+ {
195
+ int r,h,ii;
196
+ int t = n*m;
197
+ intmat v[1][t];
198
+ //----------------------------- set defaults ----------------------------------
199
+ if( size(#)>=2 ) { int p=#[1]; int b=#[2]; }
200
+ if( size(#)==1 ) { int p=#[1]; int b=1; }
201
+ if( size(#)==0 ) { int p=75; int b=1; }
202
+ //------------------------- check trivial cases ------------------------------
203
+ if( p<0 ) { p = 0; }
204
+ if(p>100) { p=100; }
205
+ //--------------- this is faster for not very sparse matrices ----------------
206
+ if( p<40 )
207
+ {
208
+ for( ii=1; ii<=t; ii++ )
209
+ { r=( random(1,100)>p ); v[1,ii]=r*random(1,b); h=h+r; }
210
+ }
211
+ int bb = t*(100-p);
212
+ if( 100*h > bb )
213
+ {
214
+ while( 100*h > bb )
215
+ { r=random(1,t); h=h-( v[1,r]>0 ); v[1,r]=0; }
216
+ }
217
+ else
218
+ {
219
+ //------------------- this is faster for sparse matrices ---------------------
220
+ while ( 100*h < bb )
221
+ { r=random(1,t); h=h+(v[1,r]==0); v[1,r]=random(1,b); }
222
+ }
223
+ intmat M[n][m] = v[1,1..t];
224
+ return(M);
225
+ }
226
+ example
227
+ { "EXAMPLE:"; echo = 2;
228
+ sparsemat(5,5);"";
229
+ sparsemat(5,5,95);"";
230
+ sparsemat(5,5,5);"";
231
+ sparsemat(5,5,50,100);
232
+ }
233
+ ///////////////////////////////////////////////////////////////////////////////
234
+ proc sparsematrix (int n, int m, int o, list #)
235
+ "USAGE: sparsematrix(n,m,o[,u,pe,pp,b]); n,m,o,u,pe,pp,b integers
236
+ RETURN: nxm matrix, about pe percent of the entries are 0, the remaining
237
+ are random polynomials of degree d, u<=d<=o, with pp percent of
238
+ the terms being 0, the remaining have random coefficients
239
+ in the interval [1,b] [default: (pe,u,pp,b) = (0,50,75,100)]
240
+ EXAMPLE: example sparsematrix; shows an example
241
+ "
242
+ {
243
+ int ii,jj;
244
+ ideal id;
245
+ matrix M[n][m];
246
+ //----------------------------- set defaults ----------------------------------
247
+ int pe=50;int u=0;int pp=75;int b=100;
248
+ if( size(#)==4 ) { u=#[1]; pe=#[2]; pp=#[3]; b=#[4]; }
249
+ else { if( size(#)==3 ) { u=#[1]; pe=#[2]; pp=#[3]; }
250
+ else { if( size(#)==2 ) { u=#[1]; pe=#[2]; }
251
+ else {if( size(#)==1 ) { u=#[1]; }}}}
252
+ //------------------- use sparsemat and sparseid -----------------------------
253
+ intmat I = sparsemat(n,m,pe,1);
254
+ for(ii=n; ii>0;ii--)
255
+ {
256
+ id = sparseid(m,u,o,pp,b);
257
+ for(jj=m; jj>0; jj--)
258
+ {
259
+ if( I[ii,jj] !=0)
260
+ {
261
+ M[ii,jj]=id[jj];
262
+ }
263
+ }
264
+ }
265
+ return(M);
266
+ }
267
+ example
268
+ { "EXAMPLE:"; echo = 2;
269
+ ring r = 0,(a,b,c,d),dp;
270
+ // sparse matrix of sparse polys of degree <=2:
271
+ print(sparsematrix(3,4,2));"";
272
+ // dense matrix of sparse linear forms:
273
+ print(sparsematrix(3,3,1,1,0,55,9));
274
+ }
275
+ ///////////////////////////////////////////////////////////////////////////////
276
+
277
+ proc sparsepoly (int u, list #)
278
+ "USAGE: sparsepoly(u[,o,p,b]); u,o,p,b integers
279
+ RETURN: poly having only terms in degree d, u<=d<=o, p percentage of the terms
280
+ in degree d are 0, the remaining have random coefficients in [1,b),
281
+ (defaults: o=u, p=75, b=30000)
282
+ EXAMPLE: example sparsepoly; shows an example
283
+ "
284
+ {
285
+ //----------------------------- set defaults ----------------------------------
286
+ if( size(#)>=3 ) { int o=#[1]; int p=#[2]; int b=#[3]; }
287
+ else {if( size(#)==2 ) { int o=#[1]; int p=#[2]; int b=30000; }
288
+ else {if( size(#)==1 ) { int o=#[1]; int p=75; int b=30000; }
289
+ else {if( size(#)==0 ) { int o=u; int p=75; int b=30000; }}}}
290
+ int ii; poly f;
291
+ //----------------- use sparseid for creation of sparsepoly -------------------
292
+ for( ii=u; ii<=o; ii++ ) { f=f+sparseid(1,ii,ii,p,b)[1]; }
293
+ return(f);
294
+ }
295
+ example
296
+ { "EXAMPLE:"; echo = 2;
297
+ ring r=0,(x,y,z),dp;
298
+ sparsepoly(5);"";
299
+ sparsepoly(3,5,90,9);
300
+ }
301
+ ///////////////////////////////////////////////////////////////////////////////
302
+
303
+ proc sparsetriag (int n, int m, list #)
304
+ "USAGE: sparsetriag(n,m[,p,b]); n,m,p,b integers
305
+ RETURN: nxm lower triagonal integer matrix, diagonal entries equal to 1, about
306
+ p percent of lower diagonal entries are 0, the remaining are random
307
+ integers >=1 and <= b; [defaults: (p,b) = (75,1)]
308
+ EXAMPLE: example sparsetriag; shows an example
309
+ "
310
+ {
311
+ int ii,min,l,r; intmat M[n][m];
312
+ int t=(n*(n-1)) div 2;
313
+ //----------------------------- set defaults ----------------------------------
314
+ if( size(#)>=2 ) { int p=#[1]; int b=#[2]; }
315
+ if( size(#)==1 ) { int p=#[1]; int b=1; }
316
+ if( size(#)==0 ) { int p=75; int b=1; }
317
+ //---------------- use sparsemat for creation of sparsetriag ------------------
318
+ intmat v[1][t]=sparsemat(1,t,p,b);
319
+ if( n<=m ) { min=n-1; M[n,n]=1; }
320
+ else { min=m; }
321
+ for( ii=1; ii<=min; ii++ )
322
+ {
323
+ l=r+1; r=r+n-ii;
324
+ M[ii..n,ii]=1,v[1,l..r];
325
+ }
326
+ return(M);
327
+ }
328
+ example
329
+ { "EXAMPLE:"; echo = 2;
330
+ sparsetriag(5,7);"";
331
+ sparsetriag(7,5,90);"";
332
+ sparsetriag(5,5,0);"";
333
+ sparsetriag(5,5,50,100);
334
+ }
335
+ ///////////////////////////////////////////////////////////////////////////////
336
+ proc triagmatrix (int n, int m, int o, list #)
337
+ "USAGE: triagmatrix(n,m,o[,u,pe,pp,b]); n,m,o,u,pe,pp,b integers
338
+ RETURN: nxm lower triagonal matrix, diagonal entries equal to 1, about
339
+ p percent of lower diagonal entries are 0, the remaining
340
+ are random polynomials of degree d, u<=d<=o, with pp percent of
341
+ the terms being 0, the remaining have random coefficients
342
+ in the interval [1,b] [default: (pe,u,pp,b) = (0,50,75,100)]
343
+ EXAMPLE: example triagmatrix; shows an example
344
+ "
345
+ {
346
+ int ii,jj;
347
+ ideal id;
348
+ matrix M[n][m];
349
+ //----------------------------- set defaults ----------------------------------
350
+ int pe=50;int u=0;int pp=75;int b=100;
351
+ if( size(#)==4 ) { u=#[1]; pe=#[2]; pp=#[3]; b=#[4]; }
352
+ if( size(#)==3 ) { u=#[1]; pe=#[2]; pp=#[3]; }
353
+ if( size(#)==2 ) { u=#[1]; pe=#[2]; }
354
+ if( size(#)==1 ) { u=#[1]; }
355
+ //------------------- use sparsemat and sparseid -----------------------------
356
+ intmat I = sparsetriag(n,m,pe,1);
357
+ for(ii=1; ii<=n;ii++)
358
+ {
359
+ id = sparseid(m,u,o,pp,b);
360
+ for(jj=1; jj<ii; jj++)
361
+ {
362
+ if( I[ii,jj] !=0)
363
+ {
364
+ M[ii,jj]=id[jj];
365
+ }
366
+ }
367
+ }
368
+ for(ii=1; ii<=n;ii++)
369
+ {
370
+ M[ii,ii]=1;
371
+ }
372
+ return(M);
373
+ }
374
+ example
375
+ { "EXAMPLE:"; echo = 2;
376
+ ring r = 0,(a,b,c,d),dp;
377
+ // sparse triagonal matrix of sparse polys of degree <=2:
378
+ print(triagmatrix(3,4,2));"";
379
+ // dense triagonal matrix of sparse linear forms:
380
+ print(triagmatrix(3,3,1,1,0,55,9));
381
+ }
382
+ ///////////////////////////////////////////////////////////////////////////////
383
+
384
+ proc randomLast(int b)
385
+ "USAGE: randomLast(b); b int
386
+ RETURN: ideal = maxideal(1), but the last variable is exchanged by a random
387
+ linear combination of all variables, with coefficients in the
388
+ interval [-b,b], except for the last variable which always has
389
+ coefficient 1
390
+ EXAMPLE: example randomLast; shows an example
391
+ "
392
+ {
393
+ ideal i=maxideal(1);
394
+ int k=nvars(basering);
395
+ if (k<=1) { return(i);}
396
+ i[k]=0;
397
+ i=randomid(i,size(i),b);
398
+ ideal ires=maxideal(1);
399
+ ires[k]=i[1]+var(k);
400
+ return(ires);
401
+ }
402
+ example
403
+ { "EXAMPLE:"; echo = 2;
404
+ ring r = 0,(x,y,z),lp;
405
+ ideal i = randomLast(10);
406
+ i;
407
+ }
408
+ ///////////////////////////////////////////////////////////////////////////////
409
+
410
+ proc randomBinomial(int k, int u, list #)
411
+ "USAGE: randomBinomial(k,u[,o,b]); k,u,o,b integers
412
+ RETURN: binomial ideal, k homogeneous generators of degree d, u<=d<=o, with
413
+ randomly chosen monomials and coefficients in the interval [-b,b]
414
+ (default: u=o, b=10).
415
+ EXAMPLE: example randomBinomial; shows an example
416
+ "
417
+ {
418
+ //----------------------------- set defaults ----------------------------------
419
+ if( size(#)>=2 ) { int o=#[1]; int b=#[2]; }
420
+ if( size(#)==1 ) { int o=#[1]; int b=10; }
421
+ if( size(#)==0 ) { int o=u; int b=10; }
422
+ //------------------ use sparsemat for creation of sparseid -------------------
423
+ ideal i,m;
424
+ int ii,jj,s,r1,r2;
425
+ if ( o<u ) { o=u; }
426
+ int a = k div (o-u+1);
427
+ int c = k mod (o-u+1);
428
+ for ( ii = u; ii<=o; ii++ )
429
+ { m = maxideal(ii);
430
+ s = size(m);
431
+ for ( jj=1; jj<=a; jj++ )
432
+ { r1 = random(-b,b);
433
+ r1 = r1 + (r1==0)*random(1,b);
434
+ r2 = random(-b,b);
435
+ r2 = r2 + (r2==0)*random(-b,-1);
436
+ i = i,r1*m[random(1,s div 2)] + r1*m[random(s div 2+1,s)];
437
+ if ( ii < c+u )
438
+ { r1 = random(-b,b);
439
+ r1 = r1 + (r1==0)*random(1,b);
440
+ r2 = random(-b,b);
441
+ r2 = r2 + (r2==0)*random(-b,-1);
442
+ i = i,r1*m[random(1,s div 2)] + r2*m[random(s div 2+1,s)];
443
+ }
444
+ }
445
+ }
446
+ i = i[2..k+1];
447
+ return(i);
448
+ }
449
+ example
450
+ { "EXAMPLE:"; echo = 2;
451
+ ring r = 0,(x,y,z),lp;
452
+ ideal i = randomBinomial(4,5,6);
453
+ i;
454
+ }
455
+ ///////////////////////////////////////////////////////////////////////////////