18 lines
313 B
Perl
18 lines
313 B
Perl
sub identity_matrix {
|
|
my $n = shift;
|
|
map {
|
|
my $i = $_;
|
|
[ map { ($_ == $i) - 0 } 1 .. $n ]
|
|
} 1 .. $n;
|
|
}
|
|
|
|
@ARGV = (4, 5, 6) unless @ARGV;
|
|
|
|
for (@ARGV) {
|
|
my @id = identity_matrix $_;
|
|
print "$_:\n";
|
|
for (my $i=0; $i<@id; ++$i) {
|
|
print join ' ', @{$id[$i]}, "\n";
|
|
}
|
|
print "\n";
|
|
}
|