RandomChoice
按权重随机采样。
保存到文件
Export["result.txt", result, "Text"]
result = Table[wignerAngle[m, n], {m, 1, 5}, {n, 1, 5}];
Export["result.csv", result]
result = wignerAngle[3, 2]; (* 假设这是你的计算结果 *)
Export["result.json", result, "JSON"]
NotebookSave["notebook.nb"]
DumpSave["result.mx", result]
Get["result.mx"]
缓存
cachedResult = wignerAngle[3, 2]; (* 计算一次并缓存结果 *)
(* 以后可以直接使用cachedResult *)
wignerAngle[m_, n_] := wignerAngle[m, n] = (-1)^(m + n)/\\[Pi] Sqrt[m! n!]
Sum[(-1)^k 2^(k - (m + n)/2 - 1) Gamma[k - (m + n)/2 + 1]/((m + n + k)! (k - m)! (k - n)!),
{k, Max[m, n], m + n, 1}]
CPU并行
Needs["Parallel`"]
M = 5; (* 设定M值 *)
N = 5; (* 设定N值 *)
(* 并行计算wignerAngle的M*N矩阵 *)
wignerMatrix = ParallelTable[wignerAngle[m, n], {m, 0, M}, {n, 0, N}];
(* 保存矩阵到文件 *)
Export["wignerMatrix.csv", wignerMatrix]
CloseKernels[]; 清除所有内核
SetSystemOptions["ParallelOptions" -> "SetSharedMemory" -> True];
LaunchKernels[8]; (* 启动8个并行核心 *)
DistributeDefinitions[wignerAngle];