gt;>> print "Проверка:", Numeric.dot(a, x) - b 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

gt;>> print "Проверка:", Numeric.dot(a, x) - b

Поиск

...                                   [1, 5]]))

 

 

Функция LinearAlgebra.solve_linear_equations() решает линейные уравнения вида ax=b по заданным аргументам a и b:

 

>>> import Numeric, LinearAlgebra

>>> a = Numeric.array([[1.0, 2.0], [0.0, 1.0]])

>>> b = Numeric.array([1.2, 1.5])

>>> x = LinearAlgebra.solve_linear_equations(a, b)

>>> print "x =", x

x = [-1.8 1.5]

>>> print "Проверка:", Numeric.dot(a, x) - b

 

Проверка: [ 0. 0.]

 

Когда матрица a имеет нулевой определитель,система имеет не единственное решение и возбуждается исключение LinearAlgebraError:


 


>>> a = Numeric.array([[1.0, 2.0], [0.5, 1.0]])

>>> x = LinearAlgebra.solve_linear_equations(a, b) Traceback (most recent call last):

File "<stdin>", line 1, in ?

File "/usr/local/lib/python2.3/site-packages/Numeric/LinearAlgebra.py", line 98,

in solve_linear_equations raise LinAlgError, 'Singular matrix' LinearAlgebra.LinAlgError: Singular matrix

 

Функция LinearAlgebra.inverse() находит обратную матрицу.Однако не следует решать

 

линейные уравнения с помощью LinearAlgebra.inverse() умножением на обратную матрицу,так как она определена через LinearAlgebra.solve_linear_equations():

 

def inverse(a):

 

return solve_linear_equations(a, Numeric.identity(a.shape[0]))

 

Функция LinearAlgebra.eigenvalues() находит собственные значения матрицы,а LinearAlgebra.eigenvectors()-пару:собственные значения,собственные вектора:

 

>>> from Numeric import array, dot

>>> from LinearAlgebra import eigenvalues, eigenvectors

>>> a = array([[-5, 2], [2, -7]])

>>> lmd = eigenvalues(a)

>>> print "Собственные значения:", lmd

Собственные значения: [-3.76393202 -8.23606798]

>>> (lmd, v) = eigenvectors(a)

>>> print "Собственные вектора:" Собственные вектора:

>>> print v

 

[[ 0.85065081 0.52573111] [-0.52573111 0.85065081]]

 

>>> print "Проверка:", dot(a, v[0]) - v[0] * lmd[0] Проверка: [ -4.44089210e-16 2.22044605e-16]

 

Проверка показывает,что тождество выполняется с достаточно большой точностью(числа совсем маленькие,практически нули):собственные числа и векторы найдены верно.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 50; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.008 с.)