誤差のない音律データを求めて。
音律計算やその他について、気になった事をまったりと書いていこうと思います。
元ブログ(主にgoo、一部blogger)からの引越し。電波度を減らそうと試みた事もあるがちょっと難しそうだ。

組合せ・中間表現・十進数

今回は組合せの列挙(書き出し)と数値化について

 

 以前の順列の列挙(書き出し)と数値化、その逆の数値の順列化についてはかなり上手くいったと思う。「候補の一部を使った順列」という宿題は残っているが。

 順列の中間表現として「階乗進数」という電波な存在とは言え便利な手がかりがあったお陰で理解はしやすかった。では組合せの中間表現とはどんなものが考えられるだろうか?目標値を見ながら数値や数式を模索した結果「パスカルの三角形」が関係している事が分かった。

 結論としては「各桁の重み」と言う概念もないと言えそうだ。(下から)a桁目のbと言う数字は十進の数値化でcと言う数値になる。そのcはaだけでなくbによっても変化してしまう。具体的にはY列の数式を参照。

 

グーグルドライブ combin(10,5)の最初の画像

「n個からr個を選ぶ組合せ」で言うとA1はn、A2はr。

ここにはないが =combin(A1,A2)  組合せの総数。

A3= =countif(C4:C300,">0")  これで組合せの総数を数える。

A4:A300= 数値化のための正解(目標値)を表示しておいた

 

C~L列は組合せの列挙。借り物の数式だがcolumn()関数の使用をやめて作業セル(1行目)を参照する形に戻した。いまだに数式の仕組みを理解できていないが多少削る事には成功した。

C4= =IF(
 OR(0<-$A$2+C$1,$C3>$A$1-$A$2),
 "-",
 IF(
  C3>0,
  IF(
   D3>$A$1-$A$2+C$1,
   IF(
    C3+1>$A$1-$A$2+C$1,
    B4+1,
    C3+1
   ),
   C3
  ),
  B4+1
 )
)

C4:L300= C4をコピペ

 

N~W列は中間表現。単純に組合せの各桁から大きい桁から数えた桁数(1行目)を引いたもの。

N4= =IFERROR(C4-N$1,"-")

 

AA~AJ列は各桁に対応した数値。Z列がその合計。Y列はcombin(10,5)限定の数値化で試行錯誤の痕跡。

AA4= =if(N4="-","-",
 iferror(combin($A$1-AA$1   ,$A$2-AA$1+1),0)
-iferror(combin($A$1-AA$1-N4,$A$2-AA$1+1),0))

AA4:AJ300= AA4をコピペ

Z4= =sum(AA4:AJ4)

Z4:Z300= Z4をコピペ

Y4= =hlookup(N4,{0,1,2,3,4,5;0,70,105,120,125,126},2,0)+hlookup(O4,{0,1,2,3,4,5;0,35,55,65,69,70},2,0)+hlookup(P4,{0,1,2,3,4,5;0,15,25,31,34,35},2,0)+hlookup(Q4,{0,1,2,3,4,5;0,5,9,12,14,15},2,0)+R4

Y4:Y300= Y4をコピペ

たとえば数式のQ列部分は逆順に15-三角数となっている。

 

グーグルドライブ combin(10,5)の最後の画像

combin(10,5)の組合せが最後まで数値化できた様子。

 

 

余談1

 中間表現が形になってきたのでできるだけ自動化した数式にしたいと考えた。その際の検索の流れ。

1.「1からnの和 名前」でググった。

  「自然数の和」「等差数列の和」「三角数」が関係ありそうだ。

2.「1からnの和 エクセル関数」でググった。

  「sequence関数」が関係ありそうだ。

3.「べき乗 係数 ピラミッド」でググった。

  「パスカルの三角形」「二項定理」が目的の用語だ。

 

余談2

 combin関数なんて組合せの総数しか分からない使えない関数、と言う認識は誤りだったようだ。今回は大活躍した。

 

余談3

 因みに数値の組合せ化については全く手をつけてないので完全未知数だ。

 

余談4

 仕組みが分かってしまえば中間表現は簡単にスルーできた。数値の組合せ化は特定の場合(combin(10,5)やcombin(9,4))のみ成功した。一般化に挑戦中。

 

余談5

 よくエクセル等の表計算ソフトは精密計算には向かないと言われるが、リブレオフィスがここまで使えないとは思わなかった。vlookup関数やindex&match関数を駆使した配列計算的な数式だからほぼ整数の問題。だから精度の問題は関係ないはずなのに想定外(不正解)の結果が出まくり。グーグルドライブとエクセルではそのような問題はなかった。

 たとえば「=match(40,{10,20,30},1)」の答えが「2」になる(左記はver.25の話。ver.3とver.26では正常値「3」になったが組合せの数式では両者とも不正解な結果が出る)

 端数処理の時はどのソフトもそれなりに誤差があったからどれも一長一短だと思っていたのに。

 

 

試運転版(数日間は凡ミス等を修正する予定。)

 

 

行列式の部分行列式展開その3

部分行列式(仮)を使って行列式を分割計算してみた。(複素数対応)

 

前記事「行列式の部分行列式展開その2」の余談1に関して

組合せの列挙を自動化してみた。グーグルドライブやリブレオフィスでは自動化を追加したが、せっかくなのでエクセルで新規作成した(セルの位置や数式はコピペや書き写し等したためゼロからの新規ではない)。部分行列には行見出しと列見出しを付けた。符号調整は積に含めた。

ただ借り物の数式(動作原理をちゃんと理解していない)と間に合わぜの小技で作ったので後で自分で作り直したいとは思う。

 

エクセル 実数計算の画像

o10= imsum(n18:n1775)&""

o14= (o10と同じ)

a15= =indirect("av"&7+(row()-15)/7) (組合せ列挙自動化の一部)

a15とg15を元に行見出しを表示している。列見出しは固定なのでそのまま入れた。

部分行列式の積(符号調整含む)については行をずらして文字列としてはみ出し表示した。

 

エクセル 複素数計算の画像1

 

エクセル 複素数計算の画像2

 

エクセル 組合せ列挙の画像

av4= =COMBIN(AX3,AX4)

av5= =COUNTIF(AX7:AX300,">0")

av7= =AX7&AY7&AZ7&IF(BA7=10,"a",BA7)&IF(BB7=10,"a",BB7) 10をaにする対応は最小限

av7:av300= av7をコピペ

ax7= =IF(OR(COLUMN()-49>$AX$4,$AX6>$AX$3-$AX$4),"",IF(AX6,IF(IF(COLUMN()-49>$AX$4+2,9,AY6)>$AX$3-$AX$4+COLUMN()-49,IF(AX6>$AX$3-1-$AX$4+COLUMN()-49,AW7,AX6)+1,AX6),AW7+1)) (借り物の数式。元はcolumn関数は使ってなかった。左に隣接するaw列と上に隣接する6行は空白にしておく。)

ax7:bg300= av7をコピペ

 

余談1

 このエクセルファイル(なぜかバイナリ保存を要求された)のサイズは1MB弱。10x10を正攻法で求めたエクセルファイルのサイズは約250MB。全く同じものを求めた訳ではないが桁が2つも違うとは想定外。因みにリブレオフィスで作ったこれとほぼ同じファイルのサイズは0.5MB強。

 

余談2

 グーグルドライブでも(5x5)x(5x5)のシートを作りたい気もするけど今のところそこまでのモチベはない。

 と言いつつリブレオフィス(5+5)にエクセルシート同様に行見出し列見出しを追加して、符号調整を積に含めて、行をずらして隠れにくくして、組合せ列挙の自動化を完全適用した。大した苦労ではなかったのでグーグルドライブでは(4+6)シートを(残して)コピーして(5+5)に修正した。とにかくエクセルの(5+5)と同じようなシートが他2環境でも作れた。

 あと複素数対応の数式が混合型(なぜか列固定型ですらなかった)のでちゃんとした数式に修正した。

 

余談3

 ただ自分は複素数行列の計算を実用的に使う立場にはないのが悲しいw

 実数計算ならmdeterm関数等で充分だし。3D計算とか電気関係に手を出せば使い道が出てくるだろうか?

 

 

試運転版(数日間は凡ミス等を修正する予定。)

行列式の部分行列式展開その2

部分行列式(仮)を使って行列式を分割計算してみた。(複素数対応)

 

前記事「行列式の部分行列式展開」の余談1に関して

1.グーグルドライブで10x10の行列式を4x4の行列式と6x6の行列式の積210組で複素数計算

2.リブレオフィスカルクで10x10の行列式を5x5の行列式2つセットを252組で複素数計算

に成功した。「どーせ同じ計算をするのだからだんだん重くなって結局失敗する。でもダメ元でできる所まではやってみよう。」と思って進めていた。210組や252組なら何とか頑張れるけど500組とか1000組になるととてつもなく壮大な気がしていた。

成功した結果を踏まえて比較計算してみた。

2の計算の場合、5x5の行列式をconbin(10,5)*2=252*2=504個計算する事になる。(集計等の計算は無視してみる)

10x10の行列式を直接求める場合は5x5の行列式が少なくとも6*7*8*9*10=30240個分。(因数も増えるから更に5~10%増?)

単純比較で60倍以上の軽量化に成功かも。

 

1.グーグルドライブで10x10の行列式を4x4の行列式と6x6の行列式の積210組で計算

実数計算の画像

複素数計算の画像

o10= 

=imsum(

improduct(K16,M16),improduct(K23,M23),improduct(K30,M30),

improduct(K37,M37),improduct(K44,M44),

improduct(K51,M51),improduct(K58,M58),improduct(K65,M65),

improduct(K72,M72),improduct(K79,M79),

improduct(K86,M86),improduct(K93,M93),improduct(K100,M100),

improduct(K107,M107),improduct(K114,M114),

improduct(K121,M121),improduct(K128,M128),improduct(K135,M135),

improduct(K142,M142),improduct(K149,M149),

improduct(K156,M156),improduct(K163,M163),improduct(K170,M170),

improduct(K177,M177),improduct(K184,M184),

improduct(K191,M191),improduct(K198,M198),improduct(K205,M205),

improduct(K212,M212),improduct(K219,M219),

improduct(K226,M226),improduct(K233,M233),improduct(K240,M240),

improduct(K247,M247),improduct(K254,M254),

improduct(K261,M261),improduct(K268,M268),improduct(K275,M275),

improduct(K282,M282),improduct(K289,M289),

improduct(K296,M296),improduct(K303,M303),improduct(K310,M310),

improduct(K317,M317),improduct(K324,M324),

improduct(K331,M331),improduct(K338,M338),improduct(K345,M345),

improduct(K352,M352),improduct(K359,M359),

improduct(K366,M366),improduct(K373,M373),improduct(K380,M380),

improduct(K387,M387),improduct(K394,M394),

improduct(K401,M401),improduct(K408,M408),improduct(K415,M415),

improduct(K422,M422),improduct(K429,M429),

improduct(K436,M436),improduct(K443,M443),improduct(K450,M450),

improduct(K457,M457),improduct(K464,M464),

improduct(K471,M471),improduct(K478,M478),improduct(K485,M485),

improduct(K492,M492),improduct(K499,M499),

improduct(K506,M506),improduct(K513,M513),improduct(K520,M520),

improduct(K527,M527),improduct(K534,M534),

improduct(K541,M541),improduct(K548,M548),improduct(K555,M555),

improduct(K562,M562),improduct(K569,M569),

improduct(K576,M576),improduct(K583,M583),improduct(K590,M590),

improduct(K597,M597),improduct(K604,M604),

improduct(K611,M611),improduct(K618,M618),improduct(K625,M625),

improduct(K632,M632),improduct(K639,M639),

improduct(K646,M646),improduct(K653,M653),improduct(K660,M660),

improduct(K667,M667),improduct(K674,M674),

improduct(K681,M681),improduct(K688,M688),improduct(K695,M695),

improduct(K702,M702),improduct(K709,M709),

improduct(K716,M716),improduct(K723,M723),improduct(K730,M730),

improduct(K737,M737),improduct(K744,M744),

improduct(K751,M751),improduct(K758,M758),improduct(K765,M765),

improduct(K772,M772),improduct(K779,M779),

improduct(K786,M786),improduct(K793,M793),improduct(K800,M800),

improduct(K807,M807),improduct(K814,M814),

improduct(K821,M821),improduct(K828,M828),improduct(K835,M835),

improduct(K842,M842),improduct(K849,M849),

improduct(K856,M856),improduct(K863,M863),improduct(K870,M870),

improduct(K877,M877),improduct(K884,M884),

improduct(K891,M891),improduct(K898,M898),improduct(K905,M905),

improduct(K912,M912),improduct(K919,M919),

improduct(K926,M926),improduct(K933,M933),improduct(K940,M940),

improduct(K947,M947),improduct(K954,M954),

improduct(K961,M961),improduct(K968,M968),improduct(K975,M975),

improduct(K982,M982),improduct(K989,M989),

improduct(K996,M996),improduct(K1003,M1003),improduct(K1010,M1010),

improduct(K1017,M1017),improduct(K1024,M1024),

improduct(K1031,M1031),improduct(K1038,M1038),improduct(K1045,M1045),

improduct(K1052,M1052),improduct(K1059,M1059),

improduct(K1066,M1066),improduct(K1073,M1073),improduct(K1080,M1080),

improduct(K1087,M1087),improduct(K1094,M1094),

improduct(K1101,M1101),improduct(K1108,M1108),improduct(K1115,M1115),

improduct(K1122,M1122),improduct(K1129,M1129),

improduct(K1136,M1136),improduct(K1143,M1143),improduct(K1150,M1150),

improduct(K1157,M1157),improduct(K1164,M1164),

improduct(K1171,M1171),improduct(K1178,M1178),improduct(K1185,M1185),

improduct(K1192,M1192),improduct(K1199,M1199),

improduct(K1206,M1206),improduct(K1213,M1213),improduct(K1220,M1220),

improduct(K1227,M1227),improduct(K1234,M1234),

improduct(K1241,M1241),improduct(K1248,M1248),improduct(K1255,M1255),

improduct(K1262,M1262),improduct(K1269,M1269),

improduct(K1276,M1276),improduct(K1283,M1283),improduct(K1290,M1290),

improduct(K1297,M1297),improduct(K1304,M1304),

improduct(K1311,M1311),improduct(K1318,M1318),improduct(K1325,M1325),

improduct(K1332,M1332),improduct(K1339,M1339),

improduct(K1346,M1346),improduct(K1353,M1353),improduct(K1360,M1360),

improduct(K1367,M1367),improduct(K1374,M1374),

improduct(K1381,M1381),improduct(K1388,M1388),improduct(K1395,M1395),

improduct(K1402,M1402),improduct(K1409,M1409),

improduct(K1416,M1416),improduct(K1423,M1423),improduct(K1430,M1430),

improduct(K1437,M1437),improduct(K1444,M1444),

improduct(K1451,M1451),improduct(K1458,M1458),improduct(K1465,M1465),

improduct(K1472,M1472),improduct(K1479,M1479),

0)  (符号調整を積の数式に含めてしまえばimsum(範囲)で楽できたのか。)

o15= (o10と同じ)

a15= 1234 意味:a16:d19がそれぞれ元行列の1~4行目を参照する。10行目を「a」で表した。

e15= =substitute(SUBSTITUTE(substitute(SUBSTITUTE("123456789a",left(A15,1),""),mid(A15,2,1),""),mid(A15,3,1),""),mid(A15,4,1),"") 意味:a15で使われない残りの行。ここでは「56789a」なのでe16:j21がそれぞれ元行列の5~10行目を参照する。

h15= =combin(10,4)

j15= =counta(L16:L1484)

l15= =ROUND(sumproduct(L16:L1479,K16:K1479),5)&""

a16= =index($A$1:$J$10,if(mid(A15,row()-row(A15),1)="a",10,mid(A15,row()-row(A15),1)),column())

a16:d19= a16の数式内の4つの「a15」をF4キーで絶対参照にしてからコピペ。その後「$a$15」を「a15」に置換で全て戻す。

e16= =index($A$1:$J$10,if(mid(E15,row()-row(E15),1)="a",10,mid(E15,row()-row(E15),1)),column())

e16:j21= e16の数式内の4つの「e15」をF4キーで絶対参照にしてからコピペ。その後「$e$15」を「e15」に置換で全て戻す。

l16= =ArrayFormula(mdeterm(value(A16:D19))*MDETERM(value(E16:J21)))

m16= =improduct(
imsub(imsum(
improduct(A16,B17,C18,D19),improduct(A16,C17,D18,B19),improduct(A16,D17,B18,C19),
improduct(B16,A17,D18,C19),improduct(B16,C17,A18,D19),improduct(B16,D17,C18,A19),
improduct(C16,A17,B18,D19),improduct(C16,B17,D18,A19),improduct(C16,D17,A18,B19),
improduct(D16,A17,C18,B19),improduct(D16,B17,A18,C19),improduct(D16,C17,B18,A19),
0),imsum(
improduct(A16,B17,D18,C19),improduct(A16,C17,B18,D19),improduct(A16,D17,C18,B19),
improduct(B16,A17,C18,D19),improduct(B16,C17,D18,A19),improduct(B16,D17,A18,C19),
improduct(C16,A17,D18,B19),improduct(C16,B17,A18,D19),improduct(C16,D17,B18,A19),
improduct(D16,A17,B18,C19),improduct(D16,B17,C18,A19),improduct(D16,C17,A18,B19),
0)),
imsub(imsum(
improduct(E16,F17,imsum(
improduct(G18,H19,I20,J21),improduct(G18,I19,J20,H21),improduct(G18,J19,H20,I21),
improduct(H18,G19,J20,I21),improduct(H18,I19,G20,J21),improduct(H18,J19,I20,G21),
improduct(I18,G19,H20,J21),improduct(I18,H19,J20,G21),improduct(I18,J19,G20,H21),
improduct(J18,G19,I20,H21),improduct(J18,H19,G20,I21),improduct(J18,I19,H20,G21),0)),
improduct(E16,G17,imsum(
improduct(F18,H19,J20,I21),improduct(F18,I19,H20,J21),improduct(F18,J19,I20,H21),
improduct(H18,F19,I20,J21),improduct(H18,I19,J20,F21),improduct(H18,J19,F20,I21),
improduct(I18,F19,J20,H21),improduct(I18,H19,F20,J21),improduct(I18,J19,H20,F21),
improduct(J18,F19,H20,I21),improduct(J18,H19,I20,F21),improduct(J18,I19,F20,H21),0)),
improduct(E16,H17,imsum(
improduct(F18,G19,I20,J21),improduct(F18,I19,J20,G21),improduct(F18,J19,G20,I21),
improduct(G18,F19,J20,I21),improduct(G18,I19,F20,J21),improduct(G18,J19,I20,F21),
improduct(I18,F19,G20,J21),improduct(I18,G19,J20,F21),improduct(I18,J19,F20,G21),
improduct(J18,F19,I20,G21),improduct(J18,G19,F20,I21),improduct(J18,I19,G20,F21),0)),
improduct(E16,I17,imsum(
improduct(F18,G19,J20,H21),improduct(F18,H19,G20,J21),improduct(F18,J19,H20,G21),
improduct(G18,F19,H20,J21),improduct(G18,H19,J20,F21),improduct(G18,J19,F20,H21),
improduct(H18,F19,J20,G21),improduct(H18,G19,F20,J21),improduct(H18,J19,G20,F21),
improduct(J18,F19,G20,H21),improduct(J18,G19,H20,F21),improduct(J18,H19,F20,G21),0)),
improduct(E16,J17,imsum(
improduct(F18,G19,H20,I21),improduct(F18,H19,I20,G21),improduct(F18,I19,G20,H21),
improduct(G18,F19,I20,H21),improduct(G18,H19,F20,I21),improduct(G18,I19,H20,F21),
improduct(H18,F19,G20,I21),improduct(H18,G19,I20,F21),improduct(H18,I19,F20,G21),
improduct(I18,F19,H20,G21),improduct(I18,G19,F20,H21),improduct(I18,H19,G20,F21),0)),
improduct(F16,E17,imsum(
improduct(G18,H19,J20,I21),improduct(G18,I19,H20,J21),improduct(G18,J19,I20,H21),
improduct(H18,G19,I20,J21),improduct(H18,I19,J20,G21),improduct(H18,J19,G20,I21),
improduct(I18,G19,J20,H21),improduct(I18,H19,G20,J21),improduct(I18,J19,H20,G21),
improduct(J18,G19,H20,I21),improduct(J18,H19,I20,G21),improduct(J18,I19,G20,H21),0)),
improduct(F16,G17,imsum(
improduct(E18,H19,I20,J21),improduct(E18,I19,J20,H21),improduct(E18,J19,H20,I21),
improduct(H18,E19,J20,I21),improduct(H18,I19,E20,J21),improduct(H18,J19,I20,E21),
improduct(I18,E19,H20,J21),improduct(I18,H19,J20,E21),improduct(I18,J19,E20,H21),
improduct(J18,E19,I20,H21),improduct(J18,H19,E20,I21),improduct(J18,I19,H20,E21),0)),
improduct(F16,H17,imsum(
improduct(E18,G19,J20,I21),improduct(E18,I19,G20,J21),improduct(E18,J19,I20,G21),
improduct(G18,E19,I20,J21),improduct(G18,I19,J20,E21),improduct(G18,J19,E20,I21),
improduct(I18,E19,J20,G21),improduct(I18,G19,E20,J21),improduct(I18,J19,G20,E21),
improduct(J18,E19,G20,I21),improduct(J18,G19,I20,E21),improduct(J18,I19,E20,G21),0)),
improduct(F16,I17,imsum(
improduct(E18,G19,H20,J21),improduct(E18,H19,J20,G21),improduct(E18,J19,G20,H21),
improduct(G18,E19,J20,H21),improduct(G18,H19,E20,J21),improduct(G18,J19,H20,E21),
improduct(H18,E19,G20,J21),improduct(H18,G19,J20,E21),improduct(H18,J19,E20,G21),
improduct(J18,E19,H20,G21),improduct(J18,G19,E20,H21),improduct(J18,H19,G20,E21),0)),
improduct(F16,J17,imsum(
improduct(E18,G19,I20,H21),improduct(E18,H19,G20,I21),improduct(E18,I19,H20,G21),
improduct(G18,E19,H20,I21),improduct(G18,H19,I20,E21),improduct(G18,I19,E20,H21),
improduct(H18,E19,I20,G21),improduct(H18,G19,E20,I21),improduct(H18,I19,G20,E21),
improduct(I18,E19,G20,H21),improduct(I18,G19,H20,E21),improduct(I18,H19,E20,G21),0)),
improduct(G16,E17,imsum(
improduct(F18,H19,I20,J21),improduct(F18,I19,J20,H21),improduct(F18,J19,H20,I21),
improduct(H18,F19,J20,I21),improduct(H18,I19,F20,J21),improduct(H18,J19,I20,F21),
improduct(I18,F19,H20,J21),improduct(I18,H19,J20,F21),improduct(I18,J19,F20,H21),
improduct(J18,F19,I20,H21),improduct(J18,H19,F20,I21),improduct(J18,I19,H20,F21),0)),
improduct(G16,F17,imsum(
improduct(E18,H19,J20,I21),improduct(E18,I19,H20,J21),improduct(E18,J19,I20,H21),
improduct(H18,E19,I20,J21),improduct(H18,I19,J20,E21),improduct(H18,J19,E20,I21),
improduct(I18,E19,J20,H21),improduct(I18,H19,E20,J21),improduct(I18,J19,H20,E21),
improduct(J18,E19,H20,I21),improduct(J18,H19,I20,E21),improduct(J18,I19,E20,H21),0)),
improduct(G16,H17,imsum(
improduct(E18,F19,I20,J21),improduct(E18,I19,J20,F21),improduct(E18,J19,F20,I21),
improduct(F18,E19,J20,I21),improduct(F18,I19,E20,J21),improduct(F18,J19,I20,E21),
improduct(I18,E19,F20,J21),improduct(I18,F19,J20,E21),improduct(I18,J19,E20,F21),
improduct(J18,E19,I20,F21),improduct(J18,F19,E20,I21),improduct(J18,I19,F20,E21),0)),
improduct(G16,I17,imsum(
improduct(E18,F19,J20,H21),improduct(E18,H19,F20,J21),improduct(E18,J19,H20,F21),
improduct(F18,E19,H20,J21),improduct(F18,H19,J20,E21),improduct(F18,J19,E20,H21),
improduct(H18,E19,J20,F21),improduct(H18,F19,E20,J21),improduct(H18,J19,F20,E21),
improduct(J18,E19,F20,H21),improduct(J18,F19,H20,E21),improduct(J18,H19,E20,F21),0)),
improduct(G16,J17,imsum(
improduct(E18,F19,H20,I21),improduct(E18,H19,I20,F21),improduct(E18,I19,F20,H21),
improduct(F18,E19,I20,H21),improduct(F18,H19,E20,I21),improduct(F18,I19,H20,E21),
improduct(H18,E19,F20,I21),improduct(H18,F19,I20,E21),improduct(H18,I19,E20,F21),
improduct(I18,E19,H20,F21),improduct(I18,F19,E20,H21),improduct(I18,H19,F20,E21),0)),
improduct(H16,E17,imsum(
improduct(F18,G19,J20,I21),improduct(F18,I19,G20,J21),improduct(F18,J19,I20,G21),
improduct(G18,F19,I20,J21),improduct(G18,I19,J20,F21),improduct(G18,J19,F20,I21),
improduct(I18,F19,J20,G21),improduct(I18,G19,F20,J21),improduct(I18,J19,G20,F21),
improduct(J18,F19,G20,I21),improduct(J18,G19,I20,F21),improduct(J18,I19,F20,G21),0)),
improduct(H16,F17,imsum(
improduct(E18,G19,I20,J21),improduct(E18,I19,J20,G21),improduct(E18,J19,G20,I21),
improduct(G18,E19,J20,I21),improduct(G18,I19,E20,J21),improduct(G18,J19,I20,E21),
improduct(I18,E19,G20,J21),improduct(I18,G19,J20,E21),improduct(I18,J19,E20,G21),
improduct(J18,E19,I20,G21),improduct(J18,G19,E20,I21),improduct(J18,I19,G20,E21),0)),
improduct(H16,G17,imsum(
improduct(E18,F19,J20,I21),improduct(E18,I19,F20,J21),improduct(E18,J19,I20,F21),
improduct(F18,E19,I20,J21),improduct(F18,I19,J20,E21),improduct(F18,J19,E20,I21),
improduct(I18,E19,J20,F21),improduct(I18,F19,E20,J21),improduct(I18,J19,F20,E21),
improduct(J18,E19,F20,I21),improduct(J18,F19,I20,E21),improduct(J18,I19,E20,F21),0)),
improduct(H16,I17,imsum(
improduct(E18,F19,G20,J21),improduct(E18,G19,J20,F21),improduct(E18,J19,F20,G21),
improduct(F18,E19,J20,G21),improduct(F18,G19,E20,J21),improduct(F18,J19,G20,E21),
improduct(G18,E19,F20,J21),improduct(G18,F19,J20,E21),improduct(G18,J19,E20,F21),
improduct(J18,E19,G20,F21),improduct(J18,F19,E20,G21),improduct(J18,G19,F20,E21),0)),
improduct(H16,J17,imsum(
improduct(E18,F19,I20,G21),improduct(E18,G19,F20,I21),improduct(E18,I19,G20,F21),
improduct(F18,E19,G20,I21),improduct(F18,G19,I20,E21),improduct(F18,I19,E20,G21),
improduct(G18,E19,I20,F21),improduct(G18,F19,E20,I21),improduct(G18,I19,F20,E21),
improduct(I18,E19,F20,G21),improduct(I18,F19,G20,E21),improduct(I18,G19,E20,F21),0)),
improduct(I16,E17,imsum(
improduct(F18,G19,H20,J21),improduct(F18,H19,J20,G21),improduct(F18,J19,G20,H21),
improduct(G18,F19,J20,H21),improduct(G18,H19,F20,J21),improduct(G18,J19,H20,F21),
improduct(H18,F19,G20,J21),improduct(H18,G19,J20,F21),improduct(H18,J19,F20,G21),
improduct(J18,F19,H20,G21),improduct(J18,G19,F20,H21),improduct(J18,H19,G20,F21),0)),
improduct(I16,F17,imsum(
improduct(E18,G19,J20,H21),improduct(E18,H19,G20,J21),improduct(E18,J19,H20,G21),
improduct(G18,E19,H20,J21),improduct(G18,H19,J20,E21),improduct(G18,J19,E20,H21),
improduct(H18,E19,J20,G21),improduct(H18,G19,E20,J21),improduct(H18,J19,G20,E21),
improduct(J18,E19,G20,H21),improduct(J18,G19,H20,E21),improduct(J18,H19,E20,G21),0)),
improduct(I16,G17,imsum(
improduct(E18,F19,H20,J21),improduct(E18,H19,J20,F21),improduct(E18,J19,F20,H21),
improduct(F18,E19,J20,H21),improduct(F18,H19,E20,J21),improduct(F18,J19,H20,E21),
improduct(H18,E19,F20,J21),improduct(H18,F19,J20,E21),improduct(H18,J19,E20,F21),
improduct(J18,E19,H20,F21),improduct(J18,F19,E20,H21),improduct(J18,H19,F20,E21),0)),
improduct(I16,H17,imsum(
improduct(E18,F19,J20,G21),improduct(E18,G19,F20,J21),improduct(E18,J19,G20,F21),
improduct(F18,E19,G20,J21),improduct(F18,G19,J20,E21),improduct(F18,J19,E20,G21),
improduct(G18,E19,J20,F21),improduct(G18,F19,E20,J21),improduct(G18,J19,F20,E21),
improduct(J18,E19,F20,G21),improduct(J18,F19,G20,E21),improduct(J18,G19,E20,F21),0)),
improduct(I16,J17,imsum(
improduct(E18,F19,G20,H21),improduct(E18,G19,H20,F21),improduct(E18,H19,F20,G21),
improduct(F18,E19,H20,G21),improduct(F18,G19,E20,H21),improduct(F18,H19,G20,E21),
improduct(G18,E19,F20,H21),improduct(G18,F19,H20,E21),improduct(G18,H19,E20,F21),
improduct(H18,E19,G20,F21),improduct(H18,F19,E20,G21),improduct(H18,G19,F20,E21),0)),
improduct(J16,E17,imsum(
improduct(F18,G19,I20,H21),improduct(F18,H19,G20,I21),improduct(F18,I19,H20,G21),
improduct(G18,F19,H20,I21),improduct(G18,H19,I20,F21),improduct(G18,I19,F20,H21),
improduct(H18,F19,I20,G21),improduct(H18,G19,F20,I21),improduct(H18,I19,G20,F21),
improduct(I18,F19,G20,H21),improduct(I18,G19,H20,F21),improduct(I18,H19,F20,G21),0)),
improduct(J16,F17,imsum(
improduct(E18,G19,H20,I21),improduct(E18,H19,I20,G21),improduct(E18,I19,G20,H21),
improduct(G18,E19,I20,H21),improduct(G18,H19,E20,I21),improduct(G18,I19,H20,E21),
improduct(H18,E19,G20,I21),improduct(H18,G19,I20,E21),improduct(H18,I19,E20,G21),
improduct(I18,E19,H20,G21),improduct(I18,G19,E20,H21),improduct(I18,H19,G20,E21),0)),
improduct(J16,G17,imsum(
improduct(E18,F19,I20,H21),improduct(E18,H19,F20,I21),improduct(E18,I19,H20,F21),
improduct(F18,E19,H20,I21),improduct(F18,H19,I20,E21),improduct(F18,I19,E20,H21),
improduct(H18,E19,I20,F21),improduct(H18,F19,E20,I21),improduct(H18,I19,F20,E21),
improduct(I18,E19,F20,H21),improduct(I18,F19,H20,E21),improduct(I18,H19,E20,F21),0)),
improduct(J16,H17,imsum(
improduct(E18,F19,G20,I21),improduct(E18,G19,I20,F21),improduct(E18,I19,F20,G21),
improduct(F18,E19,I20,G21),improduct(F18,G19,E20,I21),improduct(F18,I19,G20,E21),
improduct(G18,E19,F20,I21),improduct(G18,F19,I20,E21),improduct(G18,I19,E20,F21),
improduct(I18,E19,G20,F21),improduct(I18,F19,E20,G21),improduct(I18,G19,F20,E21),0)),
improduct(J16,I17,imsum(
improduct(E18,F19,H20,G21),improduct(E18,G19,F20,H21),improduct(E18,H19,G20,F21),
improduct(F18,E19,G20,H21),improduct(F18,G19,H20,E21),improduct(F18,H19,E20,G21),
improduct(G18,E19,H20,F21),improduct(G18,F19,E20,H21),improduct(G18,H19,F20,E21),
improduct(H18,E19,F20,G21),improduct(H18,F19,G20,E21),improduct(H18,G19,E20,F21),0)),
0),imsum(
improduct(E16,F17,imsum(
improduct(G18,H19,J20,I21),improduct(G18,I19,H20,J21),improduct(G18,J19,I20,H21),
improduct(H18,G19,I20,J21),improduct(H18,I19,J20,G21),improduct(H18,J19,G20,I21),
improduct(I18,G19,J20,H21),improduct(I18,H19,G20,J21),improduct(I18,J19,H20,G21),
improduct(J18,G19,H20,I21),improduct(J18,H19,I20,G21),improduct(J18,I19,G20,H21),0)),
improduct(E16,G17,imsum(
improduct(F18,H19,I20,J21),improduct(F18,I19,J20,H21),improduct(F18,J19,H20,I21),
improduct(H18,F19,J20,I21),improduct(H18,I19,F20,J21),improduct(H18,J19,I20,F21),
improduct(I18,F19,H20,J21),improduct(I18,H19,J20,F21),improduct(I18,J19,F20,H21),
improduct(J18,F19,I20,H21),improduct(J18,H19,F20,I21),improduct(J18,I19,H20,F21),0)),
improduct(E16,H17,imsum(
improduct(F18,G19,J20,I21),improduct(F18,I19,G20,J21),improduct(F18,J19,I20,G21),
improduct(G18,F19,I20,J21),improduct(G18,I19,J20,F21),improduct(G18,J19,F20,I21),
improduct(I18,F19,J20,G21),improduct(I18,G19,F20,J21),improduct(I18,J19,G20,F21),
improduct(J18,F19,G20,I21),improduct(J18,G19,I20,F21),improduct(J18,I19,F20,G21),0)),
improduct(E16,I17,imsum(
improduct(F18,G19,H20,J21),improduct(F18,H19,J20,G21),improduct(F18,J19,G20,H21),
improduct(G18,F19,J20,H21),improduct(G18,H19,F20,J21),improduct(G18,J19,H20,F21),
improduct(H18,F19,G20,J21),improduct(H18,G19,J20,F21),improduct(H18,J19,F20,G21),
improduct(J18,F19,H20,G21),improduct(J18,G19,F20,H21),improduct(J18,H19,G20,F21),0)),
improduct(E16,J17,imsum(
improduct(F18,G19,I20,H21),improduct(F18,H19,G20,I21),improduct(F18,I19,H20,G21),
improduct(G18,F19,H20,I21),improduct(G18,H19,I20,F21),improduct(G18,I19,F20,H21),
improduct(H18,F19,I20,G21),improduct(H18,G19,F20,I21),improduct(H18,I19,G20,F21),
improduct(I18,F19,G20,H21),improduct(I18,G19,H20,F21),improduct(I18,H19,F20,G21),0)),
improduct(F16,E17,imsum(
improduct(G18,H19,I20,J21),improduct(G18,I19,J20,H21),improduct(G18,J19,H20,I21),
improduct(H18,G19,J20,I21),improduct(H18,I19,G20,J21),improduct(H18,J19,I20,G21),
improduct(I18,G19,H20,J21),improduct(I18,H19,J20,G21),improduct(I18,J19,G20,H21),
improduct(J18,G19,I20,H21),improduct(J18,H19,G20,I21),improduct(J18,I19,H20,G21),0)),
improduct(F16,G17,imsum(
improduct(E18,H19,J20,I21),improduct(E18,I19,H20,J21),improduct(E18,J19,I20,H21),
improduct(H18,E19,I20,J21),improduct(H18,I19,J20,E21),improduct(H18,J19,E20,I21),
improduct(I18,E19,J20,H21),improduct(I18,H19,E20,J21),improduct(I18,J19,H20,E21),
improduct(J18,E19,H20,I21),improduct(J18,H19,I20,E21),improduct(J18,I19,E20,H21),0)),
improduct(F16,H17,imsum(
improduct(E18,G19,I20,J21),improduct(E18,I19,J20,G21),improduct(E18,J19,G20,I21),
improduct(G18,E19,J20,I21),improduct(G18,I19,E20,J21),improduct(G18,J19,I20,E21),
improduct(I18,E19,G20,J21),improduct(I18,G19,J20,E21),improduct(I18,J19,E20,G21),
improduct(J18,E19,I20,G21),improduct(J18,G19,E20,I21),improduct(J18,I19,G20,E21),0)),
improduct(F16,I17,imsum(
improduct(E18,G19,J20,H21),improduct(E18,H19,G20,J21),improduct(E18,J19,H20,G21),
improduct(G18,E19,H20,J21),improduct(G18,H19,J20,E21),improduct(G18,J19,E20,H21),
improduct(H18,E19,J20,G21),improduct(H18,G19,E20,J21),improduct(H18,J19,G20,E21),
improduct(J18,E19,G20,H21),improduct(J18,G19,H20,E21),improduct(J18,H19,E20,G21),0)),
improduct(F16,J17,imsum(
improduct(E18,G19,H20,I21),improduct(E18,H19,I20,G21),improduct(E18,I19,G20,H21),
improduct(G18,E19,I20,H21),improduct(G18,H19,E20,I21),improduct(G18,I19,H20,E21),
improduct(H18,E19,G20,I21),improduct(H18,G19,I20,E21),improduct(H18,I19,E20,G21),
improduct(I18,E19,H20,G21),improduct(I18,G19,E20,H21),improduct(I18,H19,G20,E21),0)),
improduct(G16,E17,imsum(
improduct(F18,H19,J20,I21),improduct(F18,I19,H20,J21),improduct(F18,J19,I20,H21),
improduct(H18,F19,I20,J21),improduct(H18,I19,J20,F21),improduct(H18,J19,F20,I21),
improduct(I18,F19,J20,H21),improduct(I18,H19,F20,J21),improduct(I18,J19,H20,F21),
improduct(J18,F19,H20,I21),improduct(J18,H19,I20,F21),improduct(J18,I19,F20,H21),0)),
improduct(G16,F17,imsum(
improduct(E18,H19,I20,J21),improduct(E18,I19,J20,H21),improduct(E18,J19,H20,I21),
improduct(H18,E19,J20,I21),improduct(H18,I19,E20,J21),improduct(H18,J19,I20,E21),
improduct(I18,E19,H20,J21),improduct(I18,H19,J20,E21),improduct(I18,J19,E20,H21),
improduct(J18,E19,I20,H21),improduct(J18,H19,E20,I21),improduct(J18,I19,H20,E21),0)),
improduct(G16,H17,imsum(
improduct(E18,F19,J20,I21),improduct(E18,I19,F20,J21),improduct(E18,J19,I20,F21),
improduct(F18,E19,I20,J21),improduct(F18,I19,J20,E21),improduct(F18,J19,E20,I21),
improduct(I18,E19,J20,F21),improduct(I18,F19,E20,J21),improduct(I18,J19,F20,E21),
improduct(J18,E19,F20,I21),improduct(J18,F19,I20,E21),improduct(J18,I19,E20,F21),0)),
improduct(G16,I17,imsum(
improduct(E18,F19,H20,J21),improduct(E18,H19,J20,F21),improduct(E18,J19,F20,H21),
improduct(F18,E19,J20,H21),improduct(F18,H19,E20,J21),improduct(F18,J19,H20,E21),
improduct(H18,E19,F20,J21),improduct(H18,F19,J20,E21),improduct(H18,J19,E20,F21),
improduct(J18,E19,H20,F21),improduct(J18,F19,E20,H21),improduct(J18,H19,F20,E21),0)),
improduct(G16,J17,imsum(
improduct(E18,F19,I20,H21),improduct(E18,H19,F20,I21),improduct(E18,I19,H20,F21),
improduct(F18,E19,H20,I21),improduct(F18,H19,I20,E21),improduct(F18,I19,E20,H21),
improduct(H18,E19,I20,F21),improduct(H18,F19,E20,I21),improduct(H18,I19,F20,E21),
improduct(I18,E19,F20,H21),improduct(I18,F19,H20,E21),improduct(I18,H19,E20,F21),0)),
improduct(H16,E17,imsum(
improduct(F18,G19,I20,J21),improduct(F18,I19,J20,G21),improduct(F18,J19,G20,I21),
improduct(G18,F19,J20,I21),improduct(G18,I19,F20,J21),improduct(G18,J19,I20,F21),
improduct(I18,F19,G20,J21),improduct(I18,G19,J20,F21),improduct(I18,J19,F20,G21),
improduct(J18,F19,I20,G21),improduct(J18,G19,F20,I21),improduct(J18,I19,G20,F21),0)),
improduct(H16,F17,imsum(
improduct(E18,G19,J20,I21),improduct(E18,I19,G20,J21),improduct(E18,J19,I20,G21),
improduct(G18,E19,I20,J21),improduct(G18,I19,J20,E21),improduct(G18,J19,E20,I21),
improduct(I18,E19,J20,G21),improduct(I18,G19,E20,J21),improduct(I18,J19,G20,E21),
improduct(J18,E19,G20,I21),improduct(J18,G19,I20,E21),improduct(J18,I19,E20,G21),0)),
improduct(H16,G17,imsum(
improduct(E18,F19,I20,J21),improduct(E18,I19,J20,F21),improduct(E18,J19,F20,I21),
improduct(F18,E19,J20,I21),improduct(F18,I19,E20,J21),improduct(F18,J19,I20,E21),
improduct(I18,E19,F20,J21),improduct(I18,F19,J20,E21),improduct(I18,J19,E20,F21),
improduct(J18,E19,I20,F21),improduct(J18,F19,E20,I21),improduct(J18,I19,F20,E21),0)),
improduct(H16,I17,imsum(
improduct(E18,F19,J20,G21),improduct(E18,G19,F20,J21),improduct(E18,J19,G20,F21),
improduct(F18,E19,G20,J21),improduct(F18,G19,J20,E21),improduct(F18,J19,E20,G21),
improduct(G18,E19,J20,F21),improduct(G18,F19,E20,J21),improduct(G18,J19,F20,E21),
improduct(J18,E19,F20,G21),improduct(J18,F19,G20,E21),improduct(J18,G19,E20,F21),0)),
improduct(H16,J17,imsum(
improduct(E18,F19,G20,I21),improduct(E18,G19,I20,F21),improduct(E18,I19,F20,G21),
improduct(F18,E19,I20,G21),improduct(F18,G19,E20,I21),improduct(F18,I19,G20,E21),
improduct(G18,E19,F20,I21),improduct(G18,F19,I20,E21),improduct(G18,I19,E20,F21),
improduct(I18,E19,G20,F21),improduct(I18,F19,E20,G21),improduct(I18,G19,F20,E21),0)),
improduct(I16,E17,imsum(
improduct(F18,G19,J20,H21),improduct(F18,H19,G20,J21),improduct(F18,J19,H20,G21),
improduct(G18,F19,H20,J21),improduct(G18,H19,J20,F21),improduct(G18,J19,F20,H21),
improduct(H18,F19,J20,G21),improduct(H18,G19,F20,J21),improduct(H18,J19,G20,F21),
improduct(J18,F19,G20,H21),improduct(J18,G19,H20,F21),improduct(J18,H19,F20,G21),0)),
improduct(I16,F17,imsum(
improduct(E18,G19,H20,J21),improduct(E18,H19,J20,G21),improduct(E18,J19,G20,H21),
improduct(G18,E19,J20,H21),improduct(G18,H19,E20,J21),improduct(G18,J19,H20,E21),
improduct(H18,E19,G20,J21),improduct(H18,G19,J20,E21),improduct(H18,J19,E20,G21),
improduct(J18,E19,H20,G21),improduct(J18,G19,E20,H21),improduct(J18,H19,G20,E21),0)),
improduct(I16,G17,imsum(
improduct(E18,F19,J20,H21),improduct(E18,H19,F20,J21),improduct(E18,J19,H20,F21),
improduct(F18,E19,H20,J21),improduct(F18,H19,J20,E21),improduct(F18,J19,E20,H21),
improduct(H18,E19,J20,F21),improduct(H18,F19,E20,J21),improduct(H18,J19,F20,E21),
improduct(J18,E19,F20,H21),improduct(J18,F19,H20,E21),improduct(J18,H19,E20,F21),0)),
improduct(I16,H17,imsum(
improduct(E18,F19,G20,J21),improduct(E18,G19,J20,F21),improduct(E18,J19,F20,G21),
improduct(F18,E19,J20,G21),improduct(F18,G19,E20,J21),improduct(F18,J19,G20,E21),
improduct(G18,E19,F20,J21),improduct(G18,F19,J20,E21),improduct(G18,J19,E20,F21),
improduct(J18,E19,G20,F21),improduct(J18,F19,E20,G21),improduct(J18,G19,F20,E21),0)),
improduct(I16,J17,imsum(
improduct(E18,F19,H20,G21),improduct(E18,G19,F20,H21),improduct(E18,H19,G20,F21),
improduct(F18,E19,G20,H21),improduct(F18,G19,H20,E21),improduct(F18,H19,E20,G21),
improduct(G18,E19,H20,F21),improduct(G18,F19,E20,H21),improduct(G18,H19,F20,E21),
improduct(H18,E19,F20,G21),improduct(H18,F19,G20,E21),improduct(H18,G19,E20,F21),0)),
improduct(J16,E17,imsum(
improduct(F18,G19,H20,I21),improduct(F18,H19,I20,G21),improduct(F18,I19,G20,H21),
improduct(G18,F19,I20,H21),improduct(G18,H19,F20,I21),improduct(G18,I19,H20,F21),
improduct(H18,F19,G20,I21),improduct(H18,G19,I20,F21),improduct(H18,I19,F20,G21),
improduct(I18,F19,H20,G21),improduct(I18,G19,F20,H21),improduct(I18,H19,G20,F21),0)),
improduct(J16,F17,imsum(
improduct(E18,G19,I20,H21),improduct(E18,H19,G20,I21),improduct(E18,I19,H20,G21),
improduct(G18,E19,H20,I21),improduct(G18,H19,I20,E21),improduct(G18,I19,E20,H21),
improduct(H18,E19,I20,G21),improduct(H18,G19,E20,I21),improduct(H18,I19,G20,E21),
improduct(I18,E19,G20,H21),improduct(I18,G19,H20,E21),improduct(I18,H19,E20,G21),0)),
improduct(J16,G17,imsum(
improduct(E18,F19,H20,I21),improduct(E18,H19,I20,F21),improduct(E18,I19,F20,H21),
improduct(F18,E19,I20,H21),improduct(F18,H19,E20,I21),improduct(F18,I19,H20,E21),
improduct(H18,E19,F20,I21),improduct(H18,F19,I20,E21),improduct(H18,I19,E20,F21),
improduct(I18,E19,H20,F21),improduct(I18,F19,E20,H21),improduct(I18,H19,F20,E21),0)),
improduct(J16,H17,imsum(
improduct(E18,F19,I20,G21),improduct(E18,G19,F20,I21),improduct(E18,I19,G20,F21),
improduct(F18,E19,G20,I21),improduct(F18,G19,I20,E21),improduct(F18,I19,E20,G21),
improduct(G18,E19,I20,F21),improduct(G18,F19,E20,I21),improduct(G18,I19,F20,E21),
improduct(I18,E19,F20,G21),improduct(I18,F19,G20,E21),improduct(I18,G19,E20,F21),0)),
improduct(J16,I17,imsum(
improduct(E18,F19,G20,H21),improduct(E18,G19,H20,F21),improduct(E18,H19,F20,G21),
improduct(F18,E19,H20,G21),improduct(F18,G19,E20,H21),improduct(F18,H19,G20,E21),
improduct(G18,E19,F20,H21),improduct(G18,F19,H20,E21),improduct(G18,H19,E20,F21),
improduct(H18,E19,G20,F21),improduct(H18,F19,E20,G21),improduct(H18,G19,F20,E21),0)),
0)))

n16= =ArrayFormula(-1^SUM( (row($A$1:$A$10)>COLUMN($A$1:$J$1))*(transpose(value(O16:X16))<value(O16:X16))))

o16= =IF(mid(A15,column()-column(A15)-13,1)="a",10,mid(A15,column()-column(A15)-13,1))

p16:r16= o16の数式内の4つの「a15」をF4キーで絶対参照にしてからコピペ。その後「$a$15」を「a15」に置換で全て戻す。(たった3セルなのでo16を数式コピペでも良い)

s16= =IF(mid(E15,column()-column(E15)-13,1)="a",10,mid(E15,column()-column(E15)-13,1))

t16:x16= s16の数式内の4つの「e15」をF4キーで絶対参照にしてからコピペ。その後「$e$15」を「e15」に置換で全て戻す。(たった5セルなのでs16を数式コピペでも良い)

 

 

 2.リブレオフィスカルクで10x10の行列式を5x5の行列式2つセットを252組で計算

実数計算の画像

複素数計算の画像

o10= 

=IMSUM(

IMPRODUCT(K16,M16),IMPRODUCT(K23,M23),IMPRODUCT(K30,M30),

IMPRODUCT(K37,M37),IMPRODUCT(K44,M44),

IMPRODUCT(K51,M51),IMPRODUCT(K58,M58),IMPRODUCT(K65,M65),

IMPRODUCT(K72,M72),IMPRODUCT(K79,M79),

IMPRODUCT(K86,M86),IMPRODUCT(K93,M93),IMPRODUCT(K100,M100),

IMPRODUCT(K107,M107),IMPRODUCT(K114,M114),

IMPRODUCT(K121,M121),IMPRODUCT(K128,M128),IMPRODUCT(K135,M135),

IMPRODUCT(K142,M142),IMPRODUCT(K149,M149),

IMPRODUCT(K156,M156),IMPRODUCT(K163,M163),IMPRODUCT(K170,M170),

IMPRODUCT(K177,M177),IMPRODUCT(K184,M184),

IMPRODUCT(K191,M191),IMPRODUCT(K198,M198),IMPRODUCT(K205,M205),

IMPRODUCT(K212,M212),IMPRODUCT(K219,M219),

IMPRODUCT(K226,M226),IMPRODUCT(K233,M233),IMPRODUCT(K240,M240),

IMPRODUCT(K247,M247),IMPRODUCT(K254,M254),

IMPRODUCT(K261,M261),IMPRODUCT(K268,M268),IMPRODUCT(K275,M275),

IMPRODUCT(K282,M282),IMPRODUCT(K289,M289),

IMPRODUCT(K296,M296),IMPRODUCT(K303,M303),IMPRODUCT(K310,M310),

IMPRODUCT(K317,M317),IMPRODUCT(K324,M324),

IMPRODUCT(K331,M331),IMPRODUCT(K338,M338),IMPRODUCT(K345,M345),

IMPRODUCT(K352,M352),IMPRODUCT(K359,M359),

IMPRODUCT(K366,M366),IMPRODUCT(K373,M373),IMPRODUCT(K380,M380),

IMPRODUCT(K387,M387),IMPRODUCT(K394,M394),

IMPRODUCT(K401,M401),IMPRODUCT(K408,M408),IMPRODUCT(K415,M415),

IMPRODUCT(K422,M422),IMPRODUCT(K429,M429),

IMPRODUCT(K436,M436),IMPRODUCT(K443,M443),IMPRODUCT(K450,M450),

IMPRODUCT(K457,M457),IMPRODUCT(K464,M464),

IMPRODUCT(K471,M471),IMPRODUCT(K478,M478),IMPRODUCT(K485,M485),

IMPRODUCT(K492,M492),IMPRODUCT(K499,M499),

IMPRODUCT(K506,M506),IMPRODUCT(K513,M513),IMPRODUCT(K520,M520),

IMPRODUCT(K527,M527),IMPRODUCT(K534,M534),

IMPRODUCT(K541,M541),IMPRODUCT(K548,M548),IMPRODUCT(K555,M555),

IMPRODUCT(K562,M562),IMPRODUCT(K569,M569),

IMPRODUCT(K576,M576),IMPRODUCT(K583,M583),IMPRODUCT(K590,M590),

IMPRODUCT(K597,M597),IMPRODUCT(K604,M604),

IMPRODUCT(K611,M611),IMPRODUCT(K618,M618),IMPRODUCT(K625,M625),

IMPRODUCT(K632,M632),IMPRODUCT(K639,M639),

IMPRODUCT(K646,M646),IMPRODUCT(K653,M653),IMPRODUCT(K660,M660),

IMPRODUCT(K667,M667),IMPRODUCT(K674,M674),

IMPRODUCT(K681,M681),IMPRODUCT(K688,M688),IMPRODUCT(K695,M695),

IMPRODUCT(K702,M702),IMPRODUCT(K709,M709),

IMPRODUCT(K716,M716),IMPRODUCT(K723,M723),IMPRODUCT(K730,M730),

IMPRODUCT(K737,M737),IMPRODUCT(K744,M744),

IMPRODUCT(K751,M751),IMPRODUCT(K758,M758),IMPRODUCT(K765,M765),

IMPRODUCT(K772,M772),IMPRODUCT(K779,M779),

IMPRODUCT(K786,M786),IMPRODUCT(K793,M793),IMPRODUCT(K800,M800),

IMPRODUCT(K807,M807),IMPRODUCT(K814,M814),

IMPRODUCT(K821,M821),IMPRODUCT(K828,M828),IMPRODUCT(K835,M835),

IMPRODUCT(K842,M842),IMPRODUCT(K849,M849),

IMPRODUCT(K856,M856),IMPRODUCT(K863,M863),IMPRODUCT(K870,M870),

IMPRODUCT(K877,M877),IMPRODUCT(K884,M884),

IMPRODUCT(K891,M891),IMPRODUCT(K898,M898),IMPRODUCT(K905,M905),

IMPRODUCT(K912,M912),IMPRODUCT(K919,M919),

IMPRODUCT(K926,M926),IMPRODUCT(K933,M933),IMPRODUCT(K940,M940),

IMPRODUCT(K947,M947),IMPRODUCT(K954,M954),

IMPRODUCT(K961,M961),IMPRODUCT(K968,M968),IMPRODUCT(K975,M975),

IMPRODUCT(K982,M982),IMPRODUCT(K989,M989),

IMPRODUCT(K996,M996),IMPRODUCT(K1003,M1003),IMPRODUCT(K1010,M1010),

IMPRODUCT(K1017,M1017),IMPRODUCT(K1024,M1024),

IMPRODUCT(K1031,M1031),IMPRODUCT(K1038,M1038),IMPRODUCT(K1045,M1045),

IMPRODUCT(K1052,M1052),IMPRODUCT(K1059,M1059),

IMPRODUCT(K1066,M1066),IMPRODUCT(K1073,M1073),IMPRODUCT(K1080,M1080),

IMPRODUCT(K1087,M1087),IMPRODUCT(K1094,M1094),

IMPRODUCT(K1101,M1101),IMPRODUCT(K1108,M1108),IMPRODUCT(K1115,M1115),

IMPRODUCT(K1122,M1122),IMPRODUCT(K1129,M1129),

IMPRODUCT(K1136,M1136),IMPRODUCT(K1143,M1143),IMPRODUCT(K1150,M1150),

IMPRODUCT(K1157,M1157),IMPRODUCT(K1164,M1164),

IMPRODUCT(K1171,M1171),IMPRODUCT(K1178,M1178),IMPRODUCT(K1185,M1185),

IMPRODUCT(K1192,M1192),IMPRODUCT(K1199,M1199),

IMPRODUCT(K1206,M1206),IMPRODUCT(K1213,M1213),IMPRODUCT(K1220,M1220),

IMPRODUCT(K1227,M1227),IMPRODUCT(K1234,M1234),

IMPRODUCT(K1241,M1241),IMPRODUCT(K1248,M1248),IMPRODUCT(K1255,M1255),

IMPRODUCT(K1262,M1262),IMPRODUCT(K1269,M1269),

IMPRODUCT(K1276,M1276),IMPRODUCT(K1283,M1283),IMPRODUCT(K1290,M1290),

IMPRODUCT(K1297,M1297),IMPRODUCT(K1304,M1304),

IMPRODUCT(K1311,M1311),IMPRODUCT(K1318,M1318),IMPRODUCT(K1325,M1325),

IMPRODUCT(K1332,M1332),IMPRODUCT(K1339,M1339),

IMPRODUCT(K1346,M1346),IMPRODUCT(K1353,M1353),IMPRODUCT(K1360,M1360),

IMPRODUCT(K1367,M1367),IMPRODUCT(K1374,M1374),

IMPRODUCT(K1381,M1381),IMPRODUCT(K1388,M1388),IMPRODUCT(K1395,M1395),

IMPRODUCT(K1402,M1402),IMPRODUCT(K1409,M1409),

IMPRODUCT(K1416,M1416),IMPRODUCT(K1423,M1423),IMPRODUCT(K1430,M1430),

IMPRODUCT(K1437,M1437),IMPRODUCT(K1444,M1444),

IMPRODUCT(K1451,M1451),IMPRODUCT(K1458,M1458),IMPRODUCT(K1465,M1465),

IMPRODUCT(K1472,M1472),IMPRODUCT(K1479,M1479),

IMPRODUCT(K1486,M1486),IMPRODUCT(K1493,M1493),IMPRODUCT(K1500,M1500),

IMPRODUCT(K1507,M1507),IMPRODUCT(K1514,M1514),

IMPRODUCT(K1521,M1521),IMPRODUCT(K1528,M1528),IMPRODUCT(K1535,M1535),

IMPRODUCT(K1542,M1542),IMPRODUCT(K1549,M1549),

IMPRODUCT(K1556,M1556),IMPRODUCT(K1563,M1563),IMPRODUCT(K1570,M1570),

IMPRODUCT(K1577,M1577),IMPRODUCT(K1584,M1584),

IMPRODUCT(K1591,M1591),IMPRODUCT(K1598,M1598),IMPRODUCT(K1605,M1605),

IMPRODUCT(K1612,M1612),IMPRODUCT(K1619,M1619),

IMPRODUCT(K1626,M1626),IMPRODUCT(K1633,M1633),IMPRODUCT(K1640,M1640),

IMPRODUCT(K1647,M1647),IMPRODUCT(K1654,M1654),

IMPRODUCT(K1661,M1661),IMPRODUCT(K1668,M1668),IMPRODUCT(K1675,M1675),

IMPRODUCT(K1682,M1682),IMPRODUCT(K1689,M1689),

IMPRODUCT(K1696,M1696),IMPRODUCT(K1703,M1703),IMPRODUCT(K1710,M1710),

IMPRODUCT(K1717,M1717),IMPRODUCT(K1724,M1724),

IMPRODUCT(K1731,M1731),IMPRODUCT(K1738,M1738),IMPRODUCT(K1745,M1745),

IMPRODUCT(K1752,M1752),IMPRODUCT(K1759,M1759),

IMPRODUCT(K1766,M1766),IMPRODUCT(K1773,M1773),

0)  (符号調整を積の数式に含めてしまえばimsum(範囲)で楽できたのか。)

o15= (o10と同じ)

a15= '12345 意味:a16:e20がそれぞれ元行列の1~5行目を参照する。10行目を「a」で表した。

f15= =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("123456789a",LEFT(A15,1),""),MID(A15,2,1),""),MID(A15,3,1),""),MID(A15,4,1),""),MID(A15,5,1),"") a15で使われなかった残りの行。ここでは「6789a」。 意味:f16:j20がそれぞれ元行列の6~10行目を参照する。

h15= =COMBIN(10,5)

j15= =COUNTA(L16:L1773)

l15= =ROUND(SUMPRODUCT(K16:K1773,L16:L1773),5)&""

a16= =INDEX($A$1:$J$10,IF(MID(A15,ROW()-ROW(A15),1)="a",10,MID(A15,ROW()-ROW(A15),1)),COLUMN())

a16:e20= a16の数式内の4つの「a15」をF4キーで絶対参照にしてからコピペ。その後「$a$15」を「a15」に置換で全て戻す。

f16= =INDEX($A$1:$J$10,IF(MID(F15,ROW()-ROW(F15),1)="a",10,MID(F15,ROW()-ROW(F15),1)),COLUMN())

f16:j20= f16の数式内の4つの「f15」をF4キーで絶対参照にしてからコピペ。その後「$f$15」を「f15」に置換で全て戻す。

l16= {=(MDETERM(VALUE(A16:E20))*MDETERM(VALUE(F16:J20)))} (配列数式)

m16= =IMPRODUCT(
IMSUB(IMSUM(
IMPRODUCT(A16,IMSUM(
IMPRODUCT(B17,C18,D19,E20),IMPRODUCT(B17,D18,E19,C20),IMPRODUCT(B17,E18,C19,D20),
IMPRODUCT(C17,B18,E19,D20),IMPRODUCT(C17,D18,B19,E20),IMPRODUCT(C17,E18,D19,B20),
IMPRODUCT(D17,B18,C19,E20),IMPRODUCT(D17,C18,E19,B20),IMPRODUCT(D17,E18,B19,C20),
IMPRODUCT(E17,B18,D19,C20),IMPRODUCT(E17,C18,B19,D20),IMPRODUCT(E17,D18,C19,B20),0)),
IMPRODUCT(B16,IMSUM(
IMPRODUCT(A17,C18,E19,D20),IMPRODUCT(A17,D18,C19,E20),IMPRODUCT(A17,E18,D19,C20),
IMPRODUCT(C17,A18,D19,E20),IMPRODUCT(C17,D18,E19,A20),IMPRODUCT(C17,E18,A19,D20),
IMPRODUCT(D17,A18,E19,C20),IMPRODUCT(D17,C18,A19,E20),IMPRODUCT(D17,E18,C19,A20),
IMPRODUCT(E17,A18,C19,D20),IMPRODUCT(E17,C18,D19,A20),IMPRODUCT(E17,D18,A19,C20),0)),
IMPRODUCT(C16,IMSUM(
IMPRODUCT(A17,B18,D19,E20),IMPRODUCT(A17,D18,E19,B20),IMPRODUCT(A17,E18,B19,D20),
IMPRODUCT(B17,A18,E19,D20),IMPRODUCT(B17,D18,A19,E20),IMPRODUCT(B17,E18,D19,A20),
IMPRODUCT(D17,A18,B19,E20),IMPRODUCT(D17,B18,E19,A20),IMPRODUCT(D17,E18,A19,B20),
IMPRODUCT(E17,A18,D19,B20),IMPRODUCT(E17,B18,A19,D20),IMPRODUCT(E17,D18,B19,A20),0)),
IMPRODUCT(D16,IMSUM(
IMPRODUCT(A17,B18,E19,C20),IMPRODUCT(A17,C18,B19,E20),IMPRODUCT(A17,E18,C19,B20),
IMPRODUCT(B17,A18,C19,E20),IMPRODUCT(B17,C18,E19,A20),IMPRODUCT(B17,E18,A19,C20),
IMPRODUCT(C17,A18,E19,B20),IMPRODUCT(C17,B18,A19,E20),IMPRODUCT(C17,E18,B19,A20),
IMPRODUCT(E17,A18,B19,C20),IMPRODUCT(E17,B18,C19,A20),IMPRODUCT(E17,C18,A19,B20),0)),
IMPRODUCT(E16,IMSUM(
IMPRODUCT(A17,B18,C19,D20),IMPRODUCT(A17,C18,D19,B20),IMPRODUCT(A17,D18,B19,C20),
IMPRODUCT(B17,A18,D19,C20),IMPRODUCT(B17,C18,A19,D20),IMPRODUCT(B17,D18,C19,A20),
IMPRODUCT(C17,A18,B19,D20),IMPRODUCT(C17,B18,D19,A20),IMPRODUCT(C17,D18,A19,B20),
IMPRODUCT(D17,A18,C19,B20),IMPRODUCT(D17,B18,A19,C20),IMPRODUCT(D17,C18,B19,A20),0)),
0),IMSUM(
IMPRODUCT(A16,IMSUM(
IMPRODUCT(B17,C18,E19,D20),IMPRODUCT(B17,D18,C19,E20),IMPRODUCT(B17,E18,D19,C20),
IMPRODUCT(C17,B18,D19,E20),IMPRODUCT(C17,D18,E19,B20),IMPRODUCT(C17,E18,B19,D20),
IMPRODUCT(D17,B18,E19,C20),IMPRODUCT(D17,C18,B19,E20),IMPRODUCT(D17,E18,C19,B20),
IMPRODUCT(E17,B18,C19,D20),IMPRODUCT(E17,C18,D19,B20),IMPRODUCT(E17,D18,B19,C20),0)),
IMPRODUCT(B16,IMSUM(
IMPRODUCT(A17,C18,D19,E20),IMPRODUCT(A17,D18,E19,C20),IMPRODUCT(A17,E18,C19,D20),
IMPRODUCT(C17,A18,E19,D20),IMPRODUCT(C17,D18,A19,E20),IMPRODUCT(C17,E18,D19,A20),
IMPRODUCT(D17,A18,C19,E20),IMPRODUCT(D17,C18,E19,A20),IMPRODUCT(D17,E18,A19,C20),
IMPRODUCT(E17,A18,D19,C20),IMPRODUCT(E17,C18,A19,D20),IMPRODUCT(E17,D18,C19,A20),0)),
IMPRODUCT(C16,IMSUM(
IMPRODUCT(A17,B18,E19,D20),IMPRODUCT(A17,D18,B19,E20),IMPRODUCT(A17,E18,D19,B20),
IMPRODUCT(B17,A18,D19,E20),IMPRODUCT(B17,D18,E19,A20),IMPRODUCT(B17,E18,A19,D20),
IMPRODUCT(D17,A18,E19,B20),IMPRODUCT(D17,B18,A19,E20),IMPRODUCT(D17,E18,B19,A20),
IMPRODUCT(E17,A18,B19,D20),IMPRODUCT(E17,B18,D19,A20),IMPRODUCT(E17,D18,A19,B20),0)),
IMPRODUCT(D16,IMSUM(
IMPRODUCT(A17,B18,C19,E20),IMPRODUCT(A17,C18,E19,B20),IMPRODUCT(A17,E18,B19,C20),
IMPRODUCT(B17,A18,E19,C20),IMPRODUCT(B17,C18,A19,E20),IMPRODUCT(B17,E18,C19,A20),
IMPRODUCT(C17,A18,B19,E20),IMPRODUCT(C17,B18,E19,A20),IMPRODUCT(C17,E18,A19,B20),
IMPRODUCT(E17,A18,C19,B20),IMPRODUCT(E17,B18,A19,C20),IMPRODUCT(E17,C18,B19,A20),0)),
IMPRODUCT(E16,IMSUM(
IMPRODUCT(A17,B18,D19,C20),IMPRODUCT(A17,C18,B19,D20),IMPRODUCT(A17,D18,C19,B20),
IMPRODUCT(B17,A18,C19,D20),IMPRODUCT(B17,C18,D19,A20),IMPRODUCT(B17,D18,A19,C20),
IMPRODUCT(C17,A18,D19,B20),IMPRODUCT(C17,B18,A19,D20),IMPRODUCT(C17,D18,B19,A20),
IMPRODUCT(D17,A18,B19,C20),IMPRODUCT(D17,B18,C19,A20),IMPRODUCT(D17,C18,A19,B20),0)),
0)),
IMSUB(IMSUM(
IMPRODUCT(F16,IMSUM(
IMPRODUCT(G17,H18,I19,J20),IMPRODUCT(G17,I18,J19,H20),IMPRODUCT(G17,J18,H19,I20),
IMPRODUCT(H17,G18,J19,I20),IMPRODUCT(H17,I18,G19,J20),IMPRODUCT(H17,J18,I19,G20),
IMPRODUCT(I17,G18,H19,J20),IMPRODUCT(I17,H18,J19,G20),IMPRODUCT(I17,J18,G19,H20),
IMPRODUCT(J17,G18,I19,H20),IMPRODUCT(J17,H18,G19,I20),IMPRODUCT(J17,I18,H19,G20),0)),
IMPRODUCT(G16,IMSUM(
IMPRODUCT(F17,H18,J19,I20),IMPRODUCT(F17,I18,H19,J20),IMPRODUCT(F17,J18,I19,H20),
IMPRODUCT(H17,F18,I19,J20),IMPRODUCT(H17,I18,J19,F20),IMPRODUCT(H17,J18,F19,I20),
IMPRODUCT(I17,F18,J19,H20),IMPRODUCT(I17,H18,F19,J20),IMPRODUCT(I17,J18,H19,F20),
IMPRODUCT(J17,F18,H19,I20),IMPRODUCT(J17,H18,I19,F20),IMPRODUCT(J17,I18,F19,H20),0)),
IMPRODUCT(H16,IMSUM(
IMPRODUCT(F17,G18,I19,J20),IMPRODUCT(F17,I18,J19,G20),IMPRODUCT(F17,J18,G19,I20),
IMPRODUCT(G17,F18,J19,I20),IMPRODUCT(G17,I18,F19,J20),IMPRODUCT(G17,J18,I19,F20),
IMPRODUCT(I17,F18,G19,J20),IMPRODUCT(I17,G18,J19,F20),IMPRODUCT(I17,J18,F19,G20),
IMPRODUCT(J17,F18,I19,G20),IMPRODUCT(J17,G18,F19,I20),IMPRODUCT(J17,I18,G19,F20),0)),
IMPRODUCT(I16,IMSUM(
IMPRODUCT(F17,G18,J19,H20),IMPRODUCT(F17,H18,G19,J20),IMPRODUCT(F17,J18,H19,G20),
IMPRODUCT(G17,F18,H19,J20),IMPRODUCT(G17,H18,J19,F20),IMPRODUCT(G17,J18,F19,H20),
IMPRODUCT(H17,F18,J19,G20),IMPRODUCT(H17,G18,F19,J20),IMPRODUCT(H17,J18,G19,F20),
IMPRODUCT(J17,F18,G19,H20),IMPRODUCT(J17,G18,H19,F20),IMPRODUCT(J17,H18,F19,G20),0)),
IMPRODUCT(J16,IMSUM(
IMPRODUCT(F17,G18,H19,I20),IMPRODUCT(F17,H18,I19,G20),IMPRODUCT(F17,I18,G19,H20),
IMPRODUCT(G17,F18,I19,H20),IMPRODUCT(G17,H18,F19,I20),IMPRODUCT(G17,I18,H19,F20),
IMPRODUCT(H17,F18,G19,I20),IMPRODUCT(H17,G18,I19,F20),IMPRODUCT(H17,I18,F19,G20),
IMPRODUCT(I17,F18,H19,G20),IMPRODUCT(I17,G18,F19,H20),IMPRODUCT(I17,H18,G19,F20),0)),
0),IMSUM(
IMPRODUCT(F16,IMSUM(
IMPRODUCT(G17,H18,J19,I20),IMPRODUCT(G17,I18,H19,J20),IMPRODUCT(G17,J18,I19,H20),
IMPRODUCT(H17,G18,I19,J20),IMPRODUCT(H17,I18,J19,G20),IMPRODUCT(H17,J18,G19,I20),
IMPRODUCT(I17,G18,J19,H20),IMPRODUCT(I17,H18,G19,J20),IMPRODUCT(I17,J18,H19,G20),
IMPRODUCT(J17,G18,H19,I20),IMPRODUCT(J17,H18,I19,G20),IMPRODUCT(J17,I18,G19,H20),0)),
IMPRODUCT(G16,IMSUM(
IMPRODUCT(F17,H18,I19,J20),IMPRODUCT(F17,I18,J19,H20),IMPRODUCT(F17,J18,H19,I20),
IMPRODUCT(H17,F18,J19,I20),IMPRODUCT(H17,I18,F19,J20),IMPRODUCT(H17,J18,I19,F20),
IMPRODUCT(I17,F18,H19,J20),IMPRODUCT(I17,H18,J19,F20),IMPRODUCT(I17,J18,F19,H20),
IMPRODUCT(J17,F18,I19,H20),IMPRODUCT(J17,H18,F19,I20),IMPRODUCT(J17,I18,H19,F20),0)),
IMPRODUCT(H16,IMSUM(
IMPRODUCT(F17,G18,J19,I20),IMPRODUCT(F17,I18,G19,J20),IMPRODUCT(F17,J18,I19,G20),
IMPRODUCT(G17,F18,I19,J20),IMPRODUCT(G17,I18,J19,F20),IMPRODUCT(G17,J18,F19,I20),
IMPRODUCT(I17,F18,J19,G20),IMPRODUCT(I17,G18,F19,J20),IMPRODUCT(I17,J18,G19,F20),
IMPRODUCT(J17,F18,G19,I20),IMPRODUCT(J17,G18,I19,F20),IMPRODUCT(J17,I18,F19,G20),0)),
IMPRODUCT(I16,IMSUM(
IMPRODUCT(F17,G18,H19,J20),IMPRODUCT(F17,H18,J19,G20),IMPRODUCT(F17,J18,G19,H20),
IMPRODUCT(G17,F18,J19,H20),IMPRODUCT(G17,H18,F19,J20),IMPRODUCT(G17,J18,H19,F20),
IMPRODUCT(H17,F18,G19,J20),IMPRODUCT(H17,G18,J19,F20),IMPRODUCT(H17,J18,F19,G20),
IMPRODUCT(J17,F18,H19,G20),IMPRODUCT(J17,G18,F19,H20),IMPRODUCT(J17,H18,G19,F20),0)),
IMPRODUCT(J16,IMSUM(
IMPRODUCT(F17,G18,I19,H20),IMPRODUCT(F17,H18,G19,I20),IMPRODUCT(F17,I18,H19,G20),
IMPRODUCT(G17,F18,H19,I20),IMPRODUCT(G17,H18,I19,F20),IMPRODUCT(G17,I18,F19,H20),
IMPRODUCT(H17,F18,I19,G20),IMPRODUCT(H17,G18,F19,I20),IMPRODUCT(H17,I18,G19,F20),
IMPRODUCT(I17,F18,G19,H20),IMPRODUCT(I17,G18,H19,F20),IMPRODUCT(I17,H18,F19,G20),0)),
0))
)

n16= {=(-1^SUM( (ROW($A$1:$A$10)>COLUMN($A$1:$J$1))*(TRANSPOSE(VALUE(O16:X16))<VALUE(O16:X16))))} (配列数式)

o16= =IF(MID(A15,COLUMN()-COLUMN(A15)-13,1)="a",10,MID(A15,COLUMN()-COLUMN(A15)-13,1))

p16:s16= o16の数式内の4つの「a15」をF4キーで絶対参照にしてからコピペ。その後「$a$15」を「a15」に置換で全て戻す。(たった4セルなのでo16を数式コピペでも良い)

t16= =IF(MID(F15,COLUMN()-COLUMN(F15)-13,1)="a",10,MID(F15,COLUMN()-COLUMN(F15)-13,1))

u16:x16= t16の数式内の4つの「f15」をF4キーで絶対参照にしてからコピペ。その後「$f$15」を「f15」に置換で全て戻す。(たった4セルなのでt16を数式コピペでも良い)

 

 

余談1

 今回は(順列ではなく)組合せの列挙をほぼ手作業でやったができれば自動化してみたいと思う。

 

余談2

 因みに「部分行列・部分行列式」とは1の計算では210*2=420個、2の計算では252*2=504個の行列・行列式全ての事を指している。

 

余談3

 複素数の10x10の行列式の結果についてこの場で検算できないのがもどかしいが、実数で(乱数を駆使)mdeterm関数と同じ結果になっているので正解である可能性はかなり高いと思う。

 

試運転版(数日間は凡ミス等を修正する予定。)

行列式の部分行列式展開

部分行列式(仮)を使って行列式を分割計算してみた。(複素数対応)

 

小行列と小行列式の別視点に関連して
「行列式の余因子展開」という言葉の意味を考えてみる。

 

因子          :行列の要素。
(その因子に関する)小行列 :上記「因子」を含む1行と1列を元行列から除外した行列。
(その因子に関する)小行列式:上記「小行列」の行列式。
余因子         :上記「小行列式」に符号調整を加えたもの。
余因子行列転置前    :全ての「余因子」をそのまま行列の位置に並べたもの。
余因子行列       :上記「余因子行列転置前」を転置した行列。

元行列と余因子行列の積は単位行列*行列式となる。逆に言うと行列の積の仕組みを考えてそうなるように作ったのが余因子行列とも言える。

 

余因子展開で実際にやる作業は
「NxNの行列式を因子(1x1の行列式)とそれに対応する余因子( (N-1)x(N-1)の行列式符号調整)の積の合計に分解(展開)すること」
そしてここでの別視点とは
「NxNの行列式を部分行列式(MxMの行列式)とそれに対応する部分行列式( (N-M)x(N-M)の行列式)の積を符号調整した合計に分解(展開)すること」

 

やってみる前は完全展開形を苦労して因数分解してやっと達成できるかも知れないと思っていたが、実際には一度も因数分解せずに達成できてしまった。ただ表計算ソフトの乱数結果比較だけが頼りなので理論もへったくれもないのだが。もちろん数が大きくなればなるほど難易度は上がってしまう。
元の一つの行列式から見れば(部分的な)展開と言える訳なので名称に「因数分解」という単語が入る余地はない。「余因子展開の別視点」や「余因子展開拡張版」や「広義の余因子展開」の事を行列式の「部分行列式展開」と言えば良いだろうか。

 

部分行列式展開の例 (後で表形式にして綺麗に揃えたい)
4^2(4!=24項):個別(2^2)x(2^2) (24項=2!*2!*6組) まとめ(2+2)^2 3組
5^2(5!=120項):個別(2^2)x(3^2) (120項=2!*3!*10組) まとめ(2+3)^2 5組
6^2(6!=720項):個別(2^2)x(4^2) (720項=2!*4!*15組) まとめ(2+4)^2 7.5組
  :個別(3^2)x(3^2) (720項=3!*3!*20組) まとめ(3+3)^2 10組
  :個別(2^2)x(2^2)x(2^2) (720項=2!*2!*2!*90組) まとめ(2+2+2)^2 15組
7^2(7!=5040項):個別(2^2)x(5^2) (5040項=2!*5!*21組) まとめ(2+5)^2 10.5組
  :個別(3^2)x(4^2) (5040項=3!*4!*35組) まとめ(3+4)^2 17.5組
  :個別(2^2)x(2^2)x(3^2) (5040項=2!*2!*3!*210組) まとめ(2+2+3)^2 (計算上35組になるが未完成)
以下新規ファイルを用意して準備中
8^2(8!=40320項):個別(2^2)x(6^2) (40320項=2!*6!*28組) まとめ(2+6)^2 14組 グーグルドライブのみ
  :個別(3^2)x(5^2) (40320項=3!*5!*56組) まとめ(3+5)^2 28組
  :個別(4^2)x(4^2) (40320項=4!*4!*70組) まとめ(4+4)^2 35組
  :個別(2^2)x(2^2)x(4^2) (40320項=2!*2!*4!*420組) まとめ(2+2+4)^2 70組
  :個別(2^2)x(3^2)x(3^2) (40320項=2!*3!*3!*560組) まとめ(2+3+3)^2 93.3組
  :個別(2^2)x(2^2)x(2^2)x(2^2) (40320項=2!*2!*2!*2!*2520組) まとめ(2+2+2+2)^2 105組
9^2:個別(3^2)x(6^2) まとめ(3+6)^2 グーグルドライブのみ
  :個別(4^2)x(5^2) まとめ(4+5)^2
  :個別(2^2)x(2^2)x(5^2) まとめ(2+2+5)^2
  :個別(2^2)x(3^2)x(4^2) まとめ(2+3+4)^2
  :個別(3^2)x(3^2)x(3^2) まとめ(3+3+3)^2
  :個別(2^2)x(2^2)x(2^2)x(3^2) まとめ(2+2+2+3)^2
10^2:個別(4^2)x(6^2) まとめ(4+6)^2 グーグルドライブのみ
  :個別(5^2)x(5^2) まとめ(5+5)^2
  :個別(2^2)x(2^2)x(6^2) まとめ(2+2+6)^2 グーグルドライブのみ
  :個別(2^2)x(3^2)x(5^2) まとめ(2+3+5)^2
  :個別(3^2)x(3^2)x(4^2) まとめ(3+3+4)^2
  :個別(2^2)x(2^2)x(2^2)x(4^2) まとめ(2+2+2+4)^2
  :個別(2^2)x(2^2)x(3^2)x(3^2) まとめ(2+2+3+3)^2
  :個別(2^2)x(2^2)x(2^2)x(2^2)x(2^2) まとめ(2+2+2+2+2)^2
1x1=1^2は普通の余因子展開なので除外した。たとえば(1+2+2)^2は普通の余因子展開ではないがとにかく1は除外した。
6x6=6^2(グーグルドライブでは7x7=7^2)以上は行列式を求める際に作業セルが必要なので煩雑さ回避で除外した。

 


余談1
 エクセルについては複素数対応の10x10の行列式と余因子行列を作成できた。しかしグーグルドライブとリブレオフィスカルクでは9x9の行列式まではできたが9x9余因子行列の途中で保存失敗や落ちるなどして進めることができなかった。気分を変えて10x10の行列式を作ってみたがそれも途中までしか進めなかった。
今回の行列式の部分行列式展開で10x10の行列式を作れればいいのだが。

 

余談2
 グーグルドライブにて7x7の行列式の作業セルを4個から3個に減らすことに成功した。展開を4因子まででいったんとめた形が効率的っぽい。
グーグルドライブは作業セルが少ないのによく落ちるから「だらしない」と思っていたが、1セルに多くの数式を詰め込めるだけで計算量は膨大なため「だらしない」は言いがかりだと悟ったw

 

余談3

 この「行列式の(余因子展開の)別視点」=「行列式の部分行列式展開」はシグマで表した行列式の定義をちゃんと理解している専門家からすればあたり前のことに見えるかも知れない。

 

 

試運転版(数日間は凡ミス等を修正する予定。)

無伴奏バイオリン・分散和音・個別音符

 バッハの無伴奏バイオリン曲をピアノで弾いてみたくなる時がある。分散和音(アルペジオ)を長い音符&「arpeggio」や長い音符&アルペジオ記号や長い音符のみで書いてある事がある。それを個別の細かい音符で書く事は個人的にはあまり好きではない。けれど前者では弾く時に迷ってしまうのも事実なので後者の楽譜に書き換えてみた。

 

 

 

 

 

www.youtube.com

 

余談1

 今回作ってみた楽譜の名前を「奏法譜」だと思っていた。念のため調べてみたら奏法譜とは主にタブ譜の事であって今回の楽譜については特に名前はないのかも知れない。トレモロやトリル等についても似たようなパターンがあるが今回そっちはスルーした。

 

余談2

 本当はちゃんと三声や四声の声部分けした楽譜に仕上げたかったがそこにこだわると何か月たっても完成しない可能性が高いので最小限にした。musescoreでは長さが違う同時の音符を同じ声部にすることはできないようだ。

 

 

 

無伴奏チェロ・ハ音記号・テノール記号

 バッハの無伴奏チェロ組曲をピアノで弾いてみたくなる時がある。6番以外は普通に読譜できそうだけど6番は元々は5弦の楽器向けの曲らしく高い音も多く、ハ音記号・テノール記号(テノール譜表)で書かれた部分もある。「それがこの曲の標準的な記法なのだから文句を言わず読めるようになれ。」と自分に言いたい気持ちも少しはある。それと同時にやはり見慣れたト音記号かヘ音記号に書き換えた楽譜を作りたい気持ちも以前からあった。

 

 まず単純に元の楽譜のハ音記号をそのままト音記号に置き換えることを考えた。でもハ音記号が気に入らない位置にあったりト音記号にするほどではない場面もあったりなのでこれは却下。

 自分で位置を考えるしかないか。最初は「せめて小節内は同じ音部記号を」とか「せめて同じ拍内は(以下略」とか「加線は3本まで」とか色々考えてみたが守れそうもない。「同度進行はもちろん順次進行も同じ音部記号」や「3度進行以内は同じ音部記号」もただの努力義務程度になりそうだ。

 

 

 

 

 

www.youtube.com

これで草ピアノ生活の快適度がほんの少しだけアップしたと思う。

 

余談1

 大譜表化はスペースの無駄なので却下。でもちょっとだけ見てみたいかも。

 

余談2

 組曲の中の曲は「第x楽章」とは数えないが、数え方を知らなかったのでググってみたら「第x曲」と言うらしい。普段は色々な状況で「第」の字を省略することが多いけれど今回は省略すると意味が通じにくくなりそうだ。

 

ミジンコ並の耳コピ能力?

 絶対音感は周波数を感じ取る力。相対音感は周波数比を感じ取る力。

もちろん周波数と言っても何ヘルツと数字で言えなくても音高が分かれば良いと思う。あとどちらの音感も「有るか無いか」ではなく精度の問題だ。絶対音感で言えば「半音の精度で言い当てるレベル」「オクターブの違いくらいしか分からないレベル」「半音の間隔を10分割されても区別できるレベル」「誤差1ヘルツくらいで分別できるレベル」などが考えられる。

 「音名」は絶対音程と言えるかも。音名と条件(a=440Hzなど)から周波数を求める事ができる。「階名」は相対音程と言えるかも。階名と条件(音律など)から周波数比を求める事ができる。

 「固定ド」は「ドレミ」を音名に使う方法。「移動ド」は「ドレミ」を階名に使う方法。そして自分の脳は移動ドしか理解できない。固定ドを否定したいのではなくただそうなっているだけ。(正誤の問題もあるかもしれないが今は考えない。)

以上が前置き1。自分が耳コピで頼れるのは相対音感の移動ド。しかも臨時記号が出てくると処理速度&能力がガタ落ちする不完全版。

 

 少し前、アメリカvsベネズエラの問題があった頃にyoutubeを見ていたらベネズエラワルツの動画が出てきたのでタイムリーだなぁと思いながら見ていた。ワルツ2はクラシックギターで昔弾いてみた曲だ。人に聞いてもらえるレベルではないけれど、曲の難易度は低めな割に音楽的には豊かで好きな曲だった。ピアノでも弾いてみたいと思った。楽譜付き動画だったので頑張って楽譜ソフトmusescoreに書き写した(ラウロのベネズエラワルツ2と3)。楽譜が手に入った事により草ピアニストとしては名曲を存分に味わえて大成功。

以上が前置き2。楽譜ソフトは結構ありがたい。

 

 youtubeを見ていると演奏難易度が低そうで自分でも弾いてみたい曲もある。でも楽譜も手掛かりもない。とりあえず耳コピ難易度が低くて好きな曲から挑戦だ。

 

移動ド 最小単位八分音符(臨時記号は後置)

(弱起) ソラシドミソ

ラーーーーーーー ーーシドレドシレ ソーーーーーーー ーーラシドシラド

ファーーーーーーー ーーミファソファミレ ミーーーーーーー ーーミーファーソー

ラーーーーーーー ーーソ#ラシラソ#シ ドーーーーーーー ーーラシドシラド

レーーーーーラー シーーーーーシー ドーーーーーーー ーー

主旋律だけは何とか手書きしてみたが内声はギブアップしたくなった。内声と低音は楽譜ソフトmusescoreを頼る事にした。音符をセットする時に音が鳴るし演奏も可能なので耳コピの大きな助けになると分かった。

 

ファミコン版ウィザードリィ1 冒険者の宿(木管三重奏)

 

耳コピ完全成功したのはこの曲が初めてかも知れない。聴いた曲を楽譜にする事自体が音楽鑑賞にもなっている。musescoreには演奏機能だけでなく動画エクスポート機能もあると知ったのでyoutubeに上げてリンクを張ってみた。

www.youtube.com

 

余談1

 前置き1と似たような事をどこかで書いたような気がするがさっぱり忘れてしまった。

 

余談2

 楽譜編集の段階ではその楽器で演奏できない音(音域外の音)は赤い音符で表示される。最初は黒に戻したかったが音域外である事が分かった方が良いと考えを改めて赤いままにした。しかし静止画や動画でエクスポートすると赤い音符は黒くされてしまった。残念。