Matrix multiplication: Difference between revisions
Added Uiua solution
Walterpachl (talk | contribs) (→{{header|REXX}}: add Signal on Syntax) |
(Added Uiua solution) |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 2,016:
[75,00, 75,00, 75,00]
[117,00, 117,00, 117,00]]</pre>
=={{header|EasyLang}}==
func[][] matmul m1[][] m2[][] .
for i to len m1[][]
for j = 1 to len m2[1][]
r[i][] &= 0
for k to len m2[][]
r[i][j] += m1[i][k] * m2[k][j]
.▼
.
.▼
return r[][]
.
a[][] = [ [ 1 2 3 ] [ 4 5 6 ] ]
b[][] = [ [ 1 2 ] [ 3 4 ] [ 5 6 ] ]
print matmul a[][] b[][]
</syntaxhighlight>
{{out}}
<pre>
[
[ 22 28 ]
[ 49 64 ]
]
</pre>
=={{header|EGL}}==
<syntaxhighlight lang="egl">
Line 2,083 ⟶ 2,110:
=={{header|Emacs Lisp}}==
<syntaxhighlight lang="lisp">
(defvar M1 '((2 1 4)
▲ (0 1 1)))
(apply #'seq-mapn #'list M2)))
▲ (m2 '((6 3 -1 0)
▲ (-2 5 0 2)))
▲ (seq-map (lambda (item) (format "%5s " item)) line) ) ) ) ) )
</syntaxhighlight>
{{out}}
<pre>
▲ -1 6 0 6
</pre>
Line 5,607 ⟶ 5,611:
{{works with|Rakudo|2022.07-3}}
Here is
<syntaxhighlight lang="raku" line>sub infix:<
sub
</syntaxhighlight>
▲}</syntaxhighlight>
=={{header|Rascal}}==
Line 6,351 ⟶ 6,354:
[50, 40, 30, 20, 10],
[50, 40, 30, 20, 10]]
</pre>
=={{header|Uiua}}==
<syntaxhighlight lang="uiua">
MatMul ← ≡(≡(/+×)¤:⍉)¤
[[2 1 4]
[0 1 1]]
[[6 3 ¯1 0]
[1 1 0 4]
[¯2 5 0 2]]
MatMul
</syntaxhighlight>
{{out}}
<pre>
╭─
╷ 5 27 ¯2 12
¯1 6 0 6
╯
</pre>
Line 6,661 ⟶ 6,683:
{{libheader|Wren-matrix}}
{{libheader|Wren-fmt}}
<syntaxhighlight lang="
import "./fmt" for Fmt
var a = Matrix.new([
|