Re: [問題]要如何將行列式使用拉普拉斯展開?
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間12年前 (2012/12/14 20:19)推噓4(4推 0噓 9→)留言13則, 1人參與討論串3/5 (看更多)
※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言:
: 標題: Re: [問題]要如何將行列式使用拉普拉斯展開?
: 時間: Wed Dec 12 00:22:53 2012
:
: ※ 引述《candy88257 (阿泰斯)》之銘言:
: : 在此說的拉普拉斯是指: http://tinyurl.com/bhhlt4q
: : 上面網址是維基百科
: : 有辦法做到這點嗎?
: : 想把10幾階的矩陣使用拉普拉斯展開,不想用Det算
: : 因為用Det怪怪的,行列式值會有分母....,明明所有數值都沒分數的說...
: : 求高手幫忙!! 感謝!!!
:
: temp=12;
: A:=N@Table[Sin[m+2n]+Cos[m+2n]z,{m,1,temp},{n,1,temp}];
:
: myminors[mymatrix_?MatrixQ,i_,j_]:=Block[{dim},
: dim=Length@mymatrix;
: mymatrix[[All,Drop[Range[dim],{j}]]][[Drop[Range[dim],{i}]]]]
:
: mydet[mymatrix_?MatrixQ]:=
: Total[Table[Det@myminors[mymatrix,1,i]*mymatrix[[1,i]]*If[OddQ[i],1,-1],
: {i,Length@A}]]
:
: {temp=#;Det[A/.z->1]-mydet[A/.z->1]}&/@Range[2,12]
:
: mydet[A]//Simplify
:
: 推 AmibaGelos:您好,這樣做的話似乎只能用在12的情況?更高階便必須做 12/13 09:18
: → AmibaGelos:更多的展開@@...共會有n!/11!項ORZ 12/13 09:20
: → chungyuandye:是的,更高階的話要將每個minor繼續分解 12/13 10:37
(* Laplace expansion *)
temp1=15;
A=N@Table[Tan[m+2n]+Cot[m+2n]z,{m,1,temp1},{n,1,temp1}];
myminors[mymatrix_?MatrixQ]:=Block[{dim},
dim=Length@mymatrix;
{If[OddQ[#],1,-1]*mymatrix[[1,#]],
mymatrix[[All,Drop[Range[dim],{#}]]][[2;;-1]]}&/@
Range[dim]
];
dist[list1_,list2_List]:=Insert[#,list1,1]&/@list2
(* 降階到11x11的minor後代Mathematica的Det *)
anstemp1=
Nest[Flatten[ParallelMap[dist[#[[1;;-2]],myminors[#[[-1]]]]&,#],1]&,
myminors[A],temp1-12];
ans=Total[ParallelTable[
Times@@Flatten[anstemp1[[i]][[1;;-2]]]*
Det[anstemp1[[i]][[-1]]],{i,Length@anstemp1}]
Det[A/.z->1]-ans/.z->1
上面的程式在anstemp1所產生的項數共15*14*13*12=32760,所以顯然是很沒效率。
但如果就上述的矩陣改以下列方式計算,那速度快很多。
temp=15;
AA=Table[Tan[m+2n]//N,{m,1,temp},{n,1,temp}];
BB=Table[Cot[m+2n]//N,{m,1,temp},{n,1,temp}];
A=Table[Tan[m+2n]+Cot[m+2n]z//N,{m,1,temp},{n,1,temp}];
ans1=AbsoluteTiming[Det[AA]*Det[(IdentityMatrix[temp]+z*Inverse[AA].BB)]]
ans2=AbsoluteTiming@Det[AA+z*BB]
ans3=AbsoluteTiming@Det[A]
{ans1[[2]]/.z->#,ans2[[2]]/.z->#,ans3[[2]]/.z->#}&/@Range[0.1,1,0.1]
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.140.113
→
12/15 19:42, , 1F
12/15 19:42, 1F
推
12/20 11:57, , 2F
12/20 11:57, 2F
→
12/20 11:58, , 3F
12/20 11:58, 3F
→
12/20 11:59, , 4F
12/20 11:59, 4F
→
12/20 12:02, , 5F
12/20 12:02, 5F
→
12/20 12:02, , 6F
12/20 12:02, 6F
推
12/20 13:41, , 7F
12/20 13:41, 7F
→
12/20 13:42, , 8F
12/20 13:42, 8F
→
12/20 13:42, , 9F
12/20 13:42, 9F
→
12/20 13:43, , 10F
12/20 13:43, 10F
推
12/21 13:56, , 11F
12/21 13:56, 11F
推
12/21 14:35, , 12F
12/21 14:35, 12F
→
12/21 14:35, , 13F
12/21 14:35, 13F
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章