Линейная алгебра МКР1 AP-01-10

598 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=11, 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, використовуючи: "%nicedet(A)) html("а) правило трикутників; ") html("б) метод розкладання визначника за елементами деякого рядка або стовпця; ") html("в) метод зведення до трикутного вигляду.<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>а) за допомогою алгебраїчних доповнень;<br>") html("<p>б) методом Гауса.<br>") 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) res=[randint(-5,5),randint(-5,5),randint(-5,5)] k=vector(res) A=matrix(QQ,3,3) for i in range(A.nrows()): for j in range(A.ncols()): A[i,j]=randint(-5,5) a=randint(-5,5) b=randint(-5,5) c=randint(-5,5) f=a*x^2+b*x+c html("<p>5. Обчисліть $f($<b>A</b>$)$, якщо <b>A</b>=$%s$, $f(x)=%s$<br>"%(latex(A),latex(f))) answers.append(a*A^2+b*A+c) html("<p>6. Розв'яжіть систему рівнянь: ") html("а) методом Крамера; ") html("б) методом оберненої матриці; ") html("в) методом Гауса.<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><b>Варіант %s</b>: "%(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)
f(x)=2*x^2-3*x+4 
       
A=matrix([[1,2],[3,4]]) 
       
a=3 b=-2 c=4 f=a*x^2+b*x+c #f(x).subst(A) f(x=A) 
       
Traceback (click to the left of this block for traceback)
...
TypeError: no canonical coercion from Full MatrixSpace of 2 by 2 dense
matrices over Integer Ring to Symbolic Ring
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_23.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("YT0zCmI9LTIKYz00CmY9YSp4XjIrYip4K2MKI2YoeCkuc3Vic3QoQSkKZih4PUEp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpW61Ov2/___code___.py", line 8, in <module>
    exec compile(u'f(x=A)
  File "", line 1, in <module>
    
  File "expression.pyx", line 3391, in sage.symbolic.expression.Expression.__call__ (sage/symbolic/expression.cpp:15455)
  File "ring.pyx", line 624, in sage.symbolic.ring.SymbolicRing._call_element_ (sage/symbolic/ring.cpp:6449)
  File "expression.pyx", line 3240, in sage.symbolic.expression.Expression.substitute (sage/symbolic/expression.cpp:14829)
  File "expression.pyx", line 1869, in sage.symbolic.expression.Expression.coerce_in (sage/symbolic/expression.cpp:10224)
  File "parent_old.pyx", line 224, in sage.structure.parent_old.Parent._coerce_ (sage/structure/parent_old.c:3288)
  File "parent.pyx", line 960, in sage.structure.parent.Parent.coerce (sage/structure/parent.c:6970)
TypeError: no canonical coercion from Full MatrixSpace of 2 by 2 dense matrices over Integer Ring to Symbolic Ring
R.one()*x 
       
\newcommand{\Bold}[1]{\mathbf{#1}}x
\newcommand{\Bold}[1]{\mathbf{#1}}x
 
       
\left[\texttt{1 jjj}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{}
\left[\texttt{1 jjj}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\hbox{}