Matrix multiplication: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 2,530: Line 2,530:
endfor;
endfor;
enddefine;</lang>
enddefine;</lang>
=={{header|PowerShell}}==

{{works with|PowerShell|4.0}}
<lang PowerShell>
function array-mult($A, $B) {
$C = @()
if($n -gt 0) {
$C = 0..($n-1)| foreach{@(0)}
0..($n-1)| foreach{
$i = $_
$C[$i] = 0..($n-1)| foreach{
$j = $_
$((0..($n-1) | foreach{
$k = $_
$A[$i][$k]*$B[$k][$j]
} | measure -Sum).Sum)
}
}
}
$C
}
function show($a) {
if($a.Count -gt 0) {
$n = $a.Count - 1
0..$n | foreach{ "$($a[$_][0..$n])" }
}
}
$A = @(@(1,2),@(3,4))
$B = @(@(5,6),@(7,8))
$I = @(@(1,0),@(0,1))
$C = array-mult $A $B
$D = array-mult $A $I
show $C
" "
show $D
</lang>
<b>Output:</b>
<pre>
19 22
43 50
1 2
3 4
</pre>
=={{header|Prolog}}==
=={{header|Prolog}}==
{{trans|Scheme}}
{{trans|Scheme}}