All pastes #907952 Raw Edit

determinant of circulant matrix

public text v1 · immutable
·published 2008-02-18 00:46 UTC
rendered paste body
my @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";