On 20/03/2020 00:11, David Collett wrote:
Thanks very much for taking the time to help.
I made the changes you suggested, and it works.
That is good to hear! I am actually fairly new to SymPy and Python, but
I am exploring them as something of a hobby. I haven't yet seen some
SymPy documentation that really explores the basics of the relationship
between Python and SymPy. In particular the issue of what is a SymPy
variable (i.e. an algebraic variable) and exactly how it differs from a
Python variable. Perhaps you only became interested in Python because
of SymPy. This can compound the possible ways to get confused.
This might help to unscramble things for you, but just use it for
learning - not for real software!
fred=symbols('x')
fred
a=symbols('b')
b=symbols('a')
c=a
d=b
Now play about with fred, a, b,c, d
This will show you the difference between SymPy's algebraic symbols and
Python's variables. In particular, when you write x=symbols('x'), the
fact that you equate the Python variable x to the SymPy algebraic symbol
x is purely a convenience to keep you sane.
Yes, I would prefer it to print the actual continued fraction rather
than a simple fraction, but I can't figure it out.
Also, in the SymPy Live Shell, the output of the continued fraction is
beautifully displayed. I realize that this same output isn't possible
in the Terminal. But is there any way to output nice-looking math
formulas such as this?
I am sure someone here will solve that for you, and the various shells
such as Jupyter will use Latex, if it is loaded on your machine, so you
could probably get the continued fraction displayed that way.
I have an obsolete website that I used when I was a Mathematica
consultant, and I plan to replace that with a website devoted to SymPy -
which is totally free, and comes with far less opaque baggage than
Mathematica! I want to start with all the basics.
David
Thanks again for your help.
David
-----
On Thursday, March 19, 2020 at 1:47:30 PM UTC-7, David Collett wrote:
Hi, everyone. I'm new to python and to sympy.
On the sympy documentation site
(https://docs.sympy.org/latest/tutorial/simplification.html#example-continued-fractions
<https://docs.sympy.org/latest/tutorial/simplification.html#example-continued-fractions>),
near the end is the following script:
def list_to_frac(l): expr = Integer(0) for i in reversed(l[1:]):
expr += i expr = 1/expr return l[0] + expr
print(list_to_frac([x, y, z]))
__________
The output they show (in the SymPy Live Shell) is:
x + (1 / (y + 1/z))
However, when I copied this to a text file and run it from the
terminal (MacOS, Python 3.x), I get the following error:
NameError: name 'x' is not defined
How do I solve this problem?
(If instead of x, y, z, I substitute numbers, such
aslist_to_frac([1,1,3,1,1,5,1,1,7])then a fraction is returned
(1463/822)in this case.
Thanks for your help.
David
𝑥+1𝑦+1𝑧
--
You received this message because you are subscribed to the Google
Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/2f902f4d-5b29-49d6-a5a1-be40cc1c8a91%40googlegroups.com
<https://groups.google.com/d/msgid/sympy/2f902f4d-5b29-49d6-a5a1-be40cc1c8a91%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/803d218b-c023-c120-53e1-435dc8dad4b9%40dbailey.co.uk.