2017年12月22日金曜日

学習環境

展開したら(expand)長くなるし、見にくくなるのし。2乗ならまだ読みやすいけど、100乗とかだと…

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols

a, b = symbols('a, b')
n = 2
eq = 2 * (a + b) ** n

for n0 in [2, 100]:
    eq0 = eq.subs({n: n0})
    for t in [eq0, eq0.expand()]:
        pprint(t)
        print()
    print()

入出力結果(Terminal, Jupyter(IPython))

$ ./sample.py
         2
2⋅(a + b) 

   2              2
2⋅a  + 4⋅a⋅b + 2⋅b 


           100
100⋅(a + b)   

     100          99             98  2             97  3              96  4   
100⋅a    + 10000⋅a  ⋅b + 495000⋅a  ⋅b  + 16170000⋅a  ⋅b  + 392122500⋅a  ⋅b  + 

            95  5                 94  6                  93  7                
7528752000⋅a  ⋅b  + 119205240000⋅a  ⋅b  + 1600756080000⋅a  ⋅b  + 1860878943000

   92  8                    91  9                     90  10                  
0⋅a  ⋅b  + 190223180840000⋅a  ⋅b  + 1731030945644000⋅a  ⋅b   + 141629804643600

    89  11                       88  12                       87  13          
00⋅a  ⋅b   + 105042105110670000⋅a  ⋅b   + 711054249979920000⋅a  ⋅b   + 4418694

              86  14                         85  15                          8
267732360000⋅a  ⋅b   + 25333847134998864000⋅a  ⋅b   + 134586062904681465000⋅a 

4  16                          83  17                           82  18        
 ⋅b   + 665013487293720180000⋅a  ⋅b   + 3066451080298820830000⋅a  ⋅b   + 13234

                    81  19                            80  20                  
157293921226740000⋅a  ⋅b   + 53598337040380968297000⋅a  ⋅b   + 204184141106213

           79  21                             78  22                          
212560000⋅a  ⋅b   + 733206688517765626920000⋅a  ⋅b   + 24865270306254660391200

    77  23                              76  24                               7
00⋅a  ⋅b   + 7977607556590036875510000⋅a  ⋅b   + 24251926972033712101550400⋅a 

5  25                               74  26                                73  
 ⋅b   + 69957481650097246446780000⋅a  ⋅b   + 191735320078044305076360000⋅a  ⋅b

27                                72  28                                 71  2
   + 499881370203472652520510000⋅a  ⋅b   + 1241084781194828654533680000⋅a  ⋅b 

9                                 70  30                                 69  3
  + 2937233982161094482396376000⋅a  ⋅b   + 6632463830686342379604720000⋅a  ⋅b 

1                                  68  32                                  67 
  + 14301250134917425756022677500⋅a  ⋅b   + 29469242702254089436652790000⋅a  ⋅

 33                                  66  34                                   
b   + 58071742972088940948698145000⋅a  ⋅b   + 109506715318796288646116502000⋅a

65  35                                   64  36                               
  ⋅b   + 197720458214493298944377017500⋅a  ⋅b   + 3420029547493938143902737600

    63  37                                   62  38                           
00⋅a  ⋅b   + 567004898663468692278611760000⋅a  ⋅b   + 901392403003463049263434

        61  39                                    60  40                      
080000⋅a  ⋅b   + 1374623414580281150126736972000⋅a  ⋅b   + 2011644021336996805

              59  41                                    58  42                
063517520000⋅a  ⋅b   + 2825880887116257416636846040000⋅a  ⋅b   + 3811653289598

                    57  43                                    56  44          
672794533420240000⋅a  ⋅b   + 4937823579707371574736476220000⋅a  ⋅b   + 6144847

                          55  45                                    54  46    
121413617959672059296000⋅a  ⋅b   + 7347099819081499734390505680000⋅a  ⋅b   + 8

                                53  47                                    52  
441348728306403950150793760000⋅a  ⋅b   + 9320655887504987694958168110000⋅a  ⋅b

48                                    51  49                                  
   + 9891308288780803268118872280000⋅a  ⋅b   + 1008913445455641933348124972560

   50  50                                    49  51                           
0⋅a  ⋅b   + 9891308288780803268118872280000⋅a  ⋅b   + 932065588750498769495816

         48  52                                    47  53                     
8110000⋅a  ⋅b   + 8441348728306403950150793760000⋅a  ⋅b   + 734709981908149973

               46  54                                    45  55               
4390505680000⋅a  ⋅b   + 6144847121413617959672059296000⋅a  ⋅b   + 493782357970

                     44  56                                    43  57         
7371574736476220000⋅a  ⋅b   + 3811653289598672794533420240000⋅a  ⋅b   + 282588

                           42  58                                    41  59   
0887116257416636846040000⋅a  ⋅b   + 2011644021336996805063517520000⋅a  ⋅b   + 

                                 40  60                                   39  
1374623414580281150126736972000⋅a  ⋅b   + 901392403003463049263434080000⋅a  ⋅b

61                                   38  62                                   
   + 567004898663468692278611760000⋅a  ⋅b   + 342002954749393814390273760000⋅a

37  63                                   36  64                               
  ⋅b   + 197720458214493298944377017500⋅a  ⋅b   + 1095067153187962886461165020

    35  65                                  34  66                            
00⋅a  ⋅b   + 58071742972088940948698145000⋅a  ⋅b   + 2946924270225408943665279

      33  67                                  32  68                          
0000⋅a  ⋅b   + 14301250134917425756022677500⋅a  ⋅b   + 66324638306863423796047

       31  69                                 30  70                          
20000⋅a  ⋅b   + 2937233982161094482396376000⋅a  ⋅b   + 12410847811948286545336

       29  71                                28  72                           
80000⋅a  ⋅b   + 499881370203472652520510000⋅a  ⋅b   + 191735320078044305076360

     27  73                               26  74                              
000⋅a  ⋅b   + 69957481650097246446780000⋅a  ⋅b   + 24251926972033712101550400⋅

 25  75                              24  76                              23  7
a  ⋅b   + 7977607556590036875510000⋅a  ⋅b   + 2486527030625466039120000⋅a  ⋅b 

7                             22  78                             21  79       
  + 733206688517765626920000⋅a  ⋅b   + 204184141106213212560000⋅a  ⋅b   + 5359

                     20  80                            19  81                 
8337040380968297000⋅a  ⋅b   + 13234157293921226740000⋅a  ⋅b   + 30664510802988

          18  82                          17  83                          16  
20830000⋅a  ⋅b   + 665013487293720180000⋅a  ⋅b   + 134586062904681465000⋅a  ⋅b

84                         15  85                        14  86               
   + 25333847134998864000⋅a  ⋅b   + 4418694267732360000⋅a  ⋅b   + 711054249979

        13  87                       12  88                      11  89       
920000⋅a  ⋅b   + 105042105110670000⋅a  ⋅b   + 14162980464360000⋅a  ⋅b   + 1731

              10  90                    9  91                   8  92         
030945644000⋅a  ⋅b   + 190223180840000⋅a ⋅b   + 18608789430000⋅a ⋅b   + 160075

         7  93                 6  94               5  95              4  96   
6080000⋅a ⋅b   + 119205240000⋅a ⋅b   + 7528752000⋅a ⋅b   + 392122500⋅a ⋅b   + 

          3  97           2  98            99        100
16170000⋅a ⋅b   + 495000⋅a ⋅b   + 10000⋅a⋅b   + 100⋅b   


$

0 コメント:

コメントを投稿