38 lines
771 B
Text
38 lines
771 B
Text
=LAMBDA(A,
|
|
LET(
|
|
r, ROWS(A),
|
|
sqa, SQRT(INDEX(A,1,1)),
|
|
IF(
|
|
r=1,
|
|
sqa,
|
|
REDUCE(
|
|
VSTACK(sqa, DROP(TAKE(A,,1),1)/sqa),
|
|
SEQUENCE(r-1,,2),
|
|
LAMBDA(s, t,
|
|
LET(
|
|
diag, SQRT(INDEX(A,t,t) - SUMSQ(INDEX(s,t))),
|
|
HSTACK(
|
|
s,
|
|
VSTACK(
|
|
EXPAND(0,t-1,1,0),
|
|
IF(
|
|
t=r,
|
|
diag,
|
|
REDUCE(
|
|
diag,
|
|
SEQUENCE(r-t,1,t+1),
|
|
LAMBDA(x,y,
|
|
VSTACK(
|
|
x,
|
|
(INDEX(A,y,t) - SUM(INDEX(s,t)*INDEX(s,y))) / diag
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|