Умножение матриц, тензорное произведение матриц, транспонирование матриц и подматрицы - PullRequest
1 голос
/ 02 августа 2011


Я уже задавал часть этого вопроса раньше, но тема изменилась.Это не домашняя работа.Я хочу найти все возможные комбинации четырех базисных векторов (размерность = 4), в зависимости от ввода пользователя.Повторение должно быть разрешено.

Т.е. давайте вызывать векторы 0, 1, 2 и 3.

Если пользователь вводит N = 3, комбинации могут быть:

000001 002.,,333

Приложение должно хранить каждую комбинацию отдельно в матрице (4xN).И cout каждой Матрицы.

Например, если:
"0" связан с Матрицей 4x1 [column-vector] (0,0,0,0)
"1" с (0,0,0,1)
«2» с (0,0,1,0)
«3» с (0,1,0,0)

возможная комбинация «000» должна быть сохранена в матрице 4x3

0 0 0
0 0 0
0 0 0
0 0 0

, и этоМатрица должна быть выведена на экран.

Кроме того, необходимо вычислить и сохранить тензорное произведение каждой (4x1) матрицы в каждой из этих матриц.

В данном примере ("x")означает тензорное произведение):

0 x 0 x 0
.
.
.
3 x 3 x 3

должен быть рассчитан и сохранен отдельно, поскольку мне также необходимо транспонировать эти матрицы продуктов.

Еще один момент, я долженинициализировать субматрицу 2x2 в заданной матрице px 2.

Для этого приложения я не хочу использовать библиотеку матриц, и я ищу быстрый и эффективный способ, потому что размер матрицрастет в геометрической прогрессии.

Поскольку я абсолютно новичок в C ++, я понятия не имею, как кодировать это без библиотеки.Я знаю, это должно быть что-то с вектором контейнера STL, но я не знаком с ним.

Спасибо за вашу помощь,
Kepler

...