Abstract
For positive integers m, n, let \(\mathcal {I}_1=\{I_1,\ldots ,I_m\}\) be a given collection of face ideals in \(\mathbb {Z}[X_1,\ldots ,X_n]\). This paper presents a progressive multi-branch recursive algorithm for finding the intersection of \(\mathcal {I}_1\). Based on a constructive method, confluent complement (\(\textsf {c-}\))tuples are the new entities from which the monomials in the minimal system of generators of the intersection are formed. Solid superiority of a series of computer codes called ConFuL that supports the underlying theory in comparison with a leading computer algebra system is shown. Empirically, in a series of large scale examples, it is shown that ConFuL on average is at least 50 times faster. ConFuL successfully calculated two largest ever minimal generating sets of face ideals that are 5, 789, 900 and 6, 239, 350 in record time. The time complexity for core parts of the algorithms is shown to be linear polynomial-time in m.
Similar content being viewed by others
References
Arnold, A., Nivat, M.: Non-deterministic recursive program schemes. in LNCS 56, FCT, Ed. G. Goos, J. Hartmanis, 12-21 (1977)
Cameron, P. J.: Polynomial aspects of codes, matroids and permutation groups. Available at the website of the author at http://www.maths.qmul.ac.uk/~pjc/csgnotes/cmpgpoly.pdf (2002)
Courcelle, B., Nivat, M.: The algebraic semantics of recursive program schemes. in Proceedings of MFCS 1978, LNCS, 64, 16-30 (1978)
Courcelle, B., Nivat, M.: Algebraic families of interpretations. in \(17^{th}\) Symp. of Foundations of Computer Science, 137-146 (1976)
Cutland, N.J.: Computability, an Introduction to recursive function theory. Cambridge University Press, London, New York (1980)
Decker, W., Greuel, G.-M., Pfister, G., Schönemann, H.: Singular 3-1-6 — a computer algebra system for polynomial computations. Center for Computer Algebra, University of Kaiserslautern, http://www.singular.uni-kl.de (2012)
Eliahou, S., Kervaire, M.: Minimal resolutions of some monomial ideals. J. Algebra 129, 1–25 (1990)
Gill, J.: Computational complexity of probabilistic Turing machines. SIAM J. Comput. 6(4), 675–695 (1977)
Puiseux, V.A.: Recherches sur les fonctions algébriques. J. Math. Pure Appl. 9(15), 365–480 (1850)
Sabeti, R.: Polynomial expressions for non-binomial structures. Theoret. Comput. Science 762, 13–24 (2019)
Santos, E.S.: Probabilistic Turing machines and computability. Proc. Amer. Math. Soc. 22, 704–710 (1969)
Sipser, M.: Introduction to the theory of computation. \(2^{ed}\) edition, Thomson Course Technology, (2006)
Acknowledgements
In creating the illuminating future of this paper, very instrumental will be the supportive comments of the referee I received and I am very much appreciative.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
Example 14
With the data as in Example 4, using Singular or ConFuL we write \(G \left( \bigcap _{i=1}^4 I_i \right) =\left\{ X_1X_2X_4,X_1X_3,X_1X_5,X_2X_3,X_2X_5,X_3X_4,X_4X_5 \right\} .\) A table for corresponding \(\textsf {c-}\)tuples in \(G \left( \bigcap _{i=1}^4 I_i \right) \) follows. In Table 1, we exhibit all possible non-empty sub-collections (like \(\mathcal {F}'\) in Lemma 3) associated with the corresponding \(\textsf {c-}\)tuple.
Example 15
Let’s recall the data given in Example 6 with \(\mathcal {I}_1\) as follows
The method in this paper starts with a selection of all possible variables as an initial of a level\(-1\) \(\textsf {c-}\)tuple. The following table shows all the possibilities.
The transition from level\(-1\) to level\(-2\) extension continues by selecting a level\(-1\) \(\textsf {c-}\)tuple from Table 2 (say \((X_1)\)) and form level\(-2\) extendible set for \((X_1)\). At this stage, there is a major difference between this example and Example 9. Here, since \((X_1,X_3)\) does not form a level\(-2\) \(\textsf {c-}\)tuple, then \(X_3 \notin \mathcal {E}_2\left( (X_1)\right) \). To give an analysis, notice that (by the way it is defined in (5)) we consider \(\mathcal {F}(X_1)=\{ I_2,I_4\}\) and \(\mathcal {I}_2=\mathcal {I}_1 \backslash \mathcal {F}(X_1) =\{I_1,I_3,I_5\}\). The main cause of failure is the fact that \(\mathcal {F}(X_3)=\{I \in \mathcal {I}_2: X_3 \in G(I) \}=\varnothing \). Practically, since \(X_1 \in G(I_2 \cap I_4)\) and \(X_3 \in G(I_2)\), then \(X_1X_3 \notin G(I_2 \cap I_4)\). This situation does not happen for \(X_2,X_4,X_5\) and \(X_6\). Finally, we write \( \mathcal {E}_2\left( (X_1)\right) = \{X_2,X_4,X_5,X_6\}\).
From Table 3, we follow one branch that emanates from \((X_1,X_2)\). In total, there are four candidates \(X_3,X_4,X_5\) and \(X_6\) as the third variable. In Definition 4, set \(\widetilde{\mathcal {F}}=\mathcal {F}(X_1)\). It can be easily verified that neither of the pairs \((X_2,X_j); j=3,4,5,6\) fills \(\mathcal {F}(X_1)\). To add \(X_3\) we should be careful about the sets and collections in (5). We calculate \(\mathcal {F}(X_1,X_2)=\{I_2,I_3,I_4\}\), \(\mathcal {I}_3=\mathcal {I}_1 \backslash \mathcal {F}(X_1,X_2)=\{I_1,I_5\}\) and that concludes \(\mathcal {F}(X_3)=\{I \in \mathcal {I}_3 : X_3 \in G(I)\}=\varnothing \). Since \(\mathcal {F}(X_3)=\varnothing \) and \(\mathcal {F}(X_1,X_2,X_3)=\mathcal {F}(X_1,X_2)\), if \(\mathcal {F}'\) exists with \(X_1X_2X_3 \in G\left( \bigcap _{I \in \mathcal {F}'} I \right) \), then \(\mathcal {F}' \subset \mathcal {F}(X_1,X_2)\). However, this does not occur because \(X_1X_2 \in G\left( \bigcap _{I \in \mathcal {F}(X_1,X_2)} I \right) \). This finally concludes the fact that \((X_1,X_2,X_3)\) is not an extended \(\textsf {c-}\)tuple (stemmed from \((X_1,X_2)\)). Much easier analysis leads to the fact that \((X_1,X_2,X_4)\), \((X_1,X_2,X_5)\) and \((X_1,X_2,X_6)\) are three level\(-3\) \(\textsf {c-}\)tuple (stemmed from \((X_1,X_2)\)). In order to complete the so-called flow of the \(\textsf {c-}\)tuples in this branch, we will examine each of these remaining three separately. Clearly, since \(w(X_1,X_2,X_6)=5=m\), \((X_1,X_2,X_6)\) is a closed \(\textsf {c-}\)tuple. For an analysis of \((X_1,X_2,X_5)\), notice that the only way that it can be extended is by adding \(X_6\). All the criteria hold for \((X_1,X_2,X_4)\) as a level\(-3\) \(\textsf {c-}\)tuple. Two possible extended forms of \((X_1,X_2,X_4)\) to a level\(-4\) \(\textsf {c-}\)tuple can be obtained by adding \(X_5\) or \(X_6\) as a forth variable. Adding \(X_5\) will not occur as \((X_4,X_5)\) fills \(\mathcal {F}(X_2)\). Notice that for \(\widetilde{\mathcal {F}}=\mathcal {F}(X_2)\) neither of the variables \(X_4\) or \(X_6\) falls into any of the sets in Definition 4. The condition of non-emptiness for at least one of the sets in the Definition 4 is supposed to be true. Since \(X_1X_2X_6\) divides \(X_1X_2X_4X_6\), then \((X_1,X_2,X_4,X_6)\) will be rejected as possible candidates for a closed \(\textsf {c-}\)tuple. This analysis continues by selecting another level\(-2\) \(\textsf {c-}\)tuple from Table 3 until all of them are analyzed. Then we start picking another one from Table 2. The process continues until all possible candidates are considered. Finally, \(\textsf {M}( \mathcal {C}\left( \mathcal {I}_1\right) )=X_1X_2X_{6},X_1X_{4}X_{5},X_1X_5X_{6},X_2X_{3}X_{4}X_{6},X_3X_4X_5.\)
About this article
Cite this article
Sabeti, R. Confluent complement: an algorithm for the intersection of face ideals. Japan J. Indust. Appl. Math. 39, 693–715 (2022). https://doi.org/10.1007/s13160-022-00504-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13160-022-00504-3