Matt,

Thanks for the suggestions.  Way 2 is more what I want to do(but not
quite) right now, but having the capability to do it via way 1 will be
welcomed!

Comer

On Feb 5, 3:03 pm, Matthew Rocklin <mrock...@gmail.com> wrote:
> In pull request 1015 <https://github.com/sympy/sympy/pull/1015> you can do
> this with the following code
> In [1]: A = MatrixSymbol('a', 3, 3)
>
> In [2]: print A.as_explicit()
> [a(0, 0), a(0, 1), a(0, 2)]
> [a(1, 0), a(1, 1), a(1, 2)]
> [a(2, 0), a(2, 1), a(2, 2)]
>
> Each of these entries are a unique symbol (actually a function object).
>  You can also just ask for A[1,2] and get a(1, 2) without the as_explicit
> call and it'll generate it on the fly.
> In [3]: A[1,2]
> Out[3]: a(1, 2)
>
> Unfortunately this is not the same text as you're looking for.
>
> A simpler and probably better solution that works in master is to use a
> doubly nested list comprehension. I apologize for the horizontal coding.
> This is effectively just a doubly nested for loop written sideways.
> In [4]: [[Symbol('a_%d%d'%(i,j)) for j in range(3)] for i in range(3)]
> Out[4]: [[a₀₀, a₀₁, a₀₂], [a₁₀, a₁₁, a₁₂], [a₂₀, a₂₁, a₂₂]]
>
> -Matt
>
> On Sun, Feb 5, 2012 at 11:54 AM, Comer <comer.dun...@gmail.com> wrote:
> > I am working on a project which requires that I create a matrix of
> > symbols. For discussion purposes say the matrix is 3 x 3. The matrix
> > is to contain 9 unique symbols and my preferred format is the usual
> > matrix format:
>
> > a11, ..., a33 = symbols('a_11 ....a_33')
>
> > Now obviously I could easily just type in the above for all nine
> > symbols.  However, what I want to see how to do is to create a 3 x 3
> > array as above but do it in a couple of for loops.  I looked at the
> > symbols() function but it only seems to work with a linear sequence of
> > symbol names such as x0, x1, x2,  .... xN. But I can not see how to do
> > the same for a 2d array of symbol names such as x00, x01, x02, ... .
> > It would be convenient in my project to be able to quickly create the
> > 2d array of symbols directly by calling  symbols(). It would save some
> > typing.
>
> > Can someone please let me know how best to do this?
>
> > Thanks.
>
> > Comer
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sympy" group.
> > To post to this group, send email to sympy@googlegroups.com.
> > To unsubscribe from this group, send email to
> > sympy+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/sympy?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to