Lua计算kronecker 积、Khatri-Rao积、Hadamard积、普通矩阵乘积

function Kron(A,B,mark)local C ={}if mark==0thenrowC=row_A*row_BcolC=col_A*col_BelserowC = row_A*row_BcolC = 1endfor i=1,rowC doC[i]={}x2=i%row_Bif x2==0thenx2=row_Bendfor j=1,colC doy2=j%col_Bif y2==0then y2=col_BendC[i][j]=A[math.ceil(i/row_B)][math.ceil(j/col_B)]*B[x2][y2]endendreturn C
endprint("please input the row and col of matrix A:")
row_A=tonumber(io.read())
col_A=tonumber(io.read())
print("please input matrix A:")
A={}
for i=1,row_A doA[i]={}for j=1,col_A doA[i][j]=tonumber(io.read())end
end
print("please input the row and col of matrix B:")
row_B=tonumber(io.read())
col_B=tonumber(io.read())
print("please input matrix B:")
B={}
for i=1,row_B doB[i]={}for j=1,col_B doB[i][j]=tonumber(io.read())end
end
print("matrix A:")
for i=1,row_A doa = ""for j=1,col_A doa = a..A[i][j].." "endprint(a)
end
print("matrix B:")
for i=1,row_B dob=""for j=1,col_B dob=b..B[i][j].." "endprint(b)
end
print("please make choice:  1--kronecker,  2--AB normal product,3--A*B Khatri-Rao,4--A@B Hadamard")
flag=tonumber(io.read())
if flag==1
thenC = Kron(A,B,0)row_C=row_A*row_Bcol_C=col_A*col_Bprint("the kronecker of A B is matrix C:")elseif flag == 2
thenC={}row_C=row_Acol_C=col_Bfor i=1,row_A doC[i]={}for j=1,col_B doC[i][j]=0for k=1,col_A doC[i][j]=C[i][j]+A[i][k]*B[k][j] endendendprint("the normal product of A B is matrix C:")
elseif flag == 4
thenC = {}for i=1,row_A doC[i]={}for j=1,col_A doC[i][j]=A[i][j]*B[i][j]endendprint("the Hadamard product of A B is matrix C:")row_C=row_Acol_C = col_A
elseif flag==3
thenrow_C=row_A*row_Bcol_C=col_AC={}for i=1,row_C doC[i]={}endAA={}BB={}for i=1,col_A dofor j=1,row_A doAA[j]={}AA[j][1]=A[j][i]endfor k=1,row_B doBB[k]={}BB[k][1]=B[k][i]endDD=Kron(AA,BB,1)for t=1,row_C doC[t][i]=DD[t][1]endendprint("the Khatri-Rao product of A B is matrix C:")
end
for i=1,row_C doc=""for j=1,col_C doc=c..C[i][j].." "endprint(c)
end

Lua计算kronecker 积、Khatri-Rao积、Hadamard积、普通矩阵乘积相关推荐

  1. 矩阵分析:Kronecker积,Hadamard积

    1,Kronecker积的定义和性质 1.1,Kronecker积的概念 设 ,称如下的分块矩阵: 为  与  的  积或直积. (1)对于矩阵  和 ,一般有 ,即矩阵的  积不满足交换律. (2) ...

  2. Hadamard 积, Kronecker 积 和 Khatri- Rao积

    ·· 矩阵的直和 Hadamard积 Hadamard积也称为Schur积或者对应元素乘积(elementwise product) Hadamard积定理 矩阵化函数和向量化函数 Kronecker ...

  3. matmul product(一般矩阵乘积),hadamard product(哈达玛积)、kronecker product(克罗内克积)

    矩阵乘法 原文地址:https://blog.csdn.net/yjk13703623757/article/details/77016867 1. matmul product(一般矩阵乘积) m ...

  4. 矩阵的Kronecker积、Khatri-Rao积、Hadamard积

    1.矩阵的Kronecker积 Kronecker积也称为克罗内克积,是任意大小矩阵的运算,使用符号其表示为:若A为大小m*n的矩阵,B为大小p*q的矩阵,则A与B的克罗内克积是一个大小为mp*nq的 ...

  5. [矩阵论] Unit 6. 矩阵的 Kronecker 积与 Hadamard 积 - 知识点整理

    注: 以下内容均由个人整理, 不保证完全准确, 如有纰漏, 欢迎交流讨论 参考: 杨明, 刘先忠. 矩阵论(第二版)[M]. 武汉: 华中科技大学出版社, 2005 6 矩阵的 Kronecker 积 ...

  6. matlab khatri rao积,关于矩阵Khatri-Rao积的一些迹不等式

    ~~关于矩阵Khatri-Rao积的一些迹不等式@胥德平$成都理工大学信息管理学院!四川成都610059 @杜鹃$成都理工大学信息管理学院!四川成都610059 @韦维$贵州大学理学院!贵州贵阳550 ...

  7. Hadamard积介绍

    Hadamard\rm{Hadamard}Hadamard积定义 定义1:设A=[aij]m×n\mathbf{A} = [\bm{a}_{ij}]_{m \times n}A=[aij​]m×n​和 ...

  8. 线性代数笔记:Hadamard积

    Hadamard积也称为哈达玛积,是矩阵的一种乘积运算,对同等大小的两个矩阵相同位置上进行乘积.[逐元素乘积] 其表达式为:

  9. 矩阵内积、外积(克罗内克积)和Hadamard积

    一.矩阵的内积:两个矩阵A.B对应分量乘积之和,结果为一个标量,记作<A,B>(与向量的内积/点积/数量积的定义相似).所以A.B的行数列数都应相同,且有结论<A,B>=tr( ...

最新文章

  1. 集成学习+ensemble learning
  2. windows 操作系统里 git bash 和 git cmd 的区别
  3. 分布式6大核心专题_分布式Session
  4. ROS入门 TX2+Turtlebot+Kinect2.0配置记录
  5. 心语收集14:人生没有如果,但是有很多但是;人生不能后悔,但是可以拐弯。...
  6. AngularJS 动态模板
  7. 汇编语言程序设计入门
  8. AP类WiFi模块系列二:半成品主板式大功率AP类WiFi模块
  9. 破解防复制防刻录光盘
  10. U-Net源码上实现自己数据集的分割任务
  11. 传统形态抗锯齿 2.0
  12. 小刘同学的第一百五十八篇日记
  13. Python 实现用GUI设计有界面的词云生成器
  14. 《写给大家看的设计书》
  15. BCD码优先编码设计
  16. iOS企业证书的申请教程
  17. php使用redis缓存
  18. 腾讯智慧交通的「KPI底座」
  19. h3c 链路聚合测试_H3C设备实验之配置链路聚合
  20. SqlServer 2012 发送邮件问题

热门文章

  1. 麦肯锡精英的48个工作习惯~书摘
  2. ECB(实体边界控制)模式
  3. pycharm 格式化html文件
  4. data mapping
  5. Element 中图片预览后如何快速关闭
  6. 有道云笔记markdown教程
  7. 伴随着5G,这些机器人也来了!
  8. linux cuda安装目录,ubuntu16.04上的cuda安装、卸载以及替换
  9. 三线制PT100温度变送器
  10. Kal系统学习:记录一次wifi破解过程