Main Content

laplacian

그래프 라플라시안 행렬(Laplacian Matrix)

설명

L = laplacian(G)는 그래프 라플라시안 행렬(Laplacian Matrix) L을 반환합니다. 각각의 대각선 요소 L(j,j)는 노드 j의 차수인 degree(G,j)로 지정됩니다. L의 비대각선 요소는 G의 간선을 나타냅니다. 즉, 노드 i와 노드 j 사이에 간선이 있을 경우 L(i,j) = L(j,i) = -1이 되고, 그렇지 않을 경우 L(i,j) = L(j,i) = 0이 됩니다. 입력 그래프 G는 다중 그래프이거나 자가 루프를 포함할 수 없으며, 간선 가중치는 무시됩니다.

예제

예제

모두 축소

간선 목록을 사용하여 그래프를 생성한 후 그래프 라플라시안 행렬을 계산합니다.

s = [1 1 1 1 1];
t = [2 3 4 5 6];
G = graph(s,t);
L = laplacian(G)
L = 6x6 sparse double matrix (16 nonzeros)
   (1,1)        5
   (2,1)       -1
   (3,1)       -1
   (4,1)       -1
   (5,1)       -1
   (6,1)       -1
   (1,2)       -1
   (2,2)        1
   (1,3)       -1
   (3,3)        1
   (1,4)       -1
   (4,4)        1
   (1,5)       -1
   (5,5)        1
   (1,6)       -1
   (6,6)        1

L의 대각선 요소는 노드의 차수를 나타냅니다. 즉, L(j,j)는 노드 j의 차수입니다.

그래프 결합 행렬(Incidence Matrix) I를 계산하고 관계 L = I*I'를 확인합니다.

I = incidence(G);
L - I*I'
ans = 6x6 sparse double matrix
   All zero

입력 인수

모두 축소

입력 그래프로, graph 객체로 지정됩니다. graph를 사용하면 무방향 graph 객체를 생성할 수 있습니다.

예: G = graph(1,2)

출력 인수

모두 축소

라플라시안 행렬입니다. Lnumnodes(G)×numnodes(G) 크기의 정사각 대칭 희소 행렬입니다. 자가 루프를 갖는 그래프에 대해서는 그래프 라플라시안 행렬이 정의되어 있지 않습니다.

확장 기능

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2015b에 개발됨

참고 항목

| |