Как хранить математические функции в двумерном массиве в Sympy? - PullRequest
0 голосов
/ 30 ноября 2018
        from sympy.physics.hydrogen import R_nl
        from sympy import var
        from sympy import Matrix
        import sympy as sp
        sp.init_printing(use_latex="mathjax")
        r1,Z=var("r1 Z")
        r2,Z=var("r2,Z")
        O=sp.zeros(3)
        k=0
        for i in range(1,3,1):
          for j in range(0,i,1):

             print("n=",i,"l=",j, ":")
             O[k]= R_nl(i,j,r1,Z)
             display(O[k])
             print("------------------------------------")
             k=k+1

В приведенном выше коде я сохранил встроенные функции R_nl (это радиальная часть волновых функций атома водорода) в одномерном массиве.Я хочу, чтобы это было сохранено в двухмерном массиве.Встроенные функции R_nl имеют положительные целочисленные параметры n и l, поэтому было бы неплохо, если бы я мог сохранить их в двумерном массиве.Может кто-нибудь помочь мне сохранить это в двухмерном массиве?Если я пытаюсь сохранить это в двумерном массиве, он выдает следующее сообщение об ошибке


 TypeError Traceback (most recent call last)
<ipython-input-22-6bcaaf0f91e4> in <module>
      19 
      20         print("n=",i,"l=",j, ":")
 ---> 21         O[k][s]= R_nl(i,j,r1,Z)
      22         display(O[k][s])
      23         print("------------------------------------")

      TypeError: 'Zero' object does not support item assignment

1 Ответ

0 голосов
/ 01 декабря 2018

Попробуйте получить доступ к Матрице как O[k, s] вместо O[k][s].

...