2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Сложить вектор с матрицей
Сообщение06.06.2018, 05:23 


15/04/10
985
г.Москва
Вот такой перл взял не откуда-нибудь а из заданий программистам
в МИИТ
Проанализировать матричное выражение и составить список матричных операций, подлежащее программированию;
$2AB -3 C^t+D $
где матрицы $A(3,4), B(4,3)$
векторы $C(1,3),D(3,1)$
Что, разве даже какие-то навороченные программистские векторно-матричные операции отменяют правила матричной алгебры? Может под термином сложить матрицу и вектор-столбец понимается сначала дублирование этого столбца до превращения его в матрицу той же размерности а потом только сложение?

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение06.06.2018, 06:04 
Заслуженный участник


16/02/13
4105
Владивосток
eugrita в сообщении #1317514 писал(а):
отменяют правила матричной алгебры
В принципе, программистам закон не писан — хоть даже на ноль дели, только скажи компьютеру чего ты от него хочешь. Полезность сомнительна, да, но в качестве учебного задания прокатит.
eugrita в сообщении #1317514 писал(а):
сначала дублирование этого столбца до превращения его в матрицу той же размерности
Разумеется, какое-то преобразование столбца в матрицу. Какое — теряюсь в догадках.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение06.06.2018, 06:47 
Заслуженный участник


20/08/14
11067
Россия, Москва
В принципе можно придумать осмысленность такой операции, сложения вектора и матрицы: если в качестве матрицы имеется в виду массив векторов, то сложить их все с ещё одним вектором будет всего лишь переносом точки отсчёта. Но тут возникают вопросы уже и к программированию: всё же тип <массив векторов> кардинально не совпадает с типом <матрица>.
К тому же я не уверен в наличии матричных операций преобразования вектора (3,1) в матрицу (3,3) или цикла по строкам/столбцам матрицы, в программировании это конечно легко, но матричными операциями, которые и требуются по условию, по моему не является.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение06.06.2018, 08:56 
Заслуженный участник
Аватара пользователя


01/08/06
3049
Уфа
Всё становится на свои места, если предположить, что в выражении $3C^t+D$ опечатка, и должно быть умножение вместо сложения: $3C^tD$.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение06.06.2018, 09:44 
Заслуженный участник


27/04/09
28128
worm2
+100500, сразу на ум пришло.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение06.06.2018, 10:20 
Заслуженный участник
Аватара пользователя


01/08/06
3049
Уфа
Хотя всё равно не получается. $C$ умножаемо на $D$, а $C^t$ на $D$ — нет.
Хорошо зашифровано :-)

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение06.06.2018, 11:19 
Заслуженный участник


27/04/09
28128
Ой, точно. Беда.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение23.06.2018, 17:47 
Заслуженный участник


14/12/06
881
Наверно, имеется в виду умножение на единичную матрицу. У физиков такое часто практикуется: число или вектор прибавляется к матрице. Число единица означает тогда единичную матрицу, например.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение28.06.2018, 18:22 


23/10/10
89
Да вообще-то "матрицы" $A$ и $B$ тоже, мягко говоря, странно здесь выглядят. Как их умножать пред(по)лагается?

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение28.06.2018, 18:30 
Заслуженный участник


27/04/09
28128
Да вроде тема уже сама собой закрылась какое-то время назад. Очевидно, в скобках указаны размеры матриц.

zbl в сообщении #1322057 писал(а):
У физиков такое часто практикуется: число или вектор прибавляется к матрице.
Когда, где? Нет, с числом всё ясно, кольцо $K$ естественно вкладывается в кольцо матриц $K^{m\times m}$ (если не рассматривать матрицы $0\times0$, конечно) или операторов над $K$-модулем (не нульмерным). А вот векторам этот факт ничего не добавляет.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение19.07.2018, 22:07 
Заслуженный участник


14/12/06
881
arseniiv в сообщении #1323193 писал(а):
Когда, где?

20 лет назад сам писал такую формулу на доске и ехидно спрашивал у аудитории: что в ней не понятно? Но сейчас не смог её найти. Ну, например уравнение для собзначений: $H\psi=E\psi$, переписывается как $(H - E)\psi=0$. Тут число вычитается из матрицы. Если же есть система таких уравнений, то будет вектор вычитаться из матрицы. Но та формула, что я писал тогда, была интереснее. Жаль, что так и не вспомнил.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение20.07.2018, 09:44 
Заслуженный участник


11/05/08
32166
eugrita в сообщении #1317514 писал(а):
и составить список матричных операций, подлежащее программированию;

"Подлежащее список" -- словосочетание бессмысленное, даже если исправить орфографию.

zbl в сообщении #1327713 писал(а):
Ну, например уравнение для собзначений: $H\psi=E\psi$, переписывается как $(H - E)\psi=0$. Тут число вычитается из матрицы.

Тут вряд ли, т.к. обе буквы прописные. Но надо иметь в виду, что под сложением числа и матрицы могут пониматься совершенно разные вещи. В собственно математическом жаргоне под числом понимается число, умножаемое на единичную матрицу. В программистском (в Матлабе, скажем) -- это число прибавляется ко всем элементам матрицы. Оба варианта бывают полезны и потому разумны.

А вот прибавление к матрице столбца неразумно и бесполезно в любом случае.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение01.08.2018, 16:27 
Заслуженный участник


27/04/09
28128
zbl в сообщении #1327713 писал(а):
Тут число вычитается из матрицы. Если же есть система таких уравнений, то будет вектор вычитаться из матрицы.
Не вижу, почему. Матриц тоже станет много, даже если матрица во всех уравнениях одна и та же, так что мы просто расширяем использованный с числами гомоморфизм $K\to V^*\otimes V$ до $K\otimes W\to V^*\otimes V\otimes W$$K\otimes W = W$), из штук с одним индексом в штуки с тремя, а не двумя, индексами.

ewert в сообщении #1327792 писал(а):
В программистском (в Матлабе, скажем) -- это число прибавляется ко всем элементам матрицы.
Не уверен, что этот способ следует считать «программистким». Разные группы программистов могут иметь на этот счёт самые разные мнения, начиная с «не задумывался» и «это никому никогда не понадобится» и заканчивая какой-то ещё более изощрённой операцией, чем покомпонентное прибавление. Которое, конечно, тоже имеет математический смысл, если матрица — это просто функция сама по себе (например, растровое изображение — даже если оно квадратное, соответствующую матрицу бессмысленно пересчитывать как матрицу некоторого линейного оператора), а функции-константы мы получать м к чему-то прибавлять имеем полное право. Но обычно с матрицами ассоциируется линал.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение02.08.2018, 11:55 
Заслуженный участник


11/05/08
32166
arseniiv в сообщении #1329971 писал(а):
обычно с матрицами ассоциируется линал.

Вот именно поэтому и программирование. Не зря же я упомянул Матлаб. Да, и в нём матрицы -- в первую очередь линал. Но во вторую, и не менее важную -- это просто массивы. На которых все функции по умолчанию вычисляются поэлементно. Соответственно, и прибавление константы практически вынужденно производится поэлементно. Сугубо программистская необходимость.

 Профиль  
                  
 
 Re: Сложить вектор с матрицей
Сообщение02.08.2018, 13:51 
Заслуженный участник


27/04/09
28128
Не сказал бы, что это программистская необходимость (вот неудачной традицией, которую стали воспринимать как необходимость, это быть может). Ни низкоуровневые примитивы языков, на которых пишутся СКА, или процессоров, на которых они выполняются, ни какие-то соображения разработки самой системы к этому не принуждают. То есть это конечно полезно иметь как примитив самой системы, но чтобы он был дефолтным — совершенно никто не обязывал. Не знаю, на чём там экономили создатели этой и некоторых других СКА (типа Mathematica вот тоже). На мой взгляд, такие соглашения не очень-то экономят количество кода, который надо писать пользователю для получения чего-нибудь полезного.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group