Я новичок в Python и немного устарел с моей линейной алгеброй, поэтому, возможно, это это простой вопрос. Я пытаюсь реализовать расширение серии Тейлора на матрице для вычисления exp (A), где A - это просто простая матрица 3x3. Формула, BTW для этого расширения - sum (A ^ n / n!).
Моя процедура работает нормально до n = 9, но при n = 10 числа в матрице внезапно становятся отрицательными. Это проблема.
A ** 9 так что, возможно, это простой вопрос. Я пытаюсь реализовать расширение серии Тейлора в матрице для вычисления exp (A), где A - это просто ...
Я новичок в Python и немного устарел с моей линейной алгеброй, поэтому, возможно, это это простой вопрос. Я пытаюсь реализовать расширение серии Тейлора на матрице для вычисления exp (A), где A - это просто простая матрица 3x3. Формула, BTW для этого расширения - sum (A ^ n / n!).
Моя процедура работает нормально до n = 9, но при n = 10 числа в матрице внезапно становятся отрицательными. Это проблема.
A ** 9 так что, возможно, это простой вопрос. Я пытаюсь реализовать расширение серии Тейлора в матрице для вычисления exp (A), где A - это просто ...
Я новичок в Python и немного устарел с моей линейной алгеброй, поэтому, возможно, это это простой вопрос. Я пытаюсь реализовать расширение серии Тейлора на матрице для вычисления exp (A), где A - это просто простая матрица 3x3. Формула, BTW для этого расширения - sum (A ^ n / n!).
Моя процедура работает нормально до n = 9, но при n = 10 числа в матрице внезапно становятся отрицательными. Это проблема.
A ** 9 m пытается реализовать расширение ряда Тейлора на матрице для вычисления exp (A), где A - это просто матрица 3x3. Формула, BTW для этого расширения - sum (A ^ n / n!).
Моя процедура работает нормально до n = 9, но при n = 10 числа в матрице внезапно становятся отрицательными. Это проблема.
A ** 9 m пытается реализовать расширение серии Тейлора на матрице для вычисления exp (A), где A - это простая матрица 3x3. Формула, BTW для этого расширения - сумма (A ^ n / n!).
Моя процедура работает нормально до n = 9, но при n = 10 числа в Матрице внезапно становятся отрицательными. Это проблема.
A ** 9 матрица ([[250130371, 506767656, 688136342], [159014912, 322268681, 437167840], [382552652, 775012944, 1052574077]])
A ** 10 матрица ([[- 1655028929, 1053671123, -1327424345], [1677887954, -895075635, 319718665], [-257240602, -409489685, -1776533068]])
Интуитивно A ^ 9 * A должен давать большие числа для каждого члена матрицы, но, как вы можете видеть, A ^ 10 не дает такого результата.
Есть идеи?
from scipy import * from numpy import * from numpy.linalg import * #the matrix I will use to implement exp(A) A = mat('[1 3 5; 2 5 1; 2 3 8]') #identity matrix I = mat('[1 0 0; 0 1 0; 0 0 1]') #first step in Taylor Expansion (n=0) B = I #second step in Taylor Expansion (n=1) B += A #start the while loop in the 2nd step n = 2 x=0 while x<10: C = (A**n)/factorial(n) print C print " " n+=1 B+= C print B x+=1 print B
Спасибо за любую помощь!