LU decomposition: Difference between revisions
m
→{{header|Perl 6}}: bikeshedding
Thundergnat (talk | contribs) m (→{{header|Perl 6}}: Named matrices more appropriately) |
Thundergnat (talk | contribs) m (→{{header|Perl 6}}: bikeshedding) |
||
Line 1,858:
Translation of Ruby.
<lang perl6>for
[2, 4, 7],
[1, 1, 0]
[ 1, 5, 2, 6],
[ 3, 17, 18, 1],
[ 2, 5, 7, 1]
}
Line 1,876:
my $n = +@a;
my @P = pivotize @a;
my @
my @L = matrix-ident $n;
my @U = matrix-zero $n;
Line 1,882:
for ^$n -> $j {
if $j >= $i {
@U[$i][$j] = @
} else {
@L[$i][$j] = (@
}
}
}
return @P, @
}
Line 1,902:
$max = @m[$j][$i];
$row = $j;
}
}
if $row != $i {
@id[$row, $i] = @id[$i, $row]
}
}
Line 1,922:
@p[$r][$c] += @a[$r][$_] * @b[$_][$c] for ^@b;
}
@p
}
sub rat-int ($num
return $num unless $num ~~ Rat;
return $num.narrow if $num.narrow.WHAT ~~ Int;
Line 1,946:
0 0 1
2 4 7
1 3 5
Line 1,973:
0 0 0 1
11 9 24 2
3 17 18 1
|