Reduced row echelon form: Difference between revisions

m
→‎{{header|Perl}}: added sample calculation
No edit summary
m (→‎{{header|Perl}}: added sample calculation)
Line 2,598:
=={{header|Perl}}==
{{trans|Python}}
Note that the function defined here takes an array reference, notwhich anis arraymodified in place.
<lang perl>sub rref
{our @m; local *m = shift;
Line 2,623:
$_ -= $lv * $mr[++$n] foreach @{ $m[$i] };}
 
++$lead;}}</lang>
 
sub display { join("\n" => map join(" " => map(sprintf("%4d", $_), @$_)), @{+shift})."\n" }
 
@m =
(
[ 1, 2, -1, -4 ],
[ 2, 3, -1, -11 ],
[ -2, 0, -3, 22 ]
);
 
rref(\@m);
print display(\@m);</lang>
{{out}}
<pre> 1 0 0 -8
0 1 0 1
0 0 1 -2</pre>
 
=={{header|Perl 6}}==
2,392

edits