On Wed, Oct 20, 2021 at 2:24 PM David Bailey <d...@dbailey.co.uk> wrote: > > On 20/10/2021 12:36, Oscar Benjamin wrote: > > On Tue, 19 Oct 2021 at 20:55, David Bailey <d...@dbailey.co.uk> wrote: > > Dear group, > > First I would like to say how good it was to discover that the online > SymPy documentation now supports copy/paste operations without > constantly switching to SymPyLive. I think this will make the > documentation considerably more user friendly. > > I'm not sure what has changed there... > > Thanks for replying Oscar. You are right! When I went to the SymPy > documentation to prepare the second part of this email I found it behaved in > the same old way - maybe the live shell was down last night. The problem is > that if you click into a block of SymPy code with the intention of cutting > and pasting its contents, it fires up the live shell when you don't want it - > at least using Firefox on Windows 10. To cut and paste you have to use a > trick - clicking outside the block with the green background and dragging > into the block from there. Since there is a dark green tag above each section > to invoke the live shell, all that is needed is to disable special trapping > the left mouse click. > > My question is what construct should I use to get variables with > subscripts, and maybe superscripts. I thought at first that indexed > objects were the way to go, but they seem rather obscure. E.g. think of > indexing through the Bessel functions - J0, J1,J2 etc. > > Ideally I'd like to loop over the index/indices and also see the > subscripts positioned below the main symbol when using Latex output > > I'm not completely sure what you want here but is this it: > > In [19]: symbols('x:10') > Out[19]: (x₀, x₁, x₂, x₃, x₄, x₅, x₆, x₇, x₈, x₉) > > IndexedBase is for the situation where you want the index to be symbolic e.g.: > > In [27]: xi = IndexedBase('x') > > In [28]: n, m = symbols('n, m') > > In [29]: Sum(xi[n], (n, 1, m)) > > It was the second facility that I was looking for. What fooled me was that in > the documentation: > > https://docs.sympy.org/latest/modules/tensor/indexed.html > > The index variables are created specially: > > i, j = symbols('i j', cls=Idx) > > However it would seem you can index with any integer variable. What does the > Idx class contribute?
Idx lets you specify a range of values. I think it is also handled better by the code printers. If you don't need any of those features, just using a Symbol should work fine. Aaron Meurer > > David > > > > -- > 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 sympy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/d7dfab2d-9789-c46f-8b72-94d2722ca635%40dbailey.co.uk. -- 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 sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6K6OKQPib-8G3K2v8qPBFJSUvXwRp%3Dw_VkO546pmMQv0w%40mail.gmail.com.