Mathematica 中的约翰逊图
Johnson graphs in Mathematica
我有一个关于在 Mathematica 软件中定义 Johnson 图的问题。我在 Whosebug 中找到了它并且有效:
johnsonmatrix[n_, k_] :=
Module[{s = Select[Subsets[Range[n]], Length[#] == k &]}, {s,
MatrixForm[
Table[If[Length[Intersection[s[[i]], s[[j]]]] == k - 1, 1, 0], {i,
Length[s]}, {j, Length[s]}]]}]
但是我不能使用它的矩阵。我怎么只能有这个roll的邻接矩阵?事实上,我想在 Mathematica 软件中定义 Johnson 图,然后找到这个图的一些属性,比如它的谱。如果有人能帮助我,我将不胜感激。
除非您足够了解其含义,否则大多数时候使用任何 *Form 函数,如 MatrixForm
和 DisplayForm
等等,等等,只是为了转换一些东西可以用来计算一些漂亮的东西,但不能用于任何进一步的计算。
尝试摆脱 MatrixForm
,看看这是否会给您一些想法。
johnsonmatrix[n_,k_]:=Module[{s=Select[Subsets[Range[n]],Length[#]==k&]},
{s,
matrix=Table[If[Length[Intersection[s[[i]],s[[j]]]]==k-1,1,0],{i,Length[s]},{j,Length[s]}],
adjacencygraph=AdjacencyGraph[matrix],
adjacencymatrix=AdjacencyMatrix[adjacencygraph];Normal[adjacencymatrix],
eigenvalues=Eigenvalues[adjacencymatrix],
spectrum=Max@@Abs[eigenvalues]
}]
johnsonmatrix[5,3]
请仔细检查每一个细节,以确保我没有犯错。
我有一个关于在 Mathematica 软件中定义 Johnson 图的问题。我在 Whosebug 中找到了它并且有效:
johnsonmatrix[n_, k_] :=
Module[{s = Select[Subsets[Range[n]], Length[#] == k &]}, {s,
MatrixForm[
Table[If[Length[Intersection[s[[i]], s[[j]]]] == k - 1, 1, 0], {i,
Length[s]}, {j, Length[s]}]]}]
但是我不能使用它的矩阵。我怎么只能有这个roll的邻接矩阵?事实上,我想在 Mathematica 软件中定义 Johnson 图,然后找到这个图的一些属性,比如它的谱。如果有人能帮助我,我将不胜感激。
除非您足够了解其含义,否则大多数时候使用任何 *Form 函数,如 MatrixForm
和 DisplayForm
等等,等等,只是为了转换一些东西可以用来计算一些漂亮的东西,但不能用于任何进一步的计算。
尝试摆脱 MatrixForm
,看看这是否会给您一些想法。
johnsonmatrix[n_,k_]:=Module[{s=Select[Subsets[Range[n]],Length[#]==k&]},
{s,
matrix=Table[If[Length[Intersection[s[[i]],s[[j]]]]==k-1,1,0],{i,Length[s]},{j,Length[s]}],
adjacencygraph=AdjacencyGraph[matrix],
adjacencymatrix=AdjacencyMatrix[adjacencygraph];Normal[adjacencymatrix],
eigenvalues=Eigenvalues[adjacencymatrix],
spectrum=Max@@Abs[eigenvalues]
}]
johnsonmatrix[5,3]
请仔细检查每一个细节,以确保我没有犯错。