РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
238 of 541 menu

Функция kron

Функция kron вычисляет произведение Кронекера для двух массивов. Первым параметром передаётся левый массив, вторым - правый. Функция возвращает новый массив, размерность которого равна сумме размерностей входных массивов. Произведение Кронекера часто используется в квантовой механике, теории управления и при решении матричных уравнений.

Синтаксис

np.kron(a, b)

Пример

Выполним произведение Кронекера для двух одномерных массивов:

import numpy as np arr1 = np.array([1, 2]) arr2 = np.array([3, 4]) res = np.kron(arr1, arr2) print(res)

Результат выполнения кода:

[3 4 6 8]

Каждый элемент первого массива умножается на все элементы второго: 1 * [3, 4] = [3, 4] и 2 * [3, 4] = [6, 8].

Пример

Выполним произведение Кронекера для двух двумерных массивов:

import numpy as np arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[0, 5], [6, 7]]) res = np.kron(arr1, arr2) print(res)

Результат выполнения кода:

[[ 0 5 0 10] [ 6 7 12 14] [ 0 15 0 20] [18 21 24 28]]

Каждый элемент исходной матрицы заменяется на блок, равный второму массиву, умноженному на этот элемент.

Пример

Применим произведение Кронекера к массивам разных размерностей:

import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([[4, 5], [6, 7]]) res = np.kron(arr1, arr2) print(res)

Результат выполнения кода:

[[ 4 5 8 10 12 15] [ 6 7 12 14 18 21]]

Размерность результата равна сумме размерностей входных массивов.

Пример

Используем произведение Кронекера для построения блочной матрицы:

import numpy as np identity = np.eye(2) matrix = np.array([[1, 2], [3, 4]]) res = np.kron(identity, matrix) print(res)

Результат выполнения кода:

[[1. 2. 0. 0.] [3. 4. 0. 0.] [0. 0. 1. 2.] [0. 0. 3. 4.]]

Блочная диагональная матрица, где каждый блок равен исходной матрице.

Смотрите также

  • функцию outer,
    которая вычисляет внешнее произведение векторов
  • функцию dot,
    которая вычисляет скалярное произведение массивов
  • функцию tensordot,
    которая вычисляет тензорное произведение по заданным осям
  • функцию matmul,
    которая выполняет матричное умножение двух массивов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить