मैं वैज्ञानिक कंप्यूटिंग अनुप्रयोगों में स्पष्ट इकाइयों का उपयोग करने की सराहना करता हूं। स्पष्ट इकाइयों का उपयोग करना आपके दांतों को समान रूप से ब्रश करना है। यह कुछ टेडियम को सामने जोड़ता है, लेकिन आपके द्वारा प्राप्त की जाने वाली सुरक्षा सुरक्षा लंबे समय तक बहुत सारी परेशानी बचा सकती है। जैसे, not crashing $125 million orbiters into planets कहें।
तुम भी शायद इन दो अन्य अजगर इकाई/मात्रा संकुल की जांच करनी चाहिए:
Unum
Scientific.Physics.PhysicalQuantity
मैं एक बार Scientific.Physics.PhysicalQuantity की जांच की। यह मेरी जरूरतों को पूरा नहीं करता था, लेकिन आपकी संतुष्टि को पूरा कर सकता है। यह बताना मुश्किल है कि आपको अपने संक्षिप्त विवरण से कौन सी विशेषताओं की आवश्यकता है।
मैंने इकाई रूपांतरण और आयामी विश्लेषण के लिए अपना खुद का पायथन पैकेज लिखना समाप्त कर दिया, लेकिन इसे अभी तक रिलीज के लिए उचित रूप से पैक नहीं किया गया है। हम जीपीयू त्वरित आणविक यांत्रिकी के लिए हमारे ओपनएमएम सिस्टम के लिए पाइथन बाइंडिंग में मेरी यूनिट सिस्टम का उपयोग कर रहे हैं। आपको कम से मेरी अजगर इकाइयों कोड की SVN भंडार ब्राउज़ कर सकते हैं:
SimTK python units
अंततः मैं वितरण के लिए पैकेज करना चाहते हैं। यदि आपको यह दिलचस्प लगता है, तो कृपया मुझे बताएं। इससे मुझे इसे जल्द से जल्द पैकेज करने के लिए प्रेरित किया जा सकता है। जब मैं सिमटीके पायथन इकाइयों के सिस्टम को डिजाइन कर रहा था, तो मुझे निम्नलिखित विशेषताएं शामिल थीं:
- यूनिट आंतरिक रूप से एसआई इकाइयों के मामले में आवश्यक रूप से संग्रहीत नहीं हैं। यह मेरे लिए बहुत महत्वपूर्ण है, क्योंकि हमारे लिए एक महत्वपूर्ण आवेदन क्षेत्र आण्विक पैमाने पर है। आंतरिक रूप से एसआई इकाइयों का उपयोग आमतौर पर प्रयुक्त आणविक बल गणनाओं में एक्सपोनेंट ओवरफ्लो का कारण बन सकता है। आंतरिक रूप से, सभी यूनिट सिस्टम सिमटीके में समान रूप से मौलिक हैं।
- मैं सी ++ में Boost.Units सिस्टम के लिए समान शक्ति और लचीलापन चाहता था। दोनों क्योंकि मैं उस प्रणाली से परिचित हूं, और क्योंकि इसे शानदार इंजीनियरों के एक बड़े समूह की जांच के तहत डिजाइन किया गया था। Boost.Units एक अच्छी तरह से तैयार दूसरी पीढ़ी आयामी विश्लेषण प्रणाली है। इस प्रकार मैं तर्क दे सकता हूं कि सिमटीके इकाइयां सिस्टम तीसरी पीढ़ी प्रणाली है :)। ध्यान रखें कि Boost.Units एक "शून्य ओवरहेड" प्रणाली है, जिसमें कोई रनटाइम लागत नहीं है, सिमटीके इकाइयों समेत सभी पायथन मात्रा कार्यान्वयन, शायद रनटाइम लागत सटीक हैं।
- मुझे आयामी मात्राएं चाहिए जो numpy arrays के साथ संगत हैं, लेकिन जरूरी नहीं कि पाइथन numpy पैकेज की आवश्यकता हो। दूसरे शब्दों में, मात्राएं या तो numpy arrays या पायथन प्रकारों में निर्मित पर आधारित हो सकती हैं।
क्या सुविधाओं आपके लिए महत्वपूर्ण हैं?
स्रोत
2010-02-05 17:49:50
मुझे लगता है कि वैध जवाब प्राप्त करने के लिए आपको अपने प्रश्न के बारे में अधिक विशिष्टता की आवश्यकता है। –
मुझे लगता है कि आप एसआई इकाइयों को सामान्यीकृत डेटा संग्रहीत करेंगे, इसलिए वास्तव में यह इनपुट पर एक पार्सिंग समस्या है, और संभवतः आउटपुट पर एक रूपांतरण समस्या है। किसी भी लाइब्रेरी का सर्वोत्तम पार्सिंग/रूपांतरण का उपयोग करें - आप अलग-अलग तरीकों से अंदर और बाहर उपयोग कर सकते हैं। –
दुर्भाग्य से, पाइथन में इसके लिए बहुत सारे समाधान हैं। http://pint.readthedocs.org/en/latest/faq.html#you-mention-other-similar-python- पुस्तकालय-can-you-point-me-to-those – endolith