Latin方:N个元素在N*N的矩阵中每一行每一列仅仅出现一次。
普通Latin方的构造:
int g[105][105];
void paint(int n){for(int i=1;i<=n;i++){g[1][i]=i;}for(int i=2;i<=n;i++){for(int j=n;j>1;j--){g[i][j]=g[i-1][j-1];}g[i][1]=g[i-1][n];}
}
正交拉丁方:
是两个N阶拉丁方。同一位置上的数字配对后,有序数对全部互异。那么AB正交。
1,2,6阶的拉丁方是没有正交的。
4阶正交阵:
(4.1)(3.3)(2.4)(1.2)
(2.2)(1.4)(4.3)(3.1)
(1.3)(2.1)(3.2)(4.4)
(3.4)(4.2)(1.1)(2.3)
如果,n>=3,n=pa,p是一个素数,a是一个正整数,那么有n-1个正交的拉丁方。
构造:
第i个矩阵:

void paint(int n){for(int i=1;i<=n-1;i++){cout<<"matrix: "<<i<<endl;for(int j=1;j<=n;j++)  cout<<j<<" ";  cout<<endl;int last=n;for(int ii=2;ii<=n;ii++){int first=last+i+1;while(first>n) first-=n;  // 避免n变成0for(int j=first;j<=n;j++) cout<<j<<" ";for(int j=1;j<first;j++) cout<<j<<" ";cout<<endl;last=first-1;}}
}
Hadamard矩阵:设矩阵H满足 ,且所有的元素是1或者-1,那么H即是hadamard矩阵。
它的性质(我暂时听说有这三条):
Hn为正交方阵,所谓正交矩阵指它的任意两行(或两列)都是正交的;
任意一行(列)的所有元素的平方和等于方阵的阶数;
Hadamard矩阵的阶数都是2或者是4的倍数。
递归方法构造(2阶H原始矩阵在1区):
3区  |  4区
------------
1区  |  2区

(我表示这种构造方法我看的似懂非懂~)

#include <iostream>
#include <cstdio>
using namespace std;
int H[2][2]={
1,1,
1,-1
};
int dfs(int x,int y){if(x<2 && y<2) return H[x][y];int i=0,j=0;if(x>=2){i=1;while(i*2<=x) i=i<<1;x-=i;}if(y>=2){j=1;while(j*2<=y) j=j<<1;y-=j;}if(i==j) return -dfs(x,y);  // 4else if(i>j) return dfs(x,y+j);  // 3else return dfs(x+i,y);  // 2
}
int g[105][105],g2[105][105],g3[105][105];
int main()  // g为hadamard矩阵 g2为其转置  g3为相乘后的结果
{int n;while(cin>>n){for(int i=0;i<n;i++){for(int j=0;j<n;j++){g[i][j]=dfs(i,j);}}for(int i=0;i<n;i++){for(int j=0;j<n;j++){g2[j][i]=g[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<n;j++){g3[i][j]=0;for(int k=0;k<n;k++){g3[i][j]+=g[i][k]*g2[k][j];}cout<<g3[i][j]<<" ";}cout<<endl;}}return 0;
}

Latin方及Hadamard矩阵相关推荐

  1. Hadamard矩阵和Kronecker积

    文章目录 Hadamard矩阵 性质 Kronecker积 性质 关于矩阵和积的交叉结论 Hadamard矩阵 设 H H H是实数域上的

  2. 第十三章 相关方管理 权利利益方格 凸显模式 相关方立方体 相关方登记册 相关方参与评估矩阵

    相关方管理 过程组 相关方管理 启动 识别相关方 规划 规划相关方参与 执行 管理相关方参与 监控 监督相关方参与 总结:从标题就可以看出,相关方管理就管理相关方参与度.相关方期望.相关方的积极度. ...

  3. hadamard矩阵及其应用

    因为用到了hadamard矩阵,所以就想记一下hadamard矩阵的构建.性质及应用. 关注公众号,获取更多信息 hadamard矩阵的基本构成可以用下面的矩阵来描述        (1) 有了基本矩 ...

  4. hadamard积 matlab_matlab如何自己编程得到hadamard矩阵?

    展开全部 构造一般的Hadamard矩阵至今仍是未解决的数学问题,所以,想要自32313133353236313431303231363533e59b9ee7ad9431333335343939编函数 ...

  5. 哈达玛(Hadamard)矩阵

     Hadamard矩阵是由+1和-1元素构成的正交方阵.

  6. 构建多维正交矩阵(Hadamard矩阵)

    今天牛客有个构造多维正交矩阵的题,以CDMA码分多址为背景. 附上大佬的博客 #include <stdio.h> #include <string.h> const int ...

  7. 学习笔记-Hadamard矩阵的Kronecker积

    Hadamard门的矩阵表示为: 接下来是两个量子比特经过H门: 得出: 随着n的增大,可以得出: 每个基态都有相同的概率振幅

  8. 21、【易混淆概念集】-第十三章 相关方参与度评估矩阵 VS 相关方参与计划 相关方登记册 VS 相关方参与计划 相关方立方体 VS 凸显模型 权力/利益方格

    本讲主要介绍PMBOK第十三章中的重要知识点,帮助你进一步理解. 本节目录 一.相关方参与度评估矩阵 VS 相关方参与计划 二.相关方登记册 VS 相关方参与计划 三.相关方立方体 VS 凸显模型 四 ...

  9. list 根据某个数字所在位置_富玩车穷玩表,一个案例轻松认识python列表List——计算Hadamard 乘积...

    计算两个矩阵的 Hadamard 乘积, 矩阵的 Hadamard 积就是两个同维矩阵的逐元素对应相乘,cij=aij×bij.要求输入矩阵的行/列数(在这里假设我们使用的是 n × n 的矩阵) P ...

最新文章

  1. BZOJ3782 上学路线 【dp + Lucas + CRT】
  2. 20分钟学会CMake
  3. sql按相似度模糊查询实例
  4. 蓝桥杯 基础训练 试题集汇总【13道】
  5. 细聊分布式ID生成方法
  6. 信号量释放和等待函数sem_post()和sem_wait()
  7. scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)
  8. Python 命令行解析器argparse及传参数详解
  9. gatsby_如何使用Gatsby和React Leaflet创建自己的圣诞老人追踪器
  10. 程序员删库被判 6 年,公司损失近亿,云原生时代如何打造安全防线?
  11. android PopupWindow实现从底部弹出或滑出选择菜单或窗口
  12. 定位到文件目录并选定文件
  13. python发送邮件的模块_python Email 邮件发送模块
  14. EOVA的下拉级联实现过程
  15. 游戏场景设计探究:冬夏季节光色模型
  16. 心理学中的效应简单解读(r12笔记第24天)
  17. c盘空间太小怎么办 c盘如何扩展分区
  18. 建筑节能技术在云计算数据中心建设中的应用
  19. [NOIP2017普及组] 棋盘
  20. 带你读懂《深入理解计算机系统》开篇

热门文章

  1. Windows提权的几种姿势
  2. picview是哪里的图片_pic图片怎么打开 - 卡饭网
  3. 【操作系统】Operating System Conceptions第一章知识整理总结
  4. 【Go语言刷题篇】Go完结篇|函数、结构体、接口、错误入门学习
  5. 01_云计算系统管理01
  6. 每个程序员的都应该了解的字符编码
  7. 卸载软件显示无效卸载控制文件解决方法
  8. Python【Crawler】2-聚焦爬虫
  9. linux dsdt屏蔽显卡,黑苹果Nvidia免驱显卡黑屏的解决方法整理
  10. 解决LaTeX英文字体加粗失效、无法加粗问题