корень из матрицы

Форум пользователей пакета Maple

Модератор: Admin

иван_90
Сообщения: 88
Зарегистрирован: Сб мар 06, 2010 5:46 pm

корень из матрицы

Сообщение иван_90 » Вт дек 18, 2012 8:17 pm

Есть ли в maple процедура для извлечения корня из матрицы ? То есть зная матрицу A найти такую матрицу X
чтобы X^2=A.

Markiyan Hirnyk
Сообщения: 1343
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Re: Корень из матрицы

Сообщение Markiyan Hirnyk » Вт дек 18, 2012 9:44 pm

иван_90 писал(а):Есть ли в Maple процедура для извлечения корня из матрицы |? То есть, зная матрицу A, найти такую матрицу X, чтобы X^2=A.

Пример:
with(LinearAlgebra):
A := Matrix([[-13, -10], [21, 16]]);

A := Matrix(2, 2, {(1, 1) = -13, (1, 2) = -10, (2, 1) = 21, (2, 2) = 16})
MatrixFunction(A, sqrt(v), v);
Matrix(2, 2, {(1, 1) = 15-14*sqrt(2), (1, 2) = -10*sqrt(2)+10, (2, 1) = 21*sqrt(2)-21, (2, 2) = -14+15*sqrt(2)})

иван_90
Сообщения: 88
Зарегистрирован: Сб мар 06, 2010 5:46 pm

Сообщение иван_90 » Вт дек 18, 2012 10:24 pm

Спасибо за помощь, вот только уже для матриц 3 на 3 считает довольно долго

Markiyan Hirnyk
Сообщения: 1343
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Ненужные слова

Сообщение Markiyan Hirnyk » Вт дек 18, 2012 10:29 pm

иван_90 писал(а):Спасибо за помощь, вот только уже для матриц 3 на 3 считает довольно долго.
Пожалуйста. Вторая часть Вашего высказывания адресована не мне. Вы не пробовали найти этот корень вручную?

иван_90
Сообщения: 88
Зарегистрирован: Сб мар 06, 2010 5:46 pm

Сообщение иван_90 » Вт дек 18, 2012 10:40 pm

Да я по этому поводу изучил Гантмахер Ф.Р. Теория матриц. Согласен, что это довольно сложная процедура и хорошо, что есть Maple. Но все таки уже для произвольной матрицы 3 на 3 он после вычислении выдает: [Length of output exceeds limit of 1000000]. Интересно можно ли maple заставить чтобы он производил упрощение промежуточных вычислений, чтобы конечный результат выглядел проще ?

Markiyan Hirnyk
Сообщения: 1343
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Сообщение Markiyan Hirnyk » Вт дек 18, 2012 11:19 pm

иван_90 писал(а):Да я по этому поводу изучил Гантмахер Ф.Р. Теория матриц. Согласен, что это довольно сложная процедура и хорошо, что есть Maple. Но все - таки уже для произвольной матрицы 3 на 3 он после вычислении выдает: [Length of output exceeds limit of 1000000]. Интересно, можно ли Maple заставить, чтобы он производил упрощение промежуточных вычислений, чтобы конечный результат выглядел проще ?

Математический пакет невозможно заставить или принудить что-то сделать. Упростить длинный и невыведенный результат выполнения команды
a:=command(args,opts)
[Length of output exceeds limit of 1000000]
возможно, например, применением команды
simplify(a)

с опциями. Мы не видим результат, однако можем с ним работать. Замечу, что слишком длинный результат зачастую свидетельствует о неправильной или недостаточно продуманной постановке решаемой проблемы. Отмечу также Ваши некоторые успехи в правописании - Вы начали употреблять заглавные буквы и знаки препинания, хотя еще в недостаточном количестве.
PS. Пример:
with(LinearAlgebra):
M := RandomMatrix(3);

Matrix(3, 3, {(1, 1) = 27, (1, 2) = 99, (1, 3) = 92, (2, 1) = 8, (2, 2) = 29, (2, 3) = -31, (3, 1) = 69, (3, 2) = 44, (3, 3) = 67})
A := MatrixFunction(M, sqrt(x), x)
[Length of output exceeds limit of 10000000]
evalf(A)
Matrix(3, 3, {(1, 1) = 4.860985445+4.052881332*I, (1, 2) = 6.211599025-2.916165109*I, (1, 3) = 6.144762677-4.042914321*I, (2, 1) = .7773180593-1.221378018*I, (2, 2) = 5.856740369+.8787210389*I, (2, 3) = -2.030306230+1.218343102*I, (3, 1) = 4.312249244-1.971456377*I, (3, 2) = 2.002315439+1.418709882*I, (3, 3) = 7.624368663+1.966670174*I})

Markiyan Hirnyk
Сообщения: 1343
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Мой либерализм

Сообщение Markiyan Hirnyk » Ср дек 19, 2012 4:11 pm

Если увижу в тексте более одной языковой ошибки, отвечать не буду. Понятно, иван_90?

иван_90
Сообщения: 88
Зарегистрирован: Сб мар 06, 2010 5:46 pm

Сообщение иван_90 » Ср дек 19, 2012 6:49 pm

Понятно, буду стараться писать грамотнее.