Matrice nad općenitim prstenom u SAGE-u

verzija: SageMath 9.4

In [1]:
%display latex

Matrice nad prstenom $\mathbb{Z}$

Uočite da se operacije s matricama odvijaju u prstenu $\mathbb{Z}$.

In [2]:
A=matrix(ZZ,[[2,3,15],[0,16,22]])
B=matrix(ZZ,[[19,25,18],[19,23,7]])
C=matrix(ZZ,[[1,2,3],[1,0,3],[2,8,1]])
In [3]:
A,B,C
Out[3]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\left(\begin{array}{rrr} 2 & 3 & 15 \\ 0 & 16 & 22 \end{array}\right), \left(\begin{array}{rrr} 19 & 25 & 18 \\ 19 & 23 & 7 \end{array}\right), \left(\begin{array}{rrr} 1 & 2 & 3 \\ 1 & 0 & 3 \\ 2 & 8 & 1 \end{array}\right)\right)\]
In [4]:
A+B
Out[4]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 21 & 28 & 33 \\ 19 & 39 & 29 \end{array}\right)\]
In [5]:
5*A
Out[5]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 10 & 15 & 75 \\ 0 & 80 & 110 \end{array}\right)\]
In [6]:
A-B
Out[6]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} -17 & -22 & -3 \\ -19 & -7 & 15 \end{array}\right)\]
In [7]:
A*C
Out[7]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 35 & 124 & 30 \\ 60 & 176 & 70 \end{array}\right)\]

Matrica $C$ ima svoj inverz nad poljem $\mathbb{Q}$. Kao matrica nad prstenom $\mathbb{Z}$ nema inverz, ali SAGE u tom slučaju po defaultu traži inverz nad poljem $\mathbb{Q}$.

In [8]:
C^-1
Out[8]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} -\frac{12}{5} & \frac{11}{5} & \frac{3}{5} \\ \frac{1}{2} & -\frac{1}{2} & 0 \\ \frac{4}{5} & -\frac{2}{5} & -\frac{1}{5} \end{array}\right)\]

Matrice nad prstenom $\mathbb{Z}_{26}$

Uočite da se operacije s matricama odvijaju u prstenu $\mathbb{Z}_{26}$.

In [9]:
A=matrix(Integers(26),[[2,3,15],[0,16,22]])
B=matrix(Integers(26),[[19,25,18],[19,23,7]])
C=matrix(Integers(26),[[1,2,3],[1,0,3],[2,8,1]])
In [10]:
A,B,C
Out[10]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\left(\begin{array}{rrr} 2 & 3 & 15 \\ 0 & 16 & 22 \end{array}\right), \left(\begin{array}{rrr} 19 & 25 & 18 \\ 19 & 23 & 7 \end{array}\right), \left(\begin{array}{rrr} 1 & 2 & 3 \\ 1 & 0 & 3 \\ 2 & 8 & 1 \end{array}\right)\right)\]
In [11]:
A+B
Out[11]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 21 & 2 & 7 \\ 19 & 13 & 3 \end{array}\right)\]
In [12]:
A-B
Out[12]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 9 & 4 & 23 \\ 7 & 19 & 15 \end{array}\right)\]
In [13]:
5*A
Out[13]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 10 & 15 & 23 \\ 0 & 2 & 6 \end{array}\right)\]
In [14]:
A*C
Out[14]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 9 & 20 & 4 \\ 8 & 20 & 18 \end{array}\right)\]

Matrica $C$ nad prstenom $\mathbb{Z}_{26}$ nema inverz jer je njezina determinata nad tim prstenom jednaka $10$, a taj broj nije relativno prosti s modulom $26$.

In [15]:
C^-1
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/lib/python3.9/site-packages/sage/matrix/matrix0.pyx in sage.matrix.matrix0.Matrix.inverse_of_unit (build/cythonized/sage/matrix/matrix0.c:38486)()
   5758             try:
-> 5759                 return (~self.lift_centered()).change_ring(R)
   5760             except (TypeError, ZeroDivisionError):

/usr/lib/python3.9/site-packages/sage/matrix/matrix_rational_dense.pyx in sage.matrix.matrix_rational_dense.Matrix_rational_dense.change_ring (build/cythonized/sage/matrix/matrix_rational_dense.cpp:14919)()
   1493             if not b.gcd(d).is_one():
-> 1494                 raise TypeError("matrix denominator not coprime to modulus")
   1495             B = A._mod_int(b)

TypeError: matrix denominator not coprime to modulus

During handling of the above exception, another exception occurred:

ZeroDivisionError                         Traceback (most recent call last)
/tmp/ipykernel_28418/145294746.py in <module>
----> 1 C**-Integer(1)

/usr/lib/python3.9/site-packages/sage/matrix/matrix0.pyx in sage.matrix.matrix0.Matrix.__pow__ (build/cythonized/sage/matrix/matrix0.c:39296)()
   5842             from sage.matrix.matrix2 import _matrix_power_symbolic
   5843             return _matrix_power_symbolic(self, n)
-> 5844         return generic_power(self, n)
   5845 
   5846     ###################################################

/usr/lib/python3.9/site-packages/sage/arith/power.pyx in sage.arith.power.generic_power (build/cythonized/sage/arith/power.c:2434)()
     81         raise NotImplementedError("non-integral exponents not supported")
     82     if not err:
---> 83         return generic_power_long(a, value)
     84 
     85     if n < 0:

/usr/lib/python3.9/site-packages/sage/arith/power.pyx in sage.arith.power.generic_power_long (build/cythonized/sage/arith/power.c:2708)()
     99     if n < 0:
    100         u = -u
--> 101         a = invert(a)
    102     return generic_power_pos(a, u)
    103 

/usr/lib/python3.9/site-packages/sage/arith/power.pxd in sage.arith.power.invert (build/cythonized/sage/arith/power.c:3747)()
     18     """
     19     if isinstance(a, Element):
---> 20         return ~a
     21     return PyNumber_TrueDivide(type(a)(1), a)
     22 

/usr/lib/python3.9/site-packages/sage/matrix/matrix0.pyx in sage.matrix.matrix0.Matrix.__invert__ (build/cythonized/sage/matrix/matrix0.c:37470)()
   5643                 return ~self.matrix_over_field()
   5644             else:
-> 5645                 return self.inverse_of_unit()
   5646         else:
   5647             A = self.augment(self.parent().identity_matrix())

/usr/lib/python3.9/site-packages/sage/matrix/matrix0.pyx in sage.matrix.matrix0.Matrix.inverse_of_unit (build/cythonized/sage/matrix/matrix0.c:38533)()
   5759                 return (~self.lift_centered()).change_ring(R)
   5760             except (TypeError, ZeroDivisionError):
-> 5761                 raise ZeroDivisionError("input matrix must be nonsingular")
   5762         elif algorithm is None and is_IntegerRing(R):
   5763             try:

ZeroDivisionError: input matrix must be nonsingular
In [16]:
det(C)
Out[16]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}10\]

$M$ kao matrica nad poljem $\mathbb{Q}$ 

In [17]:
M=matrix(QQ,[[1,3],[11,2]])
In [18]:
M
Out[18]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rr} 1 & 3 \\ 11 & 2 \end{array}\right)\]
In [19]:
det(M)
Out[19]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}-31\]
In [20]:
M^-1
Out[20]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rr} -\frac{2}{31} & \frac{3}{31} \\ \frac{11}{31} & -\frac{1}{31} \end{array}\right)\]

$M$ kao matrica nad prstenom $\mathbb{Z}_{30}$

In [21]:
M=matrix(Integers(30),[[1,3],[11,2]])
In [22]:
M
Out[22]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rr} 1 & 3 \\ 11 & 2 \end{array}\right)\]
In [23]:
det(M)
Out[23]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}29\]
In [24]:
M^-1
Out[24]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rr} 28 & 3 \\ 11 & 29 \end{array}\right)\]

Ispis velikih matrica

In [25]:
M=matrix(15,30,lambda i,j:(i-j)/(i+j+1))
In [26]:
M
Out[26]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr} 0 & -\frac{1}{2} & -\frac{2}{3} & -\frac{3}{4} & -\frac{4}{5} & -\frac{5}{6} & -\frac{6}{7} & -\frac{7}{8} & -\frac{8}{9} & -\frac{9}{10} & -\frac{10}{11} & -\frac{11}{12} & -\frac{12}{13} & -\frac{13}{14} & -\frac{14}{15} & -\frac{15}{16} & -\frac{16}{17} & -\frac{17}{18} & -\frac{18}{19} & -\frac{19}{20} & -\frac{20}{21} & -\frac{21}{22} & -\frac{22}{23} & -\frac{23}{24} & -\frac{24}{25} & -\frac{25}{26} & -\frac{26}{27} & -\frac{27}{28} & -\frac{28}{29} & -\frac{29}{30} \\ \frac{1}{2} & 0 & -\frac{1}{4} & -\frac{2}{5} & -\frac{1}{2} & -\frac{4}{7} & -\frac{5}{8} & -\frac{2}{3} & -\frac{7}{10} & -\frac{8}{11} & -\frac{3}{4} & -\frac{10}{13} & -\frac{11}{14} & -\frac{4}{5} & -\frac{13}{16} & -\frac{14}{17} & -\frac{5}{6} & -\frac{16}{19} & -\frac{17}{20} & -\frac{6}{7} & -\frac{19}{22} & -\frac{20}{23} & -\frac{7}{8} & -\frac{22}{25} & -\frac{23}{26} & -\frac{8}{9} & -\frac{25}{28} & -\frac{26}{29} & -\frac{9}{10} & -\frac{28}{31} \\ \frac{2}{3} & \frac{1}{4} & 0 & -\frac{1}{6} & -\frac{2}{7} & -\frac{3}{8} & -\frac{4}{9} & -\frac{1}{2} & -\frac{6}{11} & -\frac{7}{12} & -\frac{8}{13} & -\frac{9}{14} & -\frac{2}{3} & -\frac{11}{16} & -\frac{12}{17} & -\frac{13}{18} & -\frac{14}{19} & -\frac{3}{4} & -\frac{16}{21} & -\frac{17}{22} & -\frac{18}{23} & -\frac{19}{24} & -\frac{4}{5} & -\frac{21}{26} & -\frac{22}{27} & -\frac{23}{28} & -\frac{24}{29} & -\frac{5}{6} & -\frac{26}{31} & -\frac{27}{32} \\ \frac{3}{4} & \frac{2}{5} & \frac{1}{6} & 0 & -\frac{1}{8} & -\frac{2}{9} & -\frac{3}{10} & -\frac{4}{11} & -\frac{5}{12} & -\frac{6}{13} & -\frac{1}{2} & -\frac{8}{15} & -\frac{9}{16} & -\frac{10}{17} & -\frac{11}{18} & -\frac{12}{19} & -\frac{13}{20} & -\frac{2}{3} & -\frac{15}{22} & -\frac{16}{23} & -\frac{17}{24} & -\frac{18}{25} & -\frac{19}{26} & -\frac{20}{27} & -\frac{3}{4} & -\frac{22}{29} & -\frac{23}{30} & -\frac{24}{31} & -\frac{25}{32} & -\frac{26}{33} \\ \frac{4}{5} & \frac{1}{2} & \frac{2}{7} & \frac{1}{8} & 0 & -\frac{1}{10} & -\frac{2}{11} & -\frac{1}{4} & -\frac{4}{13} & -\frac{5}{14} & -\frac{2}{5} & -\frac{7}{16} & -\frac{8}{17} & -\frac{1}{2} & -\frac{10}{19} & -\frac{11}{20} & -\frac{4}{7} & -\frac{13}{22} & -\frac{14}{23} & -\frac{5}{8} & -\frac{16}{25} & -\frac{17}{26} & -\frac{2}{3} & -\frac{19}{28} & -\frac{20}{29} & -\frac{7}{10} & -\frac{22}{31} & -\frac{23}{32} & -\frac{8}{11} & -\frac{25}{34} \\ \frac{5}{6} & \frac{4}{7} & \frac{3}{8} & \frac{2}{9} & \frac{1}{10} & 0 & -\frac{1}{12} & -\frac{2}{13} & -\frac{3}{14} & -\frac{4}{15} & -\frac{5}{16} & -\frac{6}{17} & -\frac{7}{18} & -\frac{8}{19} & -\frac{9}{20} & -\frac{10}{21} & -\frac{1}{2} & -\frac{12}{23} & -\frac{13}{24} & -\frac{14}{25} & -\frac{15}{26} & -\frac{16}{27} & -\frac{17}{28} & -\frac{18}{29} & -\frac{19}{30} & -\frac{20}{31} & -\frac{21}{32} & -\frac{2}{3} & -\frac{23}{34} & -\frac{24}{35} \\ \frac{6}{7} & \frac{5}{8} & \frac{4}{9} & \frac{3}{10} & \frac{2}{11} & \frac{1}{12} & 0 & -\frac{1}{14} & -\frac{2}{15} & -\frac{3}{16} & -\frac{4}{17} & -\frac{5}{18} & -\frac{6}{19} & -\frac{7}{20} & -\frac{8}{21} & -\frac{9}{22} & -\frac{10}{23} & -\frac{11}{24} & -\frac{12}{25} & -\frac{1}{2} & -\frac{14}{27} & -\frac{15}{28} & -\frac{16}{29} & -\frac{17}{30} & -\frac{18}{31} & -\frac{19}{32} & -\frac{20}{33} & -\frac{21}{34} & -\frac{22}{35} & -\frac{23}{36} \\ \frac{7}{8} & \frac{2}{3} & \frac{1}{2} & \frac{4}{11} & \frac{1}{4} & \frac{2}{13} & \frac{1}{14} & 0 & -\frac{1}{16} & -\frac{2}{17} & -\frac{1}{6} & -\frac{4}{19} & -\frac{1}{4} & -\frac{2}{7} & -\frac{7}{22} & -\frac{8}{23} & -\frac{3}{8} & -\frac{2}{5} & -\frac{11}{26} & -\frac{4}{9} & -\frac{13}{28} & -\frac{14}{29} & -\frac{1}{2} & -\frac{16}{31} & -\frac{17}{32} & -\frac{6}{11} & -\frac{19}{34} & -\frac{4}{7} & -\frac{7}{12} & -\frac{22}{37} \\ \frac{8}{9} & \frac{7}{10} & \frac{6}{11} & \frac{5}{12} & \frac{4}{13} & \frac{3}{14} & \frac{2}{15} & \frac{1}{16} & 0 & -\frac{1}{18} & -\frac{2}{19} & -\frac{3}{20} & -\frac{4}{21} & -\frac{5}{22} & -\frac{6}{23} & -\frac{7}{24} & -\frac{8}{25} & -\frac{9}{26} & -\frac{10}{27} & -\frac{11}{28} & -\frac{12}{29} & -\frac{13}{30} & -\frac{14}{31} & -\frac{15}{32} & -\frac{16}{33} & -\frac{1}{2} & -\frac{18}{35} & -\frac{19}{36} & -\frac{20}{37} & -\frac{21}{38} \\ \frac{9}{10} & \frac{8}{11} & \frac{7}{12} & \frac{6}{13} & \frac{5}{14} & \frac{4}{15} & \frac{3}{16} & \frac{2}{17} & \frac{1}{18} & 0 & -\frac{1}{20} & -\frac{2}{21} & -\frac{3}{22} & -\frac{4}{23} & -\frac{5}{24} & -\frac{6}{25} & -\frac{7}{26} & -\frac{8}{27} & -\frac{9}{28} & -\frac{10}{29} & -\frac{11}{30} & -\frac{12}{31} & -\frac{13}{32} & -\frac{14}{33} & -\frac{15}{34} & -\frac{16}{35} & -\frac{17}{36} & -\frac{18}{37} & -\frac{1}{2} & -\frac{20}{39} \\ \frac{10}{11} & \frac{3}{4} & \frac{8}{13} & \frac{1}{2} & \frac{2}{5} & \frac{5}{16} & \frac{4}{17} & \frac{1}{6} & \frac{2}{19} & \frac{1}{20} & 0 & -\frac{1}{22} & -\frac{2}{23} & -\frac{1}{8} & -\frac{4}{25} & -\frac{5}{26} & -\frac{2}{9} & -\frac{1}{4} & -\frac{8}{29} & -\frac{3}{10} & -\frac{10}{31} & -\frac{11}{32} & -\frac{4}{11} & -\frac{13}{34} & -\frac{2}{5} & -\frac{5}{12} & -\frac{16}{37} & -\frac{17}{38} & -\frac{6}{13} & -\frac{19}{40} \\ \frac{11}{12} & \frac{10}{13} & \frac{9}{14} & \frac{8}{15} & \frac{7}{16} & \frac{6}{17} & \frac{5}{18} & \frac{4}{19} & \frac{3}{20} & \frac{2}{21} & \frac{1}{22} & 0 & -\frac{1}{24} & -\frac{2}{25} & -\frac{3}{26} & -\frac{4}{27} & -\frac{5}{28} & -\frac{6}{29} & -\frac{7}{30} & -\frac{8}{31} & -\frac{9}{32} & -\frac{10}{33} & -\frac{11}{34} & -\frac{12}{35} & -\frac{13}{36} & -\frac{14}{37} & -\frac{15}{38} & -\frac{16}{39} & -\frac{17}{40} & -\frac{18}{41} \\ \frac{12}{13} & \frac{11}{14} & \frac{2}{3} & \frac{9}{16} & \frac{8}{17} & \frac{7}{18} & \frac{6}{19} & \frac{1}{4} & \frac{4}{21} & \frac{3}{22} & \frac{2}{23} & \frac{1}{24} & 0 & -\frac{1}{26} & -\frac{2}{27} & -\frac{3}{28} & -\frac{4}{29} & -\frac{1}{6} & -\frac{6}{31} & -\frac{7}{32} & -\frac{8}{33} & -\frac{9}{34} & -\frac{2}{7} & -\frac{11}{36} & -\frac{12}{37} & -\frac{13}{38} & -\frac{14}{39} & -\frac{3}{8} & -\frac{16}{41} & -\frac{17}{42} \\ \frac{13}{14} & \frac{4}{5} & \frac{11}{16} & \frac{10}{17} & \frac{1}{2} & \frac{8}{19} & \frac{7}{20} & \frac{2}{7} & \frac{5}{22} & \frac{4}{23} & \frac{1}{8} & \frac{2}{25} & \frac{1}{26} & 0 & -\frac{1}{28} & -\frac{2}{29} & -\frac{1}{10} & -\frac{4}{31} & -\frac{5}{32} & -\frac{2}{11} & -\frac{7}{34} & -\frac{8}{35} & -\frac{1}{4} & -\frac{10}{37} & -\frac{11}{38} & -\frac{4}{13} & -\frac{13}{40} & -\frac{14}{41} & -\frac{5}{14} & -\frac{16}{43} \\ \frac{14}{15} & \frac{13}{16} & \frac{12}{17} & \frac{11}{18} & \frac{10}{19} & \frac{9}{20} & \frac{8}{21} & \frac{7}{22} & \frac{6}{23} & \frac{5}{24} & \frac{4}{25} & \frac{3}{26} & \frac{2}{27} & \frac{1}{28} & 0 & -\frac{1}{30} & -\frac{2}{31} & -\frac{3}{32} & -\frac{4}{33} & -\frac{5}{34} & -\frac{6}{35} & -\frac{7}{36} & -\frac{8}{37} & -\frac{9}{38} & -\frac{10}{39} & -\frac{11}{40} & -\frac{12}{41} & -\frac{13}{42} & -\frac{14}{43} & -\frac{15}{44} \end{array}\right)\]

pretvaranje matrice u string

In [27]:
print(M.str())
[     0   -1/2   -2/3   -3/4   -4/5   -5/6   -6/7   -7/8   -8/9  -9/10 -10/11 -11/12 -12/13 -13/14 -14/15 -15/16 -16/17 -17/18 -18/19 -19/20 -20/21 -21/22 -22/23 -23/24 -24/25 -25/26 -26/27 -27/28 -28/29 -29/30]
[   1/2      0   -1/4   -2/5   -1/2   -4/7   -5/8   -2/3  -7/10  -8/11   -3/4 -10/13 -11/14   -4/5 -13/16 -14/17   -5/6 -16/19 -17/20   -6/7 -19/22 -20/23   -7/8 -22/25 -23/26   -8/9 -25/28 -26/29  -9/10 -28/31]
[   2/3    1/4      0   -1/6   -2/7   -3/8   -4/9   -1/2  -6/11  -7/12  -8/13  -9/14   -2/3 -11/16 -12/17 -13/18 -14/19   -3/4 -16/21 -17/22 -18/23 -19/24   -4/5 -21/26 -22/27 -23/28 -24/29   -5/6 -26/31 -27/32]
[   3/4    2/5    1/6      0   -1/8   -2/9  -3/10  -4/11  -5/12  -6/13   -1/2  -8/15  -9/16 -10/17 -11/18 -12/19 -13/20   -2/3 -15/22 -16/23 -17/24 -18/25 -19/26 -20/27   -3/4 -22/29 -23/30 -24/31 -25/32 -26/33]
[   4/5    1/2    2/7    1/8      0  -1/10  -2/11   -1/4  -4/13  -5/14   -2/5  -7/16  -8/17   -1/2 -10/19 -11/20   -4/7 -13/22 -14/23   -5/8 -16/25 -17/26   -2/3 -19/28 -20/29  -7/10 -22/31 -23/32  -8/11 -25/34]
[   5/6    4/7    3/8    2/9   1/10      0  -1/12  -2/13  -3/14  -4/15  -5/16  -6/17  -7/18  -8/19  -9/20 -10/21   -1/2 -12/23 -13/24 -14/25 -15/26 -16/27 -17/28 -18/29 -19/30 -20/31 -21/32   -2/3 -23/34 -24/35]
[   6/7    5/8    4/9   3/10   2/11   1/12      0  -1/14  -2/15  -3/16  -4/17  -5/18  -6/19  -7/20  -8/21  -9/22 -10/23 -11/24 -12/25   -1/2 -14/27 -15/28 -16/29 -17/30 -18/31 -19/32 -20/33 -21/34 -22/35 -23/36]
[   7/8    2/3    1/2   4/11    1/4   2/13   1/14      0  -1/16  -2/17   -1/6  -4/19   -1/4   -2/7  -7/22  -8/23   -3/8   -2/5 -11/26   -4/9 -13/28 -14/29   -1/2 -16/31 -17/32  -6/11 -19/34   -4/7  -7/12 -22/37]
[   8/9   7/10   6/11   5/12   4/13   3/14   2/15   1/16      0  -1/18  -2/19  -3/20  -4/21  -5/22  -6/23  -7/24  -8/25  -9/26 -10/27 -11/28 -12/29 -13/30 -14/31 -15/32 -16/33   -1/2 -18/35 -19/36 -20/37 -21/38]
[  9/10   8/11   7/12   6/13   5/14   4/15   3/16   2/17   1/18      0  -1/20  -2/21  -3/22  -4/23  -5/24  -6/25  -7/26  -8/27  -9/28 -10/29 -11/30 -12/31 -13/32 -14/33 -15/34 -16/35 -17/36 -18/37   -1/2 -20/39]
[ 10/11    3/4   8/13    1/2    2/5   5/16   4/17    1/6   2/19   1/20      0  -1/22  -2/23   -1/8  -4/25  -5/26   -2/9   -1/4  -8/29  -3/10 -10/31 -11/32  -4/11 -13/34   -2/5  -5/12 -16/37 -17/38  -6/13 -19/40]
[ 11/12  10/13   9/14   8/15   7/16   6/17   5/18   4/19   3/20   2/21   1/22      0  -1/24  -2/25  -3/26  -4/27  -5/28  -6/29  -7/30  -8/31  -9/32 -10/33 -11/34 -12/35 -13/36 -14/37 -15/38 -16/39 -17/40 -18/41]
[ 12/13  11/14    2/3   9/16   8/17   7/18   6/19    1/4   4/21   3/22   2/23   1/24      0  -1/26  -2/27  -3/28  -4/29   -1/6  -6/31  -7/32  -8/33  -9/34   -2/7 -11/36 -12/37 -13/38 -14/39   -3/8 -16/41 -17/42]
[ 13/14    4/5  11/16  10/17    1/2   8/19   7/20    2/7   5/22   4/23    1/8   2/25   1/26      0  -1/28  -2/29  -1/10  -4/31  -5/32  -2/11  -7/34  -8/35   -1/4 -10/37 -11/38  -4/13 -13/40 -14/41  -5/14 -16/43]
[ 14/15  13/16  12/17  11/18  10/19   9/20   8/21   7/22   6/23   5/24   4/25   3/26   2/27   1/28      0  -1/30  -2/31  -3/32  -4/33  -5/34  -6/35  -7/36  -8/37  -9/38 -10/39 -11/40 -12/41 -13/42 -14/43 -15/44]

ispis matrice u datoteku

In [28]:
f=open('M.txt','w')
f.write(M.str())
f.close()
In [29]:
M2=matrix(300,200,lambda i,j:2*i-j)
In [30]:
f=open('M2.txt','w')
f.write(M2.str())
f.close()
In [ ]: