Kronecker product: Difference between revisions
Content added Content deleted
m (Minor edit to C++ code) |
(Added Wren) |
||
Line 3,750: | Line 3,750: | ||
0 0 0 0 1 1 0 0 0 0 0 0 |
0 0 0 0 1 1 0 0 0 0 0 0 |
||
0 0 0 0 0 1 1 0 0 0 0 0 |
0 0 0 0 0 1 1 0 0 0 0 0 |
||
</pre> |
|||
=={{header|Wren}}== |
|||
{{libheader|Wren-fmt}} |
|||
{{libheader|Wren-matrix}} |
|||
The above module already includes a method to calculate the Kronecker product. |
|||
<lang ecmascript>import "/fmt" for Fmt |
|||
import "/matrix" for Matrix |
|||
var a1 = [ |
|||
[1, 2], |
|||
[3, 4] |
|||
] |
|||
var a2 = [ |
|||
[0, 5], |
|||
[6, 7] |
|||
] |
|||
var a3 = [ |
|||
[0, 1, 0], |
|||
[1, 1, 1], |
|||
[0, 1, 0] |
|||
] |
|||
var a4 = [ |
|||
[1, 1, 1, 1], |
|||
[1, 0, 0, 1], |
|||
[1, 1, 1, 1] |
|||
] |
|||
var m1 = Matrix.new(a1) |
|||
var m2 = Matrix.new(a2) |
|||
Fmt.mprint(m1.kronecker(m2), 2, 0) |
|||
System.print() |
|||
var m3 = Matrix.new(a3) |
|||
var m4 = Matrix.new(a4) |
|||
Fmt.mprint(m3.kronecker(m4), 2, 0)</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> |
</pre> |
||