Lý thuyết xấp xỉ nghiệm của hệ phi tuyến tổng quát bằng phương pháp Newton có thể xem trong bài báo dưới đây
http://benisrael.net/Newton-MP.pdf
Ở đây giới thiệu maplet cho bài xấp xỉ nghiệm của hệ phi tuyến bẳng phương pháp Newton hiểu theo nghĩa cổ điển.
Thí dụ giải hệ phương trình
Trước hết lập một vài procedure cần thiết
> with(LinearAlgebra): with(MTM):
> F:=proc(F1,F2,x,y) local f1,f2; # Lập vector hàm
f1:= proc (x,y) options operator, arrow; F1 end proc;
f2:= proc (x,y) options operator, arrow; F2 end proc;
return (Vector([f1(x,y),f2(x,y)]));
end proc:
> JacobianMatrix := proc (F1,F2,x,y) local f1,f2; # tính ma trận Jacobian
f1:= proc (x,y) options operator, arrow; F1 end proc;
f2:= proc (x,y) options operator, arrow; F2 end proc;
return (jacobian(Vector([f1(x,y),f2(x,y)]),Vector([x,y])))
end proc:
> V := proc (n::nonnegint,F1,F2,x,y) # Tìm nghiệm gần đúng bằng đệ quy
if n = 1 then return Vector([-1, 1]);
else return (
V(n-1,F1,F2,x,y)-MatrixVectorMultiply(
MatrixInverse(eval(JacobianMatrix(F1,F2,x,y),[x=V(n-1,F1,F2,x,y)[1],y=V(n-1,F1,F2,x,y)[2]])),
eval(F(F1,F2, x,y),[x=V(n-1,F1,F2,x,y)[1],y=V(n-1,F1,F2,x,y)[2]] )) );
end if;
end proc:
> U:=proc(F1,F2,x,y,e) local n; # Tìm nghiệm gần đúng với sai số là e
n:=1;
while (VectorNorm(V(n+1,F1,F2,x,y)-V(n,F1,F2,x,y))> e) do
n:=n+1; end do;
return(evalf(V(n,F1,F2,x,y)));
end proc:
Có thể test một số hệ phương trình hai biến (dĩ nhiên có thể xảy ra trường hợp phương trình vô nghiệm, hoặc không hội tụ, tuy nhiên trong giải thuật ở trên được xin bỏ qua những điều này, việc bổ sung và tổng quát giải thuật không có nhiều khó khăn), chẳng hạn với ví trên
> U(x^3-y+1, 2*x+y+3, x, y, 1/1000000);
Kết quả:
Lập một maplet là bước cuối cùng để thu được sản phẩm phần mềm hữu ích
> with(Maplets[Elements]):
> maplet := Maplet(
Window(‘title’ = “Solving System of Equations”, ‘toolbar’ = ‘TB’,
[["Enter the 1st function with variables x,y"], [TextField['f1'](30)],
["Enter the 2nd function with variables x,y"], [TextField['f2'](30)],
["Enter tolerance", TextField['e'](12)],
["Solution"],[MathMLViewer['ML']()]]),
ToolBar[TB](
ToolBarButton(caption = “Do It”, image = Image(“run.png”), onclick=Evaluate(‘ML’='U(f1,f2,x,y,e)’)),
ToolBarSeparator(),
ToolBarButton(caption = “About”, image = Image(“about.png”), onclick = RunDialog(‘DG’)),
ToolBarSeparator(),
ToolBarButton(caption = “Exit”, image = Image(“exit.png”), onclick = Shutdown())),
MessageDialog[DG](“Solving System of Equations. Copyringt (C) 2009 Mathematical Diary”)):
> Maplets[Display](maplet);

Definition. Given be a linear operator such that for every
then
The matrix with k-row is given by will be called circulant and denoted by
Theorem 1. , where
is a primitive n-th root of unity.
We multiply the j-columm with , and add it onto the first columm, claim that
, we have:
The j-element of the first columm is a product of with
. We give
as a polynomial with n variable
on
, hence
is devided by
. Claim that
is a n-degree polynomial and the coefficient of
is 1.
Thus
For , we denote
and
We can easily calculate and receive that and since
is a linearly independent system, we conclude that
are eigenvalues of circulant matrix
Some results:
i.
ii. With non-singular matrix
then
iii where
(To be continued)
Có thể nói đây là phương pháp đơn giản nhất đối với bài toán chéo hóa các ma trận đối xứng.
Giả sử ma trận đối xứng. Ta xây dựng dãy ma trận trực giao
và dãy ma trận
như sau
sao cho là dạng chéo hóa của
.
Thiết lập một dãy như vậy được gọi là quá trình lặp Jacobi
Tại bước thứ của quá trình này
chúng ta sẽ làm cho phần tử
nằm ngoài đường chéo chính nhận giá trị 0 bằng cách đặt
trong đó
Tương ứng với phép biến đổi
,
Giả sử , chúng ta muốn rằng
nên từ phương trình cuối cùng ta có
Ta đặt suy ra
, dẫn đến phương trình bậc 2
với nghiệm . Từ đây ta tính được
Chúng ta xét các tổng các phần tử nằm ngoài đường chéo chính
Khi đó theo hệ phương trình đã xét ta có
Như vậy dãy đơn điệu giảm và bị chặn dưới bởi 0 nên nó hội tụ.
Với vị trí cần đưa về
trong ma trận
ta chọn tại vị trí của phần tử
trong ma trận
.
Với cách chọn như vậy thì hội tụ về 0 và hệ quả là
hội tụ về ma trận đường chéo
. Ta biết rằng đa thức đặc trưng ma trận luôn bất biến với phép đồng dạng nên
chính là dạng chéo hóa của
.
Quá trình này được cài đặt với Mathematica như sau

Ví dụ.
Ta làm như sau:
{K, V} = JacobiCyclic[A, 10^-11, 50];
Print[" K=", MatrixForm[Chop[K]]];
Print[" V=", MatrixForm[Chop[V]]];
Khi đó kết quả thu được là dạng chéo hóa
và ma trận trực giao
thỏa mãn .
Trong phần trước có giới thiệu về gói soạn thảo tiếng Nga với mã KOI8-R. Tuy nhiên UTF-8 vẫn là mã phổ biến hơn, tiện lợi trong quá trình soạn thảo một tài liệu khoa học tiếng Nga.
Bạn cần download gói Unicode ở đây, và gói Cyrillic ở đây. Sau đó giải nén, và copy lần lượt vào các thư mục
C:\Program Files\MiKTeX 2.7\tex\latex\unicode
C:\Program Files\MiKTeX 2.7\tex\latex\cyrillic
Sau đó vào Start Menu> MikTeX 2.7> Settings> General, nhấp vào nút Refresh FNDB và Update Formats.
Để sử dụng gói này, bạn khai báo như sau:
\documentclass[a4paper,12pt]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[russian]{babel}
\begin{document}
\textsc{ Я вас любил…}\\
Я вас любил: любовь еще, быть может,\\
В душе моей угасла не совсем;\\
Но пусть она вас больше не тревожит;\\
Я не хочу печалить вас ничем.\\
Я вас любил безмолвно, безнадежно,\\
То робостью, то ревностью томим;\\
Я вас любил так искренно, так нежно,\\
Как дай вам бог любимой быть другим.\\
1829\\
\end{document}
Có thể sử dụng file mẫu, download ở đây
