我正在考虑对 Perl 数据语言 (PDL 2.19.0) 进行复杂的扩展以进行复杂的矩阵运算,但是像转置这样简单的运算并不能像我预期的那样工作。
use strict;
use warnings;
use PDL;
use PDL::Complex;
my $m = cplx pdl [i, 1], [-1, -i];
printf "m=%s\n", $m;
my $mt = $m->transpose;
printf "m=%s\n", $m;
printf "mt=%s\n", $mt;
my $mx = $m->xchg(1,2);
printf "m=%s\n", $m;
printf "mx=%s\n", $mx;
在我看来,$m->transpose 似乎等于 $m。另一个让我烦恼的据称简单的操作:
printf "m[0,0]=%s\n", $m->at(0,0);
不起作用,只有
printf "m[0,0,0]=%s\n", $m->at(0,0,0);
做。我是否以错误的方式使用 API?