Kronecker product: Difference between revisions
Content deleted Content added
Line 4,457: | Line 4,457: | ||
=={{header|VBScript}}== |
=={{header|VBScript}}== |
||
<syntaxhighlight lang="vb">' Kronecker product - 05/04/2017 |
<syntaxhighlight lang="vb">' Kronecker product - 05/04/2017 ' array boundary iteration corrections 06/13/2023 |
||
dim a(),b(),r() |
dim a(),b(),r() |
||
Line 4,474: | Line 4,474: | ||
end sub 'kroneckerproduct |
end sub 'kroneckerproduct |
||
Private Sub printmatrix(text, m, w) |
|||
wscript.stdout.writeline text |
wscript.stdout.writeline text |
||
Dim myArr() |
|||
Select Case m |
|||
case "a": ni=ubound(a,1): nj=ubound(a,2) |
|||
Case "a": myArr = a() |
|||
Case "b": myArr = b() |
|||
Case "r": myArr = r() |
|||
end select |
|||
End Select |
|||
For i = LBound(myArr, 1) To UBound(myArr, 1) |
|||
text = vbNullString |
|||
For j = LBound(myArr, 2) To UBound(myArr, 2) |
|||
Select Case m |
|||
Case "a": k = a(i, j) |
|||
Case "b": k = b(i, j) |
|||
Case "r": k = r(i, j) |
|||
End Select |
|||
text = text & " " & k |
|||
Next |
|||
wscript.stdout.writeline text |
|||
⚫ | |||
Next |
|||
⚫ | |||
sub printall(w) |
sub printall(w) |
||
printmatrix "matrix a:", "a", w |
printmatrix "matrix a:", "a", w |
||
Line 4,501: | Line 4,503: | ||
sub main() |
sub main() |
||
xa= |
xa = Array(1, 2, _ |
||
3, 4) |
3, 4) |
||
ReDim a(LBound(xa, 1) To LBound(xa, 1) + 1, LBound(xa, 1) To LBound(xa, 1) + 1) |
|||
redim a(2,2) |
|||
k |
k = LBound(a, 1) |
||
For i = LBound(a, 1) To UBound(a, 1): For j = LBound(a, 1) To UBound(a, 1) |
|||
a(i, j) = xa(k): k = k + 1 |
|||
next:next |
|||
Next: Next |
|||
xb=array( 0, 5, _ |
|||
xb = Array(0, 5, _ |
|||
6, 7) |
|||
ReDim b(LBound(xb, 1) To LBound(xb, 1) + 1, LBound(xb, 1) To LBound(xb, 1) + 1) |
|||
k = LBound(b, 1) |
|||
For i = LBound(b, 1) To UBound(b, 1): For j = LBound(b, 2) To UBound(b, 2) |
|||
next:next |
|||
b(i, j) = xb(k): k = k + 1 |
|||
Next: Next |
|||
kroneckerproduct |
kroneckerproduct |
||
printall 3 |
printall 3 |
||
xa= |
xa = Array(0, 1, 0, _ |
||
1, 1, 1, _ |
1, 1, 1, _ |
||
0, 1, 0) |
0, 1, 0) |
||
ReDim a(LBound(xa, 1) To LBound(xa, 1) + 2, LBound(xa, 1) To LBound(xa, 1) + 2) |
|||
redim a(3,3) |
|||
k |
k = LBound(a, 1) |
||
For i = LBound(a, 1) To UBound(a, 1): For j = LBound(a, 1) To UBound(a, 1) |
|||
a(i, j) = xa(k): k = k + 1 |
|||
next:next |
|||
Next: Next |
|||
xb=array( 1, 1, 1, 1, _ |
|||
xb = Array(1, 1, 1, 1, _ |
|||
1, |
1, 0, 0, 1, _ |
||
1, 1, 1, 1) |
|||
ReDim b(LBound(xb, 1) To LBound(xb, 1) + 2, LBound(xb, 1) To LBound(xb, 1) + 3) |
|||
k = LBound(b, 1) |
|||
For i = LBound(b, 1) To UBound(b, 1): For j = LBound(b, 2) To UBound(b, 2) |
|||
next:next |
|||
b(i, j) = xb(k): k = k + 1 |
|||
Next: Next |
|||
kroneckerproduct |
kroneckerproduct |
||
printall 2 |
printall 2 |
||
Line 4,548: | Line 4,555: | ||
0 15 0 20 |
0 15 0 20 |
||
18 21 24 28 |
18 21 24 28 |
||
matrix a: |
matrix a: |
||
0 1 0 |
0 1 0 |
||
Line 4,553: | Line 4,561: | ||
0 1 0 |
0 1 0 |
||
matrix b: |
matrix b: |
||
1 1 1 |
1 1 1 1 |
||
1 |
1 0 0 1 |
||
1 1 1 1 |
|||
kronecker product: |
kronecker product: |
||
0 0 0 0 1 1 1 |
0 0 0 0 1 1 1 1 0 0 0 0 |
||
0 0 0 0 |
0 0 0 0 1 0 0 1 0 0 0 0 |
||
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 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 |
0 0 0 0 1 1 1 1 0 0 0 0 |
||
0 0 0 0 |
0 0 0 0 1 0 0 1 0 0 0 0 |
||
0 0 0 0 |
0 0 0 0 1 1 1 1 0 0 0 0 |
||
</pre> |
</pre> |
||