Линейная алгебра МКР1

596 days ago by semerikov

#auto def nicedet(M): s="$\\left|\\begin{array}{ccc} " for i in range(M.nrows()): for j in range(M.ncols()): s=s+" "+latex(M[i,j]) if j!=M.ncols()-1: s=s+"&" s=s+"\\\\" s=s+"\\end{array}\\right|$" return s x1,x2,x3=var("x1,x2,x3") @interact def mkr1(numvar = input_box(default=14, label="Кількість варіантів")): answers=[] for var in range(numvar): html("</pre><center><font size=+2>Варіант %s</font></center>"%(var+1)) A=matrix(QQ,3,3) for i in range(3): for j in range(3): A[i,j]=randint(-5,5) answers.append(det(A)) html("<p>1. Обчисліть визначник %s, використовуючи:<br>"%nicedet(A)) html("<p>а) правило трикутників;<br>") html("<p>б) метод розкладання визначника за елементами деякого рядка або стовпця;<br>") html("<p>в) метод зведення до трикутного вигляду.<br>") html("<p>2. Обчисліть добуток <b>AB</b> та <b>BA</b>:<br>") A=matrix(QQ,randint(1,3),randint(1,3)) for i in range(A.nrows()): for j in range(A.ncols()): A[i,j]=randint(-5,5) B=matrix(QQ,randint(1,3),randint(1,3)) for i in range(B.nrows()): for j in range(B.ncols()): B[i,j]=randint(-5,5) html("<b>A</b>=$%s$, <b>B</b>=$%s$"%(latex(A),latex(B))) try: res=A*B except: res="Добуток AB не існує" answers.append(res) try: res=B*A except: res="Добуток BA не існує" answers.append(res) A=matrix(QQ,3,3) for i in range(3): for j in range(3): A[i,j]=randint(-5,5) try: res=A^-1 except: res="Обернена матриця не існує" answers.append(res) html("<p>3. Знайдіть матрицю, обернену до $%s$<br>"%latex(A)) html("<p>4. Розв'яжіть матричне рівняння: <b>ABX=C</b>:<br>") A=matrix(QQ,2,2) for i in range(A.nrows()): for j in range(A.ncols()): A[i,j]=randint(-5,5) B=matrix(QQ,2,2) for i in range(B.nrows()): for j in range(B.ncols()): B[i,j]=randint(-5,5) C=matrix(QQ,2,2) for i in range(C.nrows()): for j in range(C.ncols()): C[i,j]=randint(-5,5) html("<b>A</b>=$%s$, <b>B</b>=$%s$, <b>C</b>=$%s$<br>"%(latex(A),latex(B),latex(C))) try: res=((A*B)^-1)*C except: res="Матричне рівняння нерозв'язне" answers.append(res) html("<p>5. Розв'яжіть систему рівнянь методом оберненої матриці:<br>") res=[randint(-5,5),randint(-5,5),randint(-5,5)] k=vector(res) answers.append(k) A=matrix(QQ,3,3) for i in range(A.nrows()): for j in range(A.ncols()): A[i,j]=randint(-5,5) B=matrix(QQ,3,1) for i in range(A.nrows()): for j in range(A.ncols()): B[i,0]=B[i,0]+A[i,j]*res[j] L=[x1,x2,x3] X=matrix(3,1,L) s="$\\left \\{ \\begin{eqnarray}" for i in range(3): s=s+"%s=%s \\\\"%(latex((A*X)[i][0]),latex(B[i][0])) s=s+"\\end{eqnarray} \\right.$" html(s) html("<p>6. Розв'яжіть систему рівнянь методом Крамера:<br>") res=[randint(-5,5),randint(-5,5),randint(-5,5)] k=vector(res) answers.append(k) A=matrix(QQ,3,3) for i in range(A.nrows()): for j in range(A.ncols()): A[i,j]=randint(-5,5) B=matrix(QQ,3,1) for i in range(A.nrows()): for j in range(A.ncols()): B[i,0]=B[i,0]+A[i,j]*res[j] L=[x1,x2,x3] X=matrix(3,1,L) s="$\\left \\{ \\begin{eqnarray}" for i in range(3): s=s+"%s=%s \\\\"%(latex((A*X)[i][0]),latex(B[i][0])) s=s+"\\end{eqnarray} \\right.$" html(s) html("<hr>") html("<p><p><p><p><p><p><p><p>") for var in range(numvar): html("<p>Варіант %s: "%(var+1)) html("1. $%s$; 2. <b>AB</b>=$%s$, <b>BA</b>=$%s$; 3. $%s$; 4. $%s$; 5. $%s$; 6. $%s$"%(latex(answers[var*7+0]), latex(answers[var*7+1]), latex(answers[var*7+2]), latex(answers[var*7+3]), latex(answers[var*7+4]), latex(answers[var*7+5]), latex(answers[var*7+6]))) 
       

Click to the left again to hide and once more to show the dynamic interactive window

 
       
\newcommand{\Bold}[1]{\mathbf{#1}}\left(1,2,3\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(1,2,3\right)
 
       
Traceback (click to the left of this block for traceback)
...
TypeError: text() takes exactly 2 non-keyword arguments (1 given)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_25.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("az1sYXRleCgiaGVsbG8iKQprCmh0bWwodGV4dCgiJCIraysiJCIpKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpF95Pe4/___code___.py", line 4, in <module>
    exec compile(u'html(text("$"+k+"$"))
  File "", line 1, in <module>
    
  File "/home/sage/sage_install/sage-4.3.5/local/lib/python2.6/site-packages/sage/plot/misc.py", line 283, in wrapper
    return func(*args, **kwds)
  File "/home/sage/sage_install/sage-4.3.5/local/lib/python2.6/site-packages/sage/plot/misc.py", line 138, in wrapper
    return func(*args, **options)
TypeError: text() takes exactly 2 non-keyword arguments (1 given)
 
       
\hbox{hello}
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{}
\hbox{hello}
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{}
 
       
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{$Sage is really neat!!$}
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{$Sage is really neat!!$}
 
       
 
       
\left[\texttt{1 jjj}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{}
\left[\texttt{1 jjj}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{}