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>