Я рассматриваю сложное расширение языка данных 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?