Все, что вам нужно сделать, - это заполнить матрицы строками и столбцами, равными 0, до тех пор, пока они не станут квадратными матрицами, размер которых равен степени 2. Или, говоря по-другому:
Поместите матрицы для умножения в верхние левые углы двух 2 ^ n x 2 ^ n матриц. Установите для всех неиспользуемых элементов значение 0. Затем просто запустите алгоритм, и нужный результат будет в верхнем левом углу матрицы результатов.