Abstract
Motivated by problems arising with the symbolic analysis of steady state ideals in Chemical Reaction Network Theory, we consider the problem of testing whether the points in a complex or real variety with non-zero coordinates form a coset of a multiplicative group. That property corresponds to Shifted Toricity, a recent generalization of toricity of the corresponding polynomial ideal. The key idea is to take a geometric view on varieties rather than an algebraic view on ideals. Recently, corresponding coset tests have been proposed for complex and for real varieties. The former combine numerous techniques from commutative algorithmic algebra with Gröbner bases as the central algorithmic tool. The latter are based on interpreted first-order logic in real closed fields with real quantifier elimination techniques on the algorithmic side. Here we take a new logic approach to both theories, complex and real, and beyond. Besides alternative algorithms, our approach provides a unified view on theories of fields and helps to understand the relevance and interconnection of the rich existing literature in the area, which has been focusing on complex numbers, while from a scientific point of view the (positive) real numbers are clearly the relevant domain in chemical reaction network theory. We apply prototypical implementations of our new approach to a set of 129 models from the BioModels repository.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
SMT technically aims at the existential fragment, which in our context is equivalent to the universal fragment via logical negation.
References
Ábrahám, E., et al.: Satisfiability checking and symbolic computation. ACM Commun. Comput. Algebra 50(4), 145–147 (2016). https://doi.org/10.1145/3055282.3055285
Ábrahám, E., Abbott, J., Becker, B., Bigatti, A.M., Brain, M., Buchberger, B., Cimatti, A., Davenport, J.H., England, M., Fontaine, P., Forrest, S., Griggio, A., Kroening, D., Seiler, W.M., Sturm, T.: \(SC\wedge {2}\): Satisfiability checking meets symbolic computation. In: Kohlhase, M., Johansson, M., Miller, B., de de Moura, L., Tompa, F. (eds.) CICM 2016. LNCS (LNAI), vol. 9791, pp. 28–43. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42547-4_3
Becker, T., Weispfenning, V., Kredel, H.: Gröbner Bases, a Computational Approach to Commutative Algebra, Graduate Texts in Mathematics. Springer, Berlin (1993). https://doi.org/10.1007/978-1-4612-0913-3
Boltzmann, L.: Lectures on Gas Theory. University of California Press, Berkeley and Los Angeles, CA (1964)
Boulier, F.: The SYMBIONT project: symbolic methods for biological networks. ACM Commun. Comput. Algebra 52(3), 67–70 (2018). https://doi.org/10.1145/3313880.3313885
Boulier, F., Fages, F., Radulescu, O., Samal, S.S., Schuppert, A., Seiler, W., Sturm, T., Walcher, S., Weber, A.: The SYMBIONT project: Symbolic methods for biological networks. F1000Research 7(1341) (2018). https://doi.org/10.7490/f1000research.1115995.1
Brownawell, W.D.: Bounds for the degrees in the Nullstellensatz. Ann. Math. 126(3), 577–591 (1987). https://doi.org/10.2307/1971361
Buchberger, B.: Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalen Polynomideal. Doctoral dissertation, Mathematical Institute, University of Innsbruck, Austria (1965)
Chelliah, N., et al.: BioModels: Ten-year anniversary. Nucl. Acids Res. 43(D1), 542–548 (2015). https://doi.org/10.1093/nar/gku1181
Conradi, C., Kahle, T.: Detecting binomiality. Adv. Appl. Math. 71, 52–67 (2015). https://doi.org/10.1016/j.aam.2015.08.004
Craciun, G., Dickenstein, A., Shiu, A., Sturmfels, B.: Toric dynamical systems. J. Symb. Comput. 44(11), 1551–1565 (2009). https://doi.org/10.1016/j.jsc.2008.08.006
Davenport, J.H., Heintz, J.: Real quantifier elimination is doubly exponential. J. Symb. Comput. 5(1–2), 29–35 (1988). https://doi.org/10.1016/S0747-7171(88)80004-X
Dolzmann, A., Sturm, T.: Redlog: Computer algebra meets computer logic. ACM SIGSAM Bulletin 31(2), 2–9 (1997). https://doi.org/10.1145/261320.261324
Dolzmann, A., Sturm, T.: Simplification of quantifier-free formulae over ordered fields. J. Symb. Comput. 24(2), 209–231 (1997). https://doi.org/10.1006/jsco.1997.0123
Einstein, A.: Strahlungs-emission und -absorption nach der Quantentheorie. Verh. Dtsch. Phys. Ges. 18, 318–323 (1916)
Eisenbud, D., Sturmfels, B.: Binomial ideals. Duke Math. J. 84(1), 1–45 (1996). https://doi.org/10.1215/S0012-7094-96-08401-X
Faugère, J.C.: A new efficient algorithm for computing Gröbner bases (F4). J. Pure Appl. Algebra 139(1–3), 61–88 (1999). https://doi.org/10.1145/780506.780516
Feinberg, M.: Complex balancing in general kinetic systems. Arch. Ration. Mech. An. 49(3), 187–194 (1972). https://doi.org/10.1007/BF00255665
Feinberg, M.: Stability of complex isothermal reactors-I. The deficiency zero and deficiency one theorems. Chem. Eng. Sci. 42(10), 2229–2268 (1987). https://doi.org/10.1016/0009-2509(87)80099-4
Feinberg, M.: Foundations of Chemical Reaction Network Theory, Applied Mathematical Sciences. Springer, New York (2019). https://doi.org/10.1007/978-3-030-03858-8
Fontaine, P., Ogawa, M., Sturm, T., Vu, X.T.: Subtropical satisfiability. In: Dixon, C., Finger, M. (eds.) FroCoS 2017. LNCS (LNAI), vol. 10483, pp. 189–206. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66167-4_11
Fuentes, M.E., Varón, R., García-Moreno, M., Valero, E.: Kinetics of intra- and intermolecular zymogen activation with formation of an enzyme-zymogen complex. The FEBS Journal 272(1), 85–96 (2005). https://doi.org/10.1111/j.1432-1033.2004.04400.x
Fulton, W.: Introduction to Toric Varieties, Annals of Mathematics Studies. Princeton University Press, New Jersey (1993)
Gatermann, K., Wolfrum, M.: Bernstein’s second theorem and Viro’s method for sparse polynomial systems in chemistry. Adv. Appl. Math. 34(2), 252–294 (2005). https://doi.org/10.1016/j.aam.2004.04.003
Grigor’ev, D.Y.: The complexity of the decision problem for the first-order theory of algebraically closed fields. Math. USSR Izv. 29(2), 459–475 (1987). https://doi.org/10.1070/IM1987v029n02ABEH000979
Grigor’ev, D.Y.: Complexity of deciding Tarski algebra. J. Symb. Comput. 5(1–2), 65–108 (1988). https://doi.org/10.1016/S0747-7171(88)80006-3
Grigoriev, D., Iosif, A., Rahkooy, H., Sturm, T., Weber, A.: Efficiently and effectively recognizing toricity of steady state varieties. Math. Comput. Sci. (2020). https://doi.org/10.1007/s11786-020-00479-9
Grigoriev, D., Milman, P.D.: Nash resolution for binomial varieties as Euclidean division. a priori termination bound, polynomial complexity in essential dimension 2. Adv. Math. 231(6), 3389–3428 (2012). https://doi.org/10.1016/j.aim.2012.08.009
Grigoriev, D., Weber, A.: Complexity of solving systems with few independent monomials and applications to mass-action kinetics. In: Gerdt, V.P., Koepf, W., Mayr, E.W., Vorozhtsov, E.V. (eds.) CASC 2012. LNCS, vol. 7442, pp. 143–154. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32973-9_12
Heintz, J.: Definability and fast quantifier eliminarion in algebraically closed fields. Theor. Comput. Sci. 24, 239–277 (1983). https://doi.org/10.1016/0304-3975(83)90002-6
Hilbert, D.: Über die vollen Invariantensysteme. Math. Ann. 42, 313–373 (1893). https://doi.org/10.1007/BF01444162
Hong, H., Sturm, T.: Positive solutions of systems of signed parametric polynomial inequalities. In: Gerdt, V.P., Koepf, W., Seiler, W.M., Vorozhtsov, E.V. (eds.) CASC 2018. LNCS, vol. 11077, pp. 238–253. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-99639-4_17
Horn, F., Jackson, R.: General mass action kinetics. Arch. Ration. Mech. An. 47(2), 81–116 (1972). https://doi.org/10.1007/BF00251225
Kahle, T.: Decompositions of binomial ideals. Ann. I. Stat. Math. 62(4), 727–745 (2010). https://doi.org/10.1007/s10463-010-0290-9
Kahle, T.: Decompositions of binomial ideals. J. Software Algebra Geometry 4(1), 1–5 (2012). https://doi.org/10.2140/jsag.2012.4.1
Katthän, L., Michałek, M., Miller, E.: When is a polynomial ideal binomial after an ambient automorphism? Found. Comput. Math. 19(6), 1363–1385 (2018). https://doi.org/10.1007/s10208-018-9405-0
Kedlaya, K.S.: Finite automata and algebraic extensions of function fields. Journal de Théorie des Nombres de Bordeaux 18(2), 379–420 (2006). https://doi.org/10.5802/jtnb.551
Kollar, J.: Sharp effective Nullstellensatz. J. Am. Math. Soc. 1(4), 963–975 (1988). https://doi.org/10.2307/1990996
Košta, M.: New Concepts for Real Quantifier Elimination by Virtual Substitution. Doctoral dissertation, Saarland University, Germany (2016). https://doi.org/10.22028/D291-26679
Mayr, E.W., Meyer, A.R.: The complexity of the word problems for commutative semigroups and polynomial ideals. Adv. Math. 46(3), 305–329 (1982). https://doi.org/10.1016/0001-8708(82)90048-2
Müller, S., Feliu, E., Regensburger, G., Conradi, C., Shiu, A., Dickenstein, A.: Sign Conditions for Injectivity of Generalized Polynomial Maps with Applications to Chemical Reaction Networks and Real Algebraic Geometry. Found. Comput. Math. 16(1), 69–97 (2015). https://doi.org/10.1007/s10208-014-9239-3
Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT modulo theories: from an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). J. ACM 53(6), 937–977 (2006). https://doi.org/10.1145/1217856.1217859
Onsager, L.: Reciprocal relations in irreversible processes. I. Phys. Rev. 37(4), 405 (1931). https://doi.org/10.1103/PhysRev.37.405
Pérez Millán, M., Dickenstein, A.: The structure of MESSI biological systems. SIAM J. Appl. Dyn. Syst. 17(2), 1650–1682 (2018). https://doi.org/10.1137/17M1113722
Pérez Millán, M., Dickenstein, A., Shiu, A., Conradi, C.: Chemical reaction systems with toric steady states. Bull. Math. Biol. 74(5), 1027–1065 (2012). https://doi.org/10.1007/s11538-011-9685-x
Seidl, A.: Cylindrical Decomposition Under Application-Oriented Paradigms. Doctoral dissertation, University of Passau, Germany (2006), https://nbn-resolving.org/urn:nbn:de:bvb:739-opus-816
Sturm, T.: Subtropical real root finding. In: Yokoyama, K., Linton, S., Robertz, D. (eds.) Proceedings of the 2015 ACM International Symposium on Symbolic and Algebraic Computation, ISSAC 2015, Bath, United Kingdom, July 6–9, 2015, pp. 347–354. ACM (2015). https://doi.org/10.1145/2755996.2756677
Tange, O.: GNU Parallel: The command-line power tool. login: The USENIX Magazine 36(1), 42–47 (2011), https://www.usenix.org/publications/login/february-2011-volume-36-number-1/gnu-parallel-command-line-power-tool
Tarski, A.: A decision method for elementary algebra and geometry. Prepared for publication by J. C. C. McKinsey. RAND Report R109, August 1, 1948, Revised May 1951, Second Edition, RAND, Santa Monica, CA (1957)
Wang, S., Lin, J.R., Sontag, E.D., Sorger, P.K.: Inferring reaction network structure from single-cell, multiplex data, using toric systems theory. PLoS Comput. Biol. 15(12), e1007311 (2019). https://doi.org/10.1371/journal.pcbi.1007311
Wegscheider, R.: Über simultane Gleichgewichte und die Beziehungen zwischen Thermodynamik und Reactionskinetik homogener Systeme. Monatsh. Chem. Verw. Tl. 22(8), 849–906 (1901). https://doi.org/10.1007/BF01517498
Weispfenning, V.: The complexity of linear problems in fields. J. Symb. Comput. 5(1–2), 3–27 (1988). https://doi.org/10.1016/S0747-7171(88)80003-8
Weispfenning, V.: Quantifier elimination for real algebra–the quadratic case and beyond. Appl. Algebr. Eng. Comm. 8(2), 85–101 (1997). https://doi.org/10.1007/s002000050055
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Computation Results
We present results and computation times (in seconds) of our computations on models from the BioModels database [9].
Model | m | n | \(\iota \) | \(t_\iota \) | \(\mu \) | \(t_\mu \) | \(\eta \) | \(t_\eta \) | \(\gamma \) | \(t_\gamma \) | Coset | Group | \(t_\Sigma \) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
001 | 12 | 12 | True | 7.826 | True | 7.86 | False | 4.267 | False | 0.053 | True | False | 20.007 |
040 | 5 | 3 | False | 1.415 | False | 0.173 | False | 0.114 | False | 0.043 | False | False | 1.746 |
050 | 14 | 9 | True | 1.051 | True | 2.458 | True | 0.113 | False | 0.05 | False | False | 3.673 |
052 | 11 | 6 | True | 3.605 | True | 1.635 | True | 0.096 | False | 0.059 | False | False | 5.396 |
057 | 6 | 6 | True | 0.271 | True | 0.263 | False | 0.858 | False | 0.045 | True | False | 1.438 |
072 | 7 | 7 | True | 0.763 | True | 0.496 | True | 0.08 | False | 0.06 | False | False | 1.4 |
077 | 8 | 7 | True | 0.296 | True | 0.356 | False | 0.097 | False | 0.051 | True | False | 0.801 |
080 | 10 | 10 | True | 0.714 | True | 1.341 | True | 0.103 | False | 0.06 | False | False | 2.219 |
082 | 10 | 10 | True | 0.384 | True | 0.39 | True | 0.086 | False | 0.041 | False | False | 0.902 |
091 | 16 | 14 | True | 0.031 | True | 0.045 | True | 0.003 | False | 0.062 | False | False | 0.142 |
092 | 4 | 3 | True | 0.293 | True | 0.244 | False | 0.104 | False | 1.03 | True | False | 1.671 |
099 | 7 | 7 | True | 0.298 | True | 0.698 | False | 0.087 | False | 0.036 | True | False | 1.119 |
101 | 6 | 6 | False | 4.028 | False | 10.343 | False | 0.917 | False | 0.073 | False | False | 15.361 |
104 | 6 | 4 | True | 0.667 | True | 0.146 | True | 0.084 | False | 0.039 | False | False | 0.937 |
105 | 39 | 26 | True | 0.455 | True | 0.367 | True | 0.043 | False | 0.038 | False | False | 0.905 |
125 | 5 | 5 | False | 0.193 | False | 0.098 | False | 0.078 | False | 0.038 | False | False | 0.408 |
150 | 4 | 4 | True | 0.173 | True | 0.153 | False | 0.094 | False | 0.043 | True | False | 0.464 |
156 | 3 | 3 | True | 2.638 | True | 0.248 | False | 0.86 | False | 0.052 | True | False | 3.8 |
158 | 3 | 3 | False | 0.148 | False | 0.149 | False | 0.16 | False | 0.045 | False | False | 0.503 |
159 | 3 | 3 | True | 0.959 | True | 0.175 | False | 0.083 | False | 0.04 | True | False | 1.257 |
178 | 6 | 4 | True | 0.52 | True | 1.71 | True | 0.877 | False | 1.201 | False | False | 4.308 |
186 | 11 | 10 | True | 31.785 | True | 1026.464 | True | 1.956 | False | 0.095 | False | False | 1060.301 |
187 | 11 | 10 | True | 27.734 | True | 1023.648 | True | 0.103 | False | 0.062 | False | False | 1051.548 |
188 | 20 | 10 | True | 0.075 | True | 0.079 | True | 0.04 | False | 0.047 | False | False | 0.242 |
189 | 18 | 7 | True | 0.035 | True | 0.02 | True | 0.002 | False | 0.062 | False | False | 0.12 |
194 | 5 | 5 | False | 2.338 | False | 1.922 | False | 0.612 | False | 0.05 | False | False | 4.922 |
197 | 7 | 5 | False | 7.562 | False | 71.864 | False | 0.485 | False | 0.05 | False | False | 79.962 |
198 | 12 | 9 | True | 0.397 | True | 0.793 | True | 0.077 | False | 0.042 | False | False | 1.31 |
199 | 15 | 8 | True | 1.404 | True | 1.531 | False | 0.215 | False | 0.054 | True | False | 3.205 |
220 | 58 | 56 | True | 146.146 | True | 534.832 | True | 6.921 | False | 0.964 | False | False | 688.866 |
227 | 60 | 39 | True | 0.273 | True | 0.485 | True | 0.01 | False | 0.077 | False | False | 0.847 |
229 | 7 | 7 | True | 1.917 | True | 3.348 | False | 0.131 | False | 0.062 | True | False | 5.458 |
233 | 4 | 2 | False | 0.16 | False | 0.44 | False | 0.17 | False | 0.557 | False | False | 1.328 |
243 | 23 | 19 | True | 8.598 | True | 1171.687 | True | 2.512 | False | 0.171 | False | False | 1182.97 |
259 | 17 | 16 | True | 1.334 | True | 1.913 | True | 0.092 | False | 0.045 | False | False | 3.385 |
260 | 17 | 16 | True | 2.182 | True | 0.748 | True | 0.079 | False | 0.047 | False | False | 3.057 |
261 | 17 | 16 | True | 3.359 | True | 2.872 | True | 0.113 | False | 0.095 | False | False | 6.44 |
262 | 11 | 9 | True | 0.402 | True | 0.41 | True | 0.091 | False | 0.071 | False | False | 0.975 |
263 | 11 | 9 | True | 0.379 | True | 0.403 | True | 0.085 | False | 0.066 | False | False | 0.934 |
264 | 14 | 11 | True | 1.031 | True | 2.036 | True | 0.136 | False | 0.063 | False | False | 3.268 |
267 | 4 | 3 | True | 1.084 | True | 0.246 | True | 0.095 | False | 0.049 | False | False | 1.475 |
271 | 6 | 4 | True | 0.286 | True | 0.283 | True | 0.746 | False | 0.045 | False | False | 1.361 |
272 | 6 | 4 | True | 0.361 | True | 0.323 | True | 0.086 | False | 0.055 | False | False | 0.826 |
281 | 32 | 32 | True | 20.987 | True | 29.791 | True | 0.602 | False | 0.055 | False | False | 51.437 |
282 | 6 | 3 | True | 0.205 | True | 0.19 | True | 0.087 | False | 0.046 | False | False | 0.528 |
283 | 4 | 3 | True | 0.294 | True | 0.211 | True | 0.087 | False | 0.412 | False | False | 1.005 |
289 | 5 | 4 | False | 2.291 | False | 1.118 | False | 0.165 | False | 0.044 | False | False | 3.619 |
292 | 6 | 2 | True | 0.06 | True | 0.048 | True | 0.063 | False | 0.046 | False | False | 0.218 |
306 | 5 | 2 | True | 0.149 | True | 0.121 | False | 0.079 | False | 0.041 | True | False | 0.391 |
307 | 5 | 2 | True | 0.129 | True | 0.121 | True | 0.043 | False | 0.148 | False | False | 0.441 |
310 | 4 | 1 | True | 0.053 | True | 0.369 | True | 0.047 | False | 0.04 | False | False | 0.509 |
311 | 4 | 1 | True | 0.076 | True | 0.048 | True | 0.224 | False | 0.048 | False | False | 0.397 |
312 | 3 | 2 | True | 0.098 | True | 0.512 | True | 0.043 | False | 0.043 | False | False | 0.697 |
314 | 12 | 10 | True | 0.515 | True | 1.789 | True | 0.1 | False | 0.059 | False | False | 2.464 |
321 | 3 | 3 | True | 0.163 | True | 0.148 | True | 0.042 | False | 0.039 | False | False | 0.393 |
357 | 9 | 8 | True | 0.353 | True | 1.517 | True | 0.07 | False | 0.045 | False | False | 1.986 |
359 | 9 | 8 | True | 1.677 | True | 3.605 | True | 0.11 | False | 0.055 | False | False | 5.448 |
360 | 9 | 8 | True | 0.479 | True | 0.47 | True | 0.096 | False | 0.05 | False | False | 1.096 |
361 | 8 | 8 | True | 1.069 | True | 2.746 | True | 0.156 | False | 0.045 | False | False | 4.017 |
363 | 4 | 3 | True | 0.244 | True | 0.199 | True | 0.077 | False | 0.041 | False | False | 0.561 |
364 | 14 | 12 | True | 2.483 | True | 7.296 | True | 0.55 | False | 0.064 | False | False | 10.394 |
413 | 5 | 5 | False | 1.55 | False | 22.323 | False | 0.117 | False | 0.053 | False | False | 24.044 |
459 | 4 | 3 | True | 0.542 | True | 0.224 | False | 0.18 | False | 0.068 | True | False | 1.014 |
460 | 4 | 3 | False | 1.025 | False | 0.936 | False | 0.143 | False | 0.216 | False | False | 2.321 |
475 | 23 | 22 | True | 97.876 | True | 3377.021 | True | 0.231 | False | 0.062 | False | False | 3475.192 |
484 | 2 | 1 | True | 0.384 | True | 0.143 | False | 0.099 | False | 0.048 | True | False | 0.674 |
485 | 2 | 1 | False | 0.564 | False | 0.354 | False | 0.209 | False | 0.042 | False | False | 1.169 |
486 | 2 | 2 | True | 0.119 | True | 0.106 | False | 0.073 | False | 0.041 | True | False | 0.339 |
487 | 6 | 6 | True | 0.475 | True | 1.008 | False | 0.099 | False | 0.045 | True | False | 1.628 |
491 | 57 | 57 | True | 123.138 | True | 536.865 | False | 2.067 | True | 0.007 | True | True | 662.08 |
492 | 52 | 52 | True | 85.606 | True | 284.753 | False | 1.123 | True | 0.003 | True | True | 371.489 |
519 | 3 | 3 | True | 1.357 | True | 2.367 | False | 5.142 | False | 0.097 | True | False | 8.964 |
546 | 7 | 3 | True | 0.327 | True | 0.338 | True | 0.109 | False | 0.042 | False | False | 0.817 |
559 | 90 | 71 | True | 4.742 | True | 7.525 | True | 0.19 | False | 0.053 | False | False | 12.515 |
584 | 35 | 9 | True | 0.4 | True | 0.655 | False | 0.095 | False | 0.043 | True | False | 1.194 |
619 | 10 | 8 | True | 0.411 | True | 0.443 | True | 0.087 | False | 0.052 | False | False | 0.994 |
629 | 5 | 5 | True | 0.209 | True | 0.197 | False | 0.079 | False | 0.046 | True | False | 0.532 |
647 | 11 | 11 | False | 0.854 | False | 16.436 | False | 0.165 | False | 0.051 | False | False | 17.507 |
B Program Code Used for Our Computations
The following is Maple code for computing one row of the table in Appendix A.
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Rahkooy, H., Sturm, T. (2020). First-Order Tests for Toricity. In: Boulier, F., England, M., Sadykov, T.M., Vorozhtsov, E.V. (eds) Computer Algebra in Scientific Computing. CASC 2020. Lecture Notes in Computer Science(), vol 12291. Springer, Cham. https://doi.org/10.1007/978-3-030-60026-6_30
Download citation
DOI: https://doi.org/10.1007/978-3-030-60026-6_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-60025-9
Online ISBN: 978-3-030-60026-6
eBook Packages: Computer ScienceComputer Science (R0)