矩阵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)

目录
相关文章
|
SQL 人工智能 数据挖掘
阿里云DMS,身边的智能化数据分析助手
生成式AI颠覆了人机交互的传统范式,赋予每个人利用AI进行低门槛数据分析的能力。Data Fabric与生成式AI的强强联合,不仅能够实现敏捷数据交付,还有效降低了数据分析门槛,让人人都能数据分析成为可能!阿里云DMS作为阿里云统一的用数平台,在2021年初就开始探索使用Data Fabric理念构建逻辑数仓来加速企业数据价值的交付,2023年推出基于大模型构建的Data Copilot,降低用数门槛,近期我们将Notebook(分析窗口)、逻辑数仓(Data Fabric)、Data Copilot(生成式AI)进行有机组合,端到端的解决用数难题,给用户带来全新的分析体验。
112728 120
阿里云DMS,身边的智能化数据分析助手
|
机器学习/深度学习 移动开发 JavaScript
ZC序列理论学习及仿真(一)
ZC序列理论学习及仿真
2310 0
|
6月前
|
API
钉钉宜搭--远程API,在其他人访问时无法生效
简介: 描述了一种远程API配置问题的场景。开发人员在本地可正常通过应用表单获取数据,但同组织的其他同事访问时无法获取数据,尽管已设置全部权限。问题是关于如何解决这种跨用户数据访问异常的情况,确保同事间能正常共享数据。
|
编译器
overleaf 参考文献引用,创建引用目录.bib文件,在文档中引用参考文献,生成参考文献列表
overleaf 参考文献引用,创建引用目录.bib文件,在文档中引用参考文献,生成参考文献列表
7869 0
|
C++ Python
vsCode修改字体为JetBrains Mono (PyCharm默认字体)
vsCode修改字体为JetBrains Mono (PyCharm默认字体)
3164 0
vsCode修改字体为JetBrains Mono (PyCharm默认字体)
|
算法 安全 大数据
【C/C++ 随机函数行为】深入探索C++中的随机数:std::random_device与rand的行为分析(二)
【C/C++ 随机函数行为】深入探索C++中的随机数:std::random_device与rand的行为分析
382 0
|
负载均衡 Cloud Native 容灾
阿里云负载均衡SLB价格_ALB、NLB和CLB区别_负载均衡详细介绍
阿里云负载均衡SLB提供ALB、NLB和CLB三种类型,分别适用于7层和4层的不同场景。ALB与NLB仅支持按量付费,而CLB则额外提供包年包月选项。ALB强调7层应用处理与高级路由,NLB聚焦4层的大流量处理与SSL卸载。两者均支持自动弹性伸缩,确保高可用性和性能。CLB作为传统负载均衡,适用于特定需求。每种类型依据实例规格与使用量收费,其中公网实例还需支付网络费用。通过这些服务,用户可以实现流量分发、故障转移及提升应用系统的稳定性和扩展性。
|
数据库 消息中间件
基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战
1 极速了解MQ 介绍Rabbitmg用于解决分布式事务必须掌握的5个核心概念 一款分布式消息中间件,基于erlang语言开发, 具备语言级别的高并发处理能力。和Spring框架是同一家公司。支持持久化、高可用 核心5个概念: Queue: 真正存储数据的地方 Exchange: 接收请求,转存数据 Bind: 收到请求后存储到哪里 消息生产者:发送数据的应用 消息消费者: 取出数据处理的应用 2、分布式事务问题 分布式事务是一个业务问题,不能脱离具体的场景。
7024 120
|
机器学习/深度学习 算法 数据挖掘
机器学习集成学习进阶Xgboost算法案例分析 2
机器学习集成学习进阶Xgboost算法案例分析
281 0
|
存储 算法 机器学习/深度学习
JPEG图像压缩算法流程详解
JPEG图像压缩算法流程详解 JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。
4025 0

热门文章

最新文章