矩阵Kronecker(克罗内克)积

简介:
Kronecker(克罗内克)积
如果A是一个 m × n 的矩阵,而B是一个 p × q 的矩阵,克罗内克积A  × B则是一个 mp × nq 的分块矩阵.
矩阵Kronecker(克罗内克)积 - 德哥@Digoal - PostgreSQL research

 
矩阵Kronecker(克罗内克)积 - 德哥@Digoal - PostgreSQL research
 
矩阵Kronecker(克罗内克)积 - 德哥@Digoal - PostgreSQL research
 
矩阵Kronecker(克罗内克)积 - 德哥@Digoal - PostgreSQL research

在R中使用kronecker来计算两个矩阵的克罗内克积.
例如
> x <- matrix(1:10,2,5)
> x
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    3    5    7    9
[2,]    2    4    6    8   10
> kronecker(x,x)
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
[1,]    1    3    5    7    9    3    9   15   21    27     5    15    25    35
[2,]    2    4    6    8   10    6   12   18   24    30    10    20    30    40
[3,]    2    6   10   14   18    4   12   20   28    36     6    18    30    42
[4,]    4    8   12   16   20    8   16   24   32    40    12    24    36    48
     [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25]
[1,]    45     7    21    35    49    63     9    27    45    63    81
[2,]    50    14    28    42    56    70    18    36    54    72    90
[3,]    54     8    24    40    56    72    10    30    50    70    90
[4,]    60    16    32    48    64    80    20    40    60    80   100
x与t(x)的kronecker积.
> kronecker(x,t(x))
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    1    2    3    6    5   10    7   14    9    18
 [2,]    3    4    9   12   15   20   21   28   27    36
 [3,]    5    6   15   18   25   30   35   42   45    54
 [4,]    7    8   21   24   35   40   49   56   63    72
 [5,]    9   10   27   30   45   50   63   70   81    90
 [6,]    2    4    4    8    6   12    8   16   10    20
 [7,]    6    8   12   16   18   24   24   32   30    40
 [8,]   10   12   20   24   30   36   40   48   50    60
 [9,]   14   16   28   32   42   48   56   64   70    80
[10,]   18   20   36   40   54   60   72   80   90   100


[参考]
2. > help(kronecker)
kronecker                 package:base                 R Documentation

Kronecker Products on Arrays

Description:

     Computes the generalised kronecker product of two arrays, ‘X’ and
     ‘Y’.

Usage:

     kronecker(X, Y, FUN = "*", make.dimnames = FALSE, ...)
     X %x% Y
     
Arguments:

       X: A vector or array.

       Y: A vector or array.

     FUN: a function; it may be a quoted string.

make.dimnames: Provide dimnames that are the product of the dimnames of
          ‘X’ and ‘Y’.

     ...: optional arguments to be passed to ‘FUN’.

Details:

     If ‘X’ and ‘Y’ do not have the same number of dimensions, the
     smaller array is padded with dimensions of size one.  The returned
     array comprises submatrices constructed by taking ‘X’ one term at
     a time and expanding that term as ‘FUN(x, Y, ...)’.

     ‘%x%’ is an alias for ‘kronecker’ (where ‘FUN’ is hardwired to
     ‘"*"’).

Value:

     An array ‘A’ with dimensions ‘dim(X) * dim(Y)’.

Author(s):

     Jonathan Rougier

References:

     Shayle R. Searle (1982) _Matrix Algebra Useful for Statistics._
     John Wiley and Sons.

See Also:

     ‘outer’, on which ‘kronecker’ is built and ‘%*%’ for usual matrix
     multiplication.

Examples:

     # simple scalar multiplication
     ( M <- matrix(1:6, ncol = 2) )
     kronecker(4, M)
     # Block diagonal matrix:
     kronecker(diag(1, 3), M)
     
     # ask for dimnames
     
     fred <- matrix(1:12, 3, 4, dimnames = list(LETTERS[1:3], LETTERS[4:7]))
     bill <- c("happy" = 100, "sad" = 1000)
     kronecker(fred, bill, make.dimnames = TRUE)
     
     bill <- outer(bill, c("cat" = 3, "dog" = 4))
     kronecker(fred, bill, make.dimnames = TRUE)

相关文章
|
6月前
|
机器学习/深度学习
数学问题-标量三重积&向量三重积
数学问题-标量三重积&向量三重积
105 0
|
10月前
|
移动开发
半正定矩阵和正定矩阵的一些理解和补充
半正定矩阵和正定矩阵的一些理解和补充
1095 0
|
10月前
|
算法
线性代数(一)矩阵和方程组
线性代数(一)矩阵和方程组
124 0
|
人工智能 算法
实现矩阵连乘积(动态规划)
实现矩阵连乘积(动态规划)
83 0
实现矩阵连乘积(动态规划)
矩阵分析:正定矩阵
矩阵分析:正定矩阵
97 0
矩阵分析:正定矩阵
|
机器学习/深度学习
7-5 螺旋方阵
7-5 螺旋方阵 (20分) 所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。
157 0
7-5 螺旋方阵
零基础矩阵求导方法
零基础矩阵求导方法
81 0