बहुपद का गुणनखंडन
बहुपद या बहुपद का गुणनखंडन किसी दिए गए क्षेत्र में या पूर्णांकों में गुणांक के साथ एक बहुपद को उसी डोमेन में गुणांक वाले अखण्डनीय कारकों के उत्पाद के रूप में व्यक्त करता हैI पहला बहुपद कारक एल्गोरिथ्म थियोडोर वॉन शुबर्ट द्वारा 1793 में प्रकाशित किया गया था।[1] लियोपोल्ड क्रोनकर ने 1882 में शूबर्ट के एल्गोरिथ्म को फिर से खोजा और बीजगणित में बहुभिन्नरूपी बहुपद और गुणांक तक इसका विस्तार किया गया । बहुपद गुणनखंड कंप्यूटर की बीजगणित प्रणाली के मूलभूत घटकों में से एक है। इस विषय में ज्यादा विस्तार 1965 में किया गया थाI
लंबे समय से ज्ञात परिमित एल्गोरिदम को पहली बार कंप्यूटर पर रखा गया थाI वह इसे खोजने में अधिक अक्षम हो गए थेI थ्योरी के तथ्य के अनुरूप देखा जाए तो ज्ञात होता है कि बहुभिन्नरूपी बहुपद की डिग्री 100 तक और एक मध्यम आकार (100 बिट्स तक) के गुणांक के साथ कंप्यूटर के कुछ मिनटों में आधुनिक एल्गोरिदम द्वारा किया जा सकता है।पहला कंप्यूटर बीजगणितीय सिस्टम 1965 में लॉन्च हुआ थाI
आधुनिक एल्गोरिदम और कंप्यूटर से हजारों अंकों के गुणांक वाले 1000 से अधिक डिग्री के बहुपद को प्रमाणित कर सकते हैंI [2] परिमित क्षेत्र पर बहुपद का गुडनखंड एक मौलिक निर्णय था I
प्रश्न का निर्माण
पूर्णांक पर या एक क्षेत्र पर बहुपद वलय के अद्वितीय कारक हैं। इसका मतलब यह है कि इन प्रत्येक वलयों का निरंतर और न्यूनतम बहुपदों का उत्पाद है (जो दो गैर-निरंतर बहुपद के उत्पाद नहीं हैं)। इसके अलावा पूर्णांक के यह अपघटन स्थिरांक द्वारा कारकों के गुणन के लिए अद्वितीय है।
बहुपद में प्रस्तुत होने वाले कारक आधार क्षेत्र में निर्भर करते हैं I उदाहरण के लिए बीजगणित के मौलिक प्रमेय, जिसमें कहा गया है कि जटिल गुणांक वाले प्रत्येक बहुपद की जड़ें जटिल होती हैंI इसका मतलब है कि जटिवलयों क्षेत्र पर रैखिक कारकों में पूर्णांक गुणांक के साथ स्थित होते हैI न्यूनतम कारकों की डिग्री ज्यादातर दो होती हैI किसी भी डिग्री के बहुपद होते हैं जो कि तर्कसंगतता के क्षेत्र में अतार्किक होते हैं।
बहुपद गुणनखंडन का प्रश्न केवल संगणनीय क्षेत्र में गुणांकों के लिए प्रस्तावित है I बहुपद के प्रत्येक पद के तत्व को कंप्यूटर में दर्शाया जा सकता हैI जिसके लिए अंकगणित संचालन के लिए एल्गोरिदम हैं। हालांकि यह एक पर्याप्त स्थिति नहीं हैI फ्रॉहलिच और शेफर्डसन ऐसे क्षेत्रों का उदाहरण देते हैं जिनके लिए कोई कारक एल्गोरिथ्म मौजूद नहीं हो सकता है।[3]
गुणांक के कारक एल्गोरिदम के लिए जाने जाते हैं I एल्गोरिदम में तर्कसंगत और प्राइम मॉड्यूलर अंकगणित का क्षेत्र शामिल हैं। पूर्णांक गुणांक भी सरल हैं। क्रोनकर की वर्गीकृत विधि केवल ऐतिहासिक दृष्टिकोण से आकर्षक हैI आधुनिक एल्गोरिदम अनुक्रम द्वारा आगे बढ़ते हैंI
वर्ग मुक्त कारक
- परिमित क्षेत्रों पर कारक
और कटौती
- बहुभिन्नरूपी मामले से अविभाज्य मामले तक
- ग्राउंड फील्ड में एक बीजीय विस्तार में गुणांक से गुणांक तक
- तर्कसंगत गुणांक से पूर्णांक गुणांक तक
- नीचे दिए गए उदाहरण में अच्छी तरह से चुने गए P के लिए P तत्वों के साथ प्रमुख क्षेत्र में पूर्णांक गुणांक से गुणांक तक संचारित होते हैं ।
आदिम भाग -कंटेंट फैक्टरकरण
इस खंड में दिखाया गया है कि Q (तर्कसंगत संख्या) और Z (पूर्णांक) पर फैक्टरिंग अनिवार्य रूप से एक ही समस्या है।
एक बहुपद p 'Z [' X ] की सामग्री निरूपित प्रतियोगिता ( p )के साइन तक और इसके गुणांक का सबसे बड़ा सामान्य विभाजक है। P का साधारण भाग प्राइमपार्ट ( p ) = p /cont. ( p ) है जो कि पूर्णांक गुणांक के साथ साधारण बहुपद है। यह पूर्णांक और साधारण बहुपद के उत्पाद में Pके कारक को परिभाषित करता है।यह कारक सामग्री के संकेत के लिए अद्वितीय है।यह सामग्री के संकेत को चुनने के लिए सामान्य चलन है जैसे कि साधारण भाग का प्रमुख गुणांक सकारात्मक है।
उदाहरण के लिए
सामग्री और साधारण भाग में एक कारक है।
तर्कसंगत गुणांक के साथ प्रत्येक बहुपद q लिखा जा सकता है
जहां p and 'z' [x] और c, 'z': यह q के गुणांक के सभी भाजक (उदाहरण के लिए उनके उत्पाद) और p = cq के सभी भाजक के लिए C पर्याप्त वैल्यू है।Q की सामग्री को इस प्रकार परिभाषित किया गया हैI
पूर्णांक गुणांक के साथ बहुपद के लिए Q,P का हिस्सा है। यह तर्कसंगत संख्या में कारक को परिभाषित करता है और पूर्णांक गुणांक के साथ साधारण बहुपद को प्रमाणित करता है। यह कारक संकेत की प्राथमिकता के लिए अद्वितीय है।
उदाहरण के लिए,
सामग्री और प्राचीन भाग में एक ही कारक है।
गॉस ने साबित किया कि दो साधारण बहुपदों का उत्पाद भी साधारण हैI इसका तात्पर्य यह है कि साधारण बहुपद तर्कसंगत लोगों पर अखंडनीय हैI इसका तात्पर्य यह है कि तर्कसंगत गुणांक के साथ बहुपद के तर्कसंगतताओं पर कारक अपने साधारण भाग के पूर्णांक पर कारक के समान है। इसी तरह पूर्णांक गुणांक के साथ बहुपद के पूर्णांक का कारक इसकी सामग्री के प्राचीन भाग के कारक का उत्पाद है।
दूसरे शब्दों में पूर्णांक GCD की गणना पूर्णांक गुणांक के साथ बहुपद के कारक के लिए तर्कसंगत बहुपद कारक को कम करती हैI
यदि Z को एक फ़ील्ड F पर बहुपद रिंग द्वारा प्रतिस्थापित किया जाता है तो सब कुछ सही तौर पर निर्धारित होता है I Q को एक ही चर में F पर तर्कसंगत कार्यों द्वारा प्रतिस्थापित किया जाता हैI एक अंतर के साथ साइन को F में एक उल्टे स्थिरांक द्वारा गुणन तक प्रतिस्थापित किया जाना चाहिए। यह f पर बहुभिन्नरूपी बहुपद के कारक के लिए f के विशुद्ध रूप से पारलौकिक क्षेत्र विस्तार पर कारक को कम करता है।
वर्ग-मुक्त कारक
यदि एक बहुपद के दो या दो से अधिक कारक समान हैं तो बहुपद कारक वर्ग का एक बहुपद है। कई कारक भी बहुपद के व्युत्पन्न का एक कारक है .
न्यूनतम बहुपद के लिए एक कारक कई जड़ों के बराबर हैं। वर्ग-मुक्त कारक इसलिए अधिकांश बहुपद कारक एल्गोरिदम में पहला कदम है। तर्कसंगतताओं पर एक तरफा बहुपद के लिए वर्ग-मुक्त बहुपद के एल्गोरिथ्म अधिक महत्वपूर्ण होते हैं। ऐसे कारक जो एक वर्ग के गुणक नहीं हैं जीसीडी (f(x), f '(x)) से शुरू होने वाले GCD संगणनाओं के अनुक्रम को प्रारंभिक बहुपद का गुणनखंड करने के लिए निष्पादित करते हैं। एक वर्ग का GCD (f (x), f '(x)) के साथ शुरू होने वाले GCD संगणनाओं का अनुक्रम प्रदर्शन करता है। प्रारंभिक बहुपद को फैक्टर करने के लिए प्रत्येक वर्ग-मुक्त कारक को कारक बनाने के लिए पर्याप्त है।
एल्गोरिथ्म बहुपद रिंग पर अविभाजित बहुपद के रूप में बहुभिन्नरूपी बहुपद पर विचार करके बहुभिन्नरूपी मामले में इसका विस्तार करता है।
एक परिमित क्षेत्र पर एक बहुपद के मामले का एल्गोरिथ्म केवल तभी लागू होता है6जब डिग्री विशेषता से छोटी होती हैI क्योंकि एक गैर-शून्य बहुपद का व्युत्पन्न शून्य हो सकता है (पी तत्वों के साथ क्षेत्र में, व्युत्पन्न, व्युत्पन्न, व्युत्पन्न, व्युत्पन्न का व्युत्पन्न हो सकता है एक्स में एक बहुपदP हमेशा शून्य होता है)फिर भी जीसीडी संगणना का उत्तराधिकार बहुपद और उसके व्युत्पन्न से शुरू होता हैI वर्ग-मुक्त अपघटन की गणना करने की अनुमति देता हैI
वर्गीकृत तरीके
यह खंड पाठ्यपुस्तक के तरीकों का वर्णन करता है जो हाथ से कंप्यूटिंग करते समय सुविधाजनक हो सकता है।इन विधियों का उपयोग कंप्यूटर कम्प्यूटेशन के लिए नहीं किया जाता है क्योंकि वे पूर्णांक कारक का उपयोग करते हैं जो वर्तमान में बहुपद कारक की तुलना में धीमा है।
दो विधियाँ जो एक यूनीवेट बहुपद से शुरू होती हैं उन कारकों को खोजने के लिए पूर्णांक गुणांक के साथ शुरू होती हैं जो पूर्णांक गुणांक के साथ बहुपद भी हैं।
रैखिक कारक प्राप्त करना
यदि बहुपद को फैक्टर किया जाता हैI तर्कसंगत गुणांक के साथ सभी रैखिक कारकों को तर्कसंगत रूट परीक्षण का उपयोग करके पाया जा सकता है। तो सभी संभव रैखिक कारक फॉर्म के हैं , कहाँ पे का एक पूर्णांक कारक है तथा का एक पूर्णांक कारक है है ।पूर्णांक कारकों के सभी संभावित संयोजनों को वैधता के लिए परीक्षण किया जा सकता हैI प्रत्येक वैध को बहुपद लंबे विभाजन का उपयोग करके बाहर किया जा सकता है। यदि मूल बहुपद कारकों का उत्पाद है जिनमें से कम से कम दो डिग्री या उच्चतर हैं तो यह तकनीक केवल आंशिक कारक प्रदान करती है I विशेष रूप से यदि वास्तव में एक गैर-रैखिक कारक है तो सभी रैखिक कारकों को पीछे कर दिया जाता है I एक क्यूबिक बहुपद के मामले में यदि क्यूबिक कारक है तो तर्कसंगत रूट परीक्षण एक पूर्ण कारक देता हैI
क्रोनकर की विधि
क्रोनकर की विधि का उद्देश्य पूर्णांक गुणांक के साथ पूर्णांक गुणांक के साथ न्यूनतम बहुपद कारक करना है।
विधि इस तथ्य का उपयोग करती है कि पूर्णांक मूल्यों पर पूर्णांक बहुपद का मूल्यांकन करना पूर्णांक का उत्पादन करना चाहिए। अगर पूर्णांक गुणांक के साथ बहुपद है फिर जैसे ही पूर्णांक है a एक पूर्णांक है। केवल संभावित पूर्णांक मानों की एक सीमित संख्या हैI a अगर का एक कारक है का मान है के कारकों में एक होना चाहिए I यदि कोई किसी दिए गए डिग्री के कारकों को खोजता है I d विचार कर सकते हैं मान, के लिये a, जो टपल के लिए संभावनाओं की सीमित संख्या देते हैंI इस तरह के प्रत्येक ट्यूपल में सबसे अधिक डिग्री के एक अद्वितीय बहुपद को परिभाषित करता हैI d जिसकी गणना बहुपद प्रक्षेप द्वारा की जा सकती हैI बहुपद विभाजन द्वारा कारक होने के लिए परीक्षण किया जा सकता है। एक संपूर्ण खोज सबसे अधिक डिग्री के सभी कारकों को खोजने की अनुमति देती है।
उदाहरण के लिए विचार करें
- ।
यदि यह बहुपद z पर कारक है तो इसके कम से कम एक कारक दो या उससे कम डिग्री का होना चाहिए इसलिए विशिष्ट रूप से तीन मूल्यों द्वारा निर्धारित किया जाता है।इस प्रकार हम तीन मूल्यों की गणना करते हैं , तथा ।
यदि इन मानों में से एक 0 है, तो हमारे पास एक रैखिक कारक है।यदि मान नॉनज़ेरो हैं तो हम प्रत्येक के लिए संभावित कारकों को सूचीबद्ध कर सकते हैं।अब 2 केवल कारक के रूप में हो सकता हैI
- 1 × 2, 2 × 1, () 1) × (−2), या (−2) × () 1)।
यदि एक दूसरी डिग्री पूर्णांक बहुपद कारक है तो इनमें से एक मान को लेना होगा I
- P (0) = 1, 2, −1, या −2
और इसी तरह पी (1) के लिए।6 के आठ कारक हैं (1 × 6 और 2 × 3 के लिए चार प्रत्येक) कुल 4 × 4 × 8 = 128 संभावित ट्रिपल्स (पी (0), पी (1), पी () 1)जिनमें से आधे को दूसरे आधे की नकारात्मक के रूप में छोड़ दिया जा सकता है। इस प्रकार हमें 64 स्पष्ट पूर्णांक बहुपद की जांच करनी चाहिएI के रूप में संभव कारकों से परीक्षण करने से पता चलता है कि
(G (0), G (1), G () 1)) = (1,3,1) कारक से निर्मित है
P (x) द्वारा f (x) को विभाजित करना अन्य कारक देता है , ताकि पी (एक्स) और क्यू (एक्स) कारकों को खोजने के लिए पुनरावर्ती का परीक्षण कर सकता हैI इस मामले में तर्कसंगत रूट परीक्षण का उपयोग करके वे दोनों इसलिए f (x) का अतार्किक कारक हैI[4]
आधुनिक तरीके
परिमित क्षेत्रों पर फैक्टरिंग
पूर्णांकों पर अविभाज्य बहुपदों का गुणनखंड करना
यदि पूर्णांक पर एक अविभाज्य बहुपद है, माना जाता है
- primitive part-content फैक्टराइजेशन होने के लिए | सामग्री-मुक्त
और #वर्ग-मुक्त कारक | वर्ग-मुक्त, एक बाउंड की गणना करके शुरू होता है ऐसा कोई कारक है के गुणांक है निरपेक्ष मूल्य ।इस तरह, अगर है एक पूर्णांक से बड़ा , और अगर मोडुलो जाना जाता है , फिर इसकी छवि मॉड से पुनर्निर्माण किया जा सकता है ।
एल्गोरिथ्म इस प्रकार आगे बढ़ता है।सबसे पहले, एक प्राइम चुनें संख्या ऐसी छवि आधुनिक
- वर्ग-मुक्त कारक रहता है | वर्ग-मुक्त, और उसी डिग्री के रूप में ।
तत्कालीन कारक आधुनिक ।यह पूर्णांक बहुपद का उत्पादन करता है जिसका उत्पाद मेल खाता है आधुनिक ।अगला, हेन्सेल के लेम्मा को लागू करें | हेन्सल उठाना;यह अपडेट करता है इस तरह से कि उनका उत्पाद मेल खाता है आधुनिक , कहाँ पे काफी बड़ा है से अधिक हैI : इस प्रकार प्रत्येक एक अच्छी तरह से परिभाषित पूर्णांक बहुपद के अनुरूप है। सापेक्ष , बहुपद हैI कारक सभी इकाइयों तक सबसेट के उत्पाद आधुनिक । ये कारक मोडुलो के सही कारकों के अनुरूप नहीं होना चाहिएI में आसानी से विभाजन में परीक्षण कर सकते हैंI इस तरह सभी न्यूनतम कारकों को सबसे अधिक जाँच करके पाया जा सकता हैI तर्कसंगत बहुपदों को फैक्टरिंग के लिए पहला बहुपद समय एल्गोरिथ्म लेंस्ट्रा, लेंस्ट्रा और लवसेज़ द्वारा खोजा गया था Iयह लेंस्ट्रा -लेंस्ट्रा -लोवाज़ जाली लेटिस बेसिस रिडक्शन एल्गोरिथ्म का एक अनुप्रयोग है।
एलएलएल फैक्टरकरण एल्गोरिथ्म का एक सरलीकृत संस्करण हैI बहुपद के एक जटिल (या पी-एडिक) रूट α की गणना उच्च परिशुद्धता के लिए 1, α, α के बीच एक अनुमानित रैखिक संबंध खोजने के लिए एल्गोरिथम का उपयोग किया जाता हैI ए3 पूर्णांक गुणांक के बीच निकट संबंध हो सकता है I किसी सटीक कारक के लिए अपरिवर्तनीयता प्रमाण का उत्पादन करती है। यद्यपि यह विधि बहुपद समय में समाप्त होती है लेकिन इसका उपयोग व्यवहार में नहीं किया जाता है क्योंकि जाली में उच्च आयाम और विशाल प्रविष्टियाँ होती हैं जो गणना को धीमा कर देती है।
एल्गोरिथ्म में घातीय जटिलता कॉम्बिनेटरियल समस्या से आती हैi कैसे सही सबसेट का चयन करें ।अत्याधुनिक फैक्टरिंग कार्यान्वयन के समान तरीके से काम करते हैं, सिवाय इसके कि कॉम्बिनेटरियल समस्या को एक जाली समस्या के लिए अनुवादित किया जाता है जो तब LLL द्वारा हल किया जाता है।[5] इस दृष्टिकोण में, LLL का उपयोग कारकों के गुणांक की गणना करने के लिए नहीं किया जाता है, बल्कि वैक्टर की गणना करने के लिए किया जाता है {0,1} में प्रविष्टियाँ जो सबसेट को एनकोड करती हैं Irreducible सच्चे कारकों के अनुरूप।
बीजगणितीय एक्सटेंशन (ट्रेजर की विधि) पर फैक्टरिंग
हम एक बहुपद कारक कर सकते हैं , जहां क्षेत्र का एक परिमित विस्तार है ।सबसे पहले, #वर्ग-मुक्त कारक का उपयोग करके | वर्ग-मुक्त कारक, हम मान सकते हैं कि बहुपद वर्ग-मुक्त है।आगे हम भागफल की अंगूठी को परिभाषित करते हैं डिग्री का ;यह एक क्षेत्र नहीं है जब तक IRreducible है, लेकिन यह एक कम अंगूठी है वर्ग-मुक्त है।वास्तव में, अगर
p (x) का वांछित कारक है, रिंग विशिष्ट रूप से क्षेत्रों में विशिष्ट रूप से विघटित हो जाती है:
हम कारक को जाने बिना इस अपघटन को पाएंगे।सबसे पहले, हम स्पष्ट रूप से एक बीजगणित के रूप में एल लिखते हैं : हम एक यादृच्छिक तत्व चुनते हैं , जो उत्पन्न करता है ऊपर आदिम तत्व प्रमेय द्वारा उच्च संभावना के साथ।यदि यह मामला है, तो हम न्यूनतम बहुपद की गणना कर सकते हैं का ऊपर , एक खोजकर 1, ए, के बीच -लाइन संबंध।।।, एकn ।तर्कसंगत पॉलीमियल के लिए एक फैक्टरिंग एल्गोरिथ्म का उपयोग करते हुए, हम irreducibles में कारक हैं :
इस प्रकार हमारे पास है:
कहाँ पे से मेल खाती है ।यह पिछले अपघटन के लिए आइसोमोर्फिक होना चाहिए ।
एल के जनरेटर के जनरेटर के साथ x हैं ऊपर ;इन्हें एक बहुपद के रूप में लिखना , हम एम्बेडिंग का निर्धारण कर सकते हैं तथा प्रत्येक घटक में ।की न्यूनतम बहुपद का पता लगाकर में , हम गणना करते हैं , और इस प्रकार कारक ऊपर
यह भी देखें
- Factorization § Polynomials, प्राथमिक हेयुरिस्टिक तरीकों और स्पष्ट सूत्रों के लिए
ग्रन्थसूची
- ↑ FT Schubert: De Inventione Divisorum Nova Acta Academiae Scientiarum Petropolitanae v.11, p. 172-182(1793)
- ↑ An example of degree 2401, taking 7.35 seconds, is found in Section 4 in: Hart, van Hoeij, Novocin: Practical Polynomial Factoring in Polynomial Time ISSAC'2011 Proceedings, p. 163-170 (2011).
- ↑ Fröhlich, A.; Shepherdson, J. C. (1955). "On the factorisation of polynomials in a finite number of steps". Mathematische Zeitschrift. 62 (1): 331–334. doi:10.1007/bf01180640. ISSN 0025-5874.
- ↑ Van der Waerden, Sections 5.4 and 5.6
- ↑ M. van Hoeij: Factoring polynomials and the knapsack problem. Journal of Number Theory, 95, 167-189, (2002).
- Fröhlich, A.; Shepherson, J. C. (1955), "On the factorisation of polynomials in a finite number of steps", Mathematische Zeitschrift, 62 (1): 331–334, doi:10.1007/BF01180640, ISSN 0025-5874
- Trager, B.M. (1976), "Algebraic Factoring and Rational Function Integration", Proc. SYMSAC 76, Symsac '76: 219–226, doi:10.1145/800205.806338
- Bernard Beauzamy, Per Enflo, Paul Wang (October 1994). "Quantitative Estimates for Polynomials in One or Several Variables: From Analysis and Number Theory to Symbolic and Massively Parallel Computation". Mathematics Magazine. 67 (4): 243–257. doi:10.2307/2690843. JSTOR 2690843.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) (accessible to readers with undergraduate mathematics) - Cohen, Henri (1993). A course in computational algebraic number theory. Graduate Texts in Mathematics. Vol. 138. Berlin, New York: Springer-Verlag. ISBN 978-3-540-55640-4. MR 1228206.
- Kaltofen, Erich (1982), "Factorization of polynomials", in B. Buchberger; R. Loos; G. Collins (eds.), Computer Algebra, Springer Verlag, pp. 95–113, CiteSeerX 10.1.1.39.7916
- Knuth, Donald E (1997). "4.6.2 Factorization of Polynomials". Seminumerical Algorithms. The Art of Computer Programming. Vol. 2 (Third ed.). Reading, Massachusetts: Addison-Wesley. pp. 439–461, 678–691. ISBN 978-0-201-89684-8.
- Lenstra, A. K.; Lenstra, H. W.; Lovász, László (1982). "Factoring polynomials with rational coefficients". Mathematische Annalen. 261 (4): 515–534. CiteSeerX 10.1.1.310.318. doi:10.1007/BF01457454. ISSN 0025-5831. MR 0682664.
- Van der Waerden, Algebra (1970), trans. Blum and Schulenberger, Frederick Ungar.
अग्रिम पठन
- Kaltofen, Erich (1990), "Polynomial Factorization 1982-1986", in D. V. Chudnovsky; R. D. Jenks (eds.), Computers in Mathematics, Lecture Notes in Pure and Applied Mathematics, vol. 125, Marcel Dekker, Inc., CiteSeerX 10.1.1.68.7461
- Kaltofen, Erich (1992), "Polynomial Factorization 1987–1991" (PDF), Proceedings of Latin '92, Springer Lect. Notes Comput. Sci., vol. 583, Springer, retrieved October 14, 2012
- Ivanyos, Gabor; Marek, Karpinski; Saxena, Nitin (2009), "Schemes for Deterministic Polynomial Factoring", Proc. ISSAC 2009: 191–198, arXiv:0804.1974, doi:10.1145/1576702.1576730, ISBN 9781605586090
]]