Kronecker product: Difference between revisions

Added AutoHotkey
(→‎{{header|Perl}}: avoid loops in PDL)
(Added AutoHotkey)
Line 913:
[ 0 0 0 0 1 0 0 1 0 0 0 0]
[ 0 0 0 0 1 1 1 1 0 0 0 0]</pre>
 
=={{header|AutoHotkey}}==
<lang AutoHotkey>KroneckerProduct(a, b){
prod := [], r:= 1, c := 1
for i, aa in a
for j, bb in b
{
for k, x in aa
for l, y in bb
prod[R , C++] := x * y
r++, c:= 1
}
return prod
}</lang>
Examples:<lang AutoHotkey>a := [[1, 2], [3, 4]]
b := [[0, 5], [6, 7]]
P := KroneckerProduct(a, b)
 
a :=[[0,1,0], [1,1,1], [0,1,0]]
b := [[1,1,1,1], [1,0,0,1], [1,1,1,1]]
Q := KroneckerProduct(a, b)
 
; show results
for row, obj in P
{
for col, v in obj
result .= v "`t"
result .= "`n"
}
result .= "`n"
for row, obj in Q
{
for col, v in obj
result .= v "`t"
result .= "`n"
}
MsgBox % result
return
</lang>
{{out}}
<pre>0 5 0 10
6 7 12 14
0 15 0 20
18 21 24 28
 
0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 1 0 0 1 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 1 1 0 0 1 1 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 1 0 0 1 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0 </pre>
 
=={{header|AWK}}==
299

edits