- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建类似于 Hadamard matrix 的东西递归地,我需要一些帮助。我在网上没有找到任何递归执行此操作的解决方案。
如果有人知道某件事或知道解决方案,并且可以友善地将其发布在这里,这对我来说将非常有帮助。
谢谢!
编辑:这是一个非递归代码:
public class Hadamard
{
public static void main(String[] args)
{
int N = Integer.parseInt(args[0]);
boolean[][] H = new boolean[N][N];
H[0][0] = true;
for(int n = 1; n < N; n += n)
{
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
H[i+n][j] = H[i][j];
H[i][j+n] = H[i][j];
H[i+n][j+n] = !H[i][j];
}
}
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
{
if(H[i][j]) System.out.print("* ");
else System.out.print(". ");
}
System.out.println();
}
}
}
最佳答案
好吧,如果有人愿意解决这个问题并试图找到解决方案,我找到了一个非常干净且很好的解决方案。这个想法是调用四次递归调用,矩阵的每四分之一调用一次(每个 Hadamard 矩阵分为四个单元,左上角为 1,右上角为 1,左下角为 1,右下角为 - 1)。因此前三个调用填充正 1,第四个调用填充 (-1)*sign。
public static void fillHadamard (int mat[][])
{
fillHadamard(mat, 0,0,mat.length, 1); //overloading, assuming mat.length is pow of 2
}
private static void fillHadamard (int [][] mat, int top, int left, int size, int sign)
{
if (size == 1)
mat[top][left] = sign;
else
{
fillHadamard (mat, top, left, size/2, sign);
fillHadamard (mat, top+size/2, left, size/2, sign);
fillHadamard (mat, top, left+size/2, size/2, sign);
fillHadamard (mat, top+size/2, left+size/2, size/2, (-1)*sign);
}
}
看看这个与非递归方法相比是多么干净整洁。
关于java - 使用递归求解 Hadamard 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440103/
我正在尝试为 Hadamard matrix 编译此代码一代。谁能告诉我为什么这段代码没有被执行吗? #include #include #include main() { int H_SIZE
这是我想要做的:我有两个矩阵 A 和 B,维度分别为 N x k1 和 N x k2。我现在想将矩阵 A 的每一列与 B 逐点相乘。 实现一在 for 循环中执行此操作。 出于速度优化的目的,我考虑过
numpy,一维数组垂直堆栈上的 Hadmard 乘积比循环一维数组列表并在每个数组上执行 Hadamard(按元素)乘积要快得多(这是有道理的,无论如何我都测试过) . 我有一种情况需要在一组 nu
我有两个密集矩阵 A和 B ,并且它们中的每一个都有一个大小为 3e5x100 .另一个稀疏二进制矩阵,C , 尺寸 3e5x3e5 .我想找到以下数量:C ∘ (AB') ,其中 ∘是 Hadama
我正在尝试构建类似于 Hadamard matrix 的东西递归地,我需要一些帮助。我在网上没有找到任何递归执行此操作的解决方案。 如果有人知道某件事或知道解决方案,并且可以友善地将其发布在这里,这对
编辑 您可以在 Github 上查看我的实现:https://github.com/Sheljohn/WalshHadamard 我正在寻找sequence-ordered Fast Walsh Ha
Tensorflow 具有以下功能: tf.matmul 将两个向量相乘并产生一个标量。 但是,我需要做以下事情: # dense dim: (?,227) dense_part = tf.nn.r
我试图在训练样本中引入稀疏性。我的数据矩阵的大小为(比如说)NxP,我想通过一个层(keras 层)传递它,该层的权重与输入大小相同。即可训练权重矩阵 W 的形状为 NxP。我想对这一层进行输入矩阵的
我正在使用 SymPy做线性代数。我想对两个矩阵执行逐元素乘法 ( Hadamard product )。 例如, sympy.MatrixSymbol('X', 4, 3) [operator/me
我正在使用 SymPy做线性代数。我想对两个矩阵执行逐元素乘法 ( Hadamard product )。 例如, sympy.MatrixSymbol('X', 4, 3) [operator/me
此代码将扩频因子作为输入,并将输出作为哈达玛矩阵。例如,如果扩频因子为 4,则哈达玛矩阵将为 4x4。谁能告诉我如何递归地编写它。 #include int main() { int m =
给你一个整数 N,其中 N <=100。是否存在大小为 NxN 的 Hadamard 矩阵,使得: 矩阵的每个元素都是 1 或 -1。 任意两行对应元素的乘积之和为零,即对于任意a <= N和b <=
我有两个矩阵 a = np.matrix([[1,2], [3,4]]) b = np.matrix([[5,6], [7,8]]) 我想得到元素乘积,[[1*5,2*6], [3*7,4*8]],等
我有一个四阶张量 A(比如索引 (a, b, i, j))和一个二阶张量 B(比如索引 (i, j)),我想计算一种 Hadamard 乘法他们中的。 也就是说,如果我们称产品为 C,我想要 C[a,
是否可以使用 Apple 的 Metal Performance Shaders 执行 Hadamard 产品?我看到可以使用 this 执行普通矩阵乘法,但我特别在寻找逐元素乘法,或者一种构造乘法的
我想用 Hadamard 变换替换 JPEG 格式的离散余弦变换。但我不知道在原始算法中必须添加/删除/更改哪个阶段。 据我了解,没有霍夫曼编码的 JPEG 算法如下: 图像分割为 8x8 不重叠块;
我正在寻找 Julia 中元素矩阵乘法的就地实现,又名 Schur 乘积,又名 Hadamard 乘积。 它可以通过 A .* B 分配来执行,但我不能在每次执行此操作时分配额外的内存。 当然我可以自
如果我在导入了 numpy 的 python 代码中看到以下行: c = a * b 确定此操作是作为 Hadamard(逐元素)还是点积(逐点)操作执行的最简单和最实用的方法是什么? 对于 Hada
这个问题已经有答案了: correct way to return two dimensional array from a function c (7 个回答) 已关闭 4 年前。 我尝试使用两个
我是一名优秀的程序员,十分优秀!