Skip to main content
Log in

Confluent complement: an algorithm for the intersection of face ideals

  • Original Paper
  • Published:
Japan Journal of Industrial and Applied Mathematics Aims and scope Submit manuscript

Abstract

For positive integers mn, 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Arnold, A., Nivat, M.: Non-deterministic recursive program schemes. in LNCS 56, FCT, Ed. G. Goos, J. Hartmanis, 12-21 (1977)

  2. 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)

  3. Courcelle, B., Nivat, M.: The algebraic semantics of recursive program schemes. in Proceedings of MFCS 1978, LNCS, 64, 16-30 (1978)

  4. Courcelle, B., Nivat, M.: Algebraic families of interpretations. in \(17^{th}\) Symp. of Foundations of Computer Science, 137-146 (1976)

  5. Cutland, N.J.: Computability, an Introduction to recursive function theory. Cambridge University Press, London, New York (1980)

    MATH  Google Scholar 

  6. 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)

  7. Eliahou, S., Kervaire, M.: Minimal resolutions of some monomial ideals. J. Algebra 129, 1–25 (1990)

    Article  MathSciNet  Google Scholar 

  8. Gill, J.: Computational complexity of probabilistic Turing machines. SIAM J. Comput. 6(4), 675–695 (1977)

    Article  MathSciNet  Google Scholar 

  9. Puiseux, V.A.: Recherches sur les fonctions algébriques. J. Math. Pure Appl. 9(15), 365–480 (1850)

    Google Scholar 

  10. Sabeti, R.: Polynomial expressions for non-binomial structures. Theoret. Comput. Science 762, 13–24 (2019)

    Article  MathSciNet  Google Scholar 

  11. Santos, E.S.: Probabilistic Turing machines and computability. Proc. Amer. Math. Soc. 22, 704–710 (1969)

    Article  MathSciNet  Google Scholar 

  12. Sipser, M.: Introduction to the theory of computation. \(2^{ed}\) edition, Thomson Course Technology, (2006)

Download references

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

Authors

Corresponding author

Correspondence to Rostam Sabeti.

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.

Table 1 Data for Example 14

Example 15

Let’s recall the data given in Example 6 with \(\mathcal {I}_1\) as follows

$$\begin{aligned} \mathcal {I}_1=\left\{ \begin{array}{llll} I_1=I(X_4,X_{6}), I_2=I(X_1,X_{3}), I_3=I(X_{2},X_{5}), \\ I_4=I(X_1,X_4), I_5=I(X_{5},X_{6}) \\ \end{array} \right\} . \end{aligned}$$

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.

Table 2 Level-1 extendible set for Example 15

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\}\).

Table 3 A level-2 extention for Example 15

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.\)

Fig. 1
figure 1

A prototype stream of stages 1-2 and 2-3 extendible confluent complement tuples

Fig. 2
figure 2

Diagrams of the sub-collections formed in (5) and the associated monomials

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13160-022-00504-3

Keywords

Mathematics Subject Classification

Navigation