determinant of circulant matrix
public text v1 · immutablemy @v = (3,1,5); # should have determinant 108
my $n = @v;
print "@v\n";
my $r = 8*atan2(1,1)/$n; # 2*pi/n
my ($pr,$pc) = (1,0);
for (my $k=0;$k<$n;$k++) {
my ($sr,$sc) = 0;
for (my $j=0;$j<$n;$j++) {
$sr += $v[$j]*cos($j*$k*$r);
$sc += $v[$j]*sin($j*$k*$r);
}
print "eigenvalue $k: ($sr,$sc)\n";
($pr,$pc)=($pr*$sr-$pc*$sc,$pr*$sc+$pc*$sr);
}
print "product ($pr,$pc)\n";