преобразовать скаляр PDL в скаляр Perl

У меня есть функция, которая использует PDL. Последний шаг - это скалярное произведение, поэтому он возвращает скаляр. Однако, когда я пытаюсь распечатать этот скаляр, очевидно, что он все еще является piddle и печатается на экране следующим образом:

[
  [ 3 ]
]

Мне интересно, как я могу преобразовать его обратно в обычный скаляр Perl, чтобы он печатал как:

3 

Что еще более важно, каковы будут последствия, если я не конвертирую и не использую этот элемент для дальнейших арифметических манипуляций в чистом контексте Perl (который не включает PDL). Спасибо!


person Zhang18    schedule 25.01.2012    source источник


Ответы (1)


Используйте метод sclr, который преобразует одноэлементную матрицу PDL с любым количеством измерений в простой скаляр Perl.

my $dotp = sclr($mata x $matb);
person Borodin    schedule 25.01.2012