小编thy*_*yme的帖子

Hadamard 产品的最快代码

有两个维度为 2 的复杂数组,我想计算一个逐点乘法(Hadamard 乘积):

complex(8) :: A(N,N), B(N,N), C(N,N)
...
do j = 1, N
  do i = 1, N
    C(i,j) = A(i,j)*B(i,j)
  enddo
enddo
Run Code Online (Sandbox Code Playgroud)

是否有任何 BLAS 例程来优化它,或者这实际上已经是编写 Hadamard 产品的最有效方法?或者在这种简单的情况下,编译器是否为我完成了这项工作?

我用 Fortran 编码,所以第一个索引是快速索引。

optimization blas lapack matrix-multiplication

5
推荐指数
0
解决办法
1446
查看次数

Add data sets with xmgrace

I use xmgrace to plot data sets and I would like to add two data sets together.

So I have two files:

data1

1 1
2 4
3 9
...
Run Code Online (Sandbox Code Playgroud)

data2

1 2
2 3
3 4
...
Run Code Online (Sandbox Code Playgroud)

I start xmgrace with

xmgrace data1 data2
Run Code Online (Sandbox Code Playgroud)

Then I see both files plotted. Now I would like to generate a third graph which is just data1+data2 like

1 3
2 7
3 13
...
Run Code Online (Sandbox Code Playgroud)

I know that this is extremely simple, but …

plot xmgrace

4
推荐指数
1
解决办法
4947
查看次数

Octave:LaTeX抽搐

在GNU Octave中,我想将绘图的抽搐设置为分数.因此,我想写"\ frac 1 128"而不是0.0078125(等于1/128).

我已经试过了

set(gca,'xTickLabel',{'\frac 1 128'});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.文本'\ frac 1 128'不被解释为LaTeX代码.

plot octave

2
推荐指数
1
解决办法
674
查看次数

在 dart 中使用 hmac 和 sha256 签署消息

我尝试在消息上使用 base64 解码的密钥生成 sha256 HMAC。我想使用飞镖语言。在 python 中,我可以使用以下代码来完成:

# PYTHON CODE
import hmac, hashlib, base64
...
message = 'blabla'
secret = 'DfeRt[...]=='
secret_b64 = base64.b64decode(secret)
signature = hmac.new(secret_b64, message, hashlib.sha256)
signature_b64 = signature.digest().encode('base64').rstrip('\n')
Run Code Online (Sandbox Code Playgroud)

这是我用飞镖尝试过的:

// DART CODE
import 'package:crypto/crypto.dart';
import 'dart:convert';
...
String message = 'blabla';
String secret = 'DfeRt[...]=='
var secret_b64 = BASE64.decode(secret);
var hmac = new Hmac(sha256, secret_b64);
// what now?
Run Code Online (Sandbox Code Playgroud)

但后来我不知道如何继续。我发现了一些旧的示例代码,如下所示

var message_byte = UTF8.encode(message);
hmac.add(message_byte);
Run Code Online (Sandbox Code Playgroud)

但是,Hmac 类中不再存在“add”方法。我也试过这个,但我不确定这是否正确

var message_byte = UTF8.encode(message);    
var signature = hmac.convert(message_byte);
var signature_b64 …
Run Code Online (Sandbox Code Playgroud)

base64 sha256 hmac dart

1
推荐指数
1
解决办法
3411
查看次数