Выражение или алгоритм, чтобы получить количество матриц с нечетным числом вхождений указанного значения c в каждой строке и столбце - PullRequest
0 голосов
/ 05 февраля 2020

Я должен найти общее количество матриц, которые могут быть сформированы, удовлетворяющие данному условию
Условия -

  • Каждая матрица заполнена только 2 элементами: (x) и (-x) где x - любое целое число. [x получено из нашего веб-приложения]
  • Теперь такая заполненная матрица действительна, только если (-x) появляется нечетное количество раз в каждой строке и одновременно в каждом столбце.

Пример -

  1. Matrix (2x1) - допустимые матрицы = 0
 x 
-x
Matrix (2x2) - допустимые матрицы = 2
-x  x      x -x
 x -x     -x  x
Matrix (3x3) - допустимые матрицы = 22 * ​​1025 *
6 combinations when -x appears once per row as well as once per column 
3 combinations when -x appears trice per row but once per column
9 combinations when -x appears trice for 1 row and trice for 1 column (shape L,T,+ mirror images)
3 combinations when -x appears trice per column but once per row 
1 combinations when -x appears at all positions

Как рассчитать количество матриц, удовлетворяющих заданным условиям - существует ли какой-либо алгоритм или формула для такого случаи

1 Ответ

0 голосов
/ 05 февраля 2020

Давайте назовем $ n $ числом строк и $ m $ числом столбцов.

Вы получаете $ (n-1) (m-1) $ степеней свободы, соответствующих верхнему $ (n-1) (m-1) $ подматрица.

Затем необходимо рассчитать последнюю строку и последний столбец таким образом, чтобы условия были выполнены.

У вас есть потенциальная проблема при расчете последнего значения [n][m]. Если $ n $ и $ m $ имеют разное соотношение, решение невозможно.

В другом месте вы получаете комбинации $ 2 ^ {(n-1) (m-1)} $.

Редактировать

Обратите внимание, что ограничения четности для строк и столбцов соответствуют линейным уравнениям в Z / 2Z. Поэтому множество решений в векторном пространстве в Z / 2Z, размер которого составляет $ 2 ^ {\ text {кое-что}} $ или 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...