Matrix multiplication: Difference between revisions

no edit summary
No edit summary
Line 3,185:
 
Original source: [http://seed7.sourceforge.net/algorith/math.htm#mmult]
 
=={{header|SequenceL}}==
 
:The product of the ''m''×''p'' matrix ''A'' with the ''p''×''n'' matrix ''B'' is the ''m''×''n'' matrix whose (''i'',''j'')'th entry is
::<math>\sum_{k=1}^p A(i,k)B(k,j)</math>
 
The SequenceL definition mirrors that definition more or less exactly:
 
<lang sequencel>matmul(A(2), B(2)) [i,j] :=
let k := 1...size(B);
in sum( A[i,k] * B[k,j] );
//Example Use
a := [[1, 2],
[3, 4]];
b := [[-3, -8, 3],
[-2, 1, 4]];
test := matmul(a, b);</lang>
 
It can be written a little more simply using the all keyword:
 
<lang sequencel>matmul(A(2), B(2)) [i,j] := sum( A[i,all] * B[all,j] );</lang>
 
=={{header|Sidef}}==