sympy

2016-04-22 8 views
6

में sqrt अभिव्यक्तियों को सरल बनाने के लिए कैसे मैं Jupyter Notebook में sympy v1.0 का उपयोग कर रहा हूं। मुझे यह समझने में अभिव्यक्ति मिल रही है कि मैं कैसा चाहता हूं। यहां एक खिलौना उदाहरण है; यह एक ही बात मेरे और अधिक जटिल भाव करना ...sympy

import sympy 
sympy.init_printing(use_latex='mathjax') 
x, y = sympy.symbols("x, y", real=True, positive=True) 
sympy.simplify(sqrt(2*x/y)) 

मुझे देता है ...

      expression from sympy

लेकिन मैं पसंद करेंगे ... करता

      enter image description here

मैं इस तरह से समूह चीजों के लिए sympy कैसे प्राप्त कर सकता हूं? मैंने कुछ अन्य simplify कार्यों की कोशिश की, लेकिन वे सभी मुझे एक ही परिणाम देते हैं। या मैं कुछ और याद कर रहा हूँ?

+3

यदि आप एक्स और वाई को वास्तविक और सकारात्मक के रूप में सेट नहीं करते हैं, तो SymPy उन्हें अलग नहीं करेगा (क्योंकि ऐसा करने के लिए यह अमान्य है)। – asmeurer

+0

@asmeurer धन्यवाद यह वास्तव में मदद करता है। यह अभी भी 2 बाहर खींचता है, लेकिन इससे निपटना आसान है। मैंने पाया कि यह सबकुछ इकट्ठा करने के लिए सबकुछ बढ़कर भी सुधार कर सकता है यह सब कुछ इकट्ठा करता है। – kwinkunks

उत्तर

0

sympy वास्तव में sqrt से शर्तों को खींचकर सरल बनाना चाहता है, जो समझ में आता है। मुझे लगता है कि आपको मैन्युअल रूप से जो करना है वह करना है, यानी, sqrt कॉल के बिना इच्छित सरलीकरण प्राप्त करें, और उसके बाद इसे Symbol का प्रयोग LaTex \sqrt रैप के साथ करें। उदाहरण के लिए:

from sympy import * 
init_printing(use_latex='mathjax') 

# Wanted to show this will work for slightly more complex expressions, 
# but at the end it should still simplify to 2x/y 
x, y = symbols("x, y", real=True, positive=True) 
z = simplify((2*2*3*x)/(1*2*3*y)) 

Symbol("\sqrt{" + latex(z) + "}", real=True, positive=True) # Wrap the simplified fraction in \sqrt{} 

यह वास्तव में आदर्श नहीं है, लेकिन मैं एक घंटे के लिए डॉक्स के माध्यम से देखा है, और सिर्फ तुम क्या सीधे चाहते हैं के लिए समर्थन नहीं मिल सका। sympy लाइब्रेरी वास्तविक प्रतीकात्मक हेरफेर के बारे में अधिक है, प्रिंटिंग के बारे में कम, इसलिए मैं उन्हें शायद ही दोष दे सकता हूं।

+0

मैं आपकी अंतर्दृष्टि की सराहना करता हूं, लेकिन यह बहुत जटिल लगता है। असली, सकारात्मक प्रतीकों को निर्दिष्ट नहीं करने के सुझाव ने मेरी मदद की। वैसे भी धन्यवाद। – kwinkunks

संबंधित मुद्दे