Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -0,0 +1,25 @@
func[][] mmul m1[][] m2[][] .
for i to len m1[][]
r[][] &= [ ]
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[][]
.
func[][] mexp m[][] e .
n = len m[][]
len r[][] n
for i to n
len r[i][] n
r[i][i] = 1
.
for i to e
r[][] = mmul r[][] m[][]
.
return r[][]
.
print mexp [ [ 4 3 ] [ 2 1 ] ] 3

View file

@ -0,0 +1,19 @@
uses NumLibABC;
function operator **(m: Matrix; exp: integer): Matrix;
extensionmethod;
begin
Assert(m.ColCount = m.RowCount, 'Matrix must be square.');
Assert(exp >= 0, 'Negative exponents not supported');
result := Matrix.Diag(m.RowCount, 1);
loop exp do result := result * m;
end;
begin
var A := new Matrix(2, 2, 1, 1, 1, 0);
'Original: '.Println;
A.Println;
A := A ** 10;
'Raised to the power of 10: '.Println;
A.Println;
end.