Normalized laplacian of weighted graphs

Hi,

Is there anyway to calculate normalized laplacian for a weighted graph?

See below for an example graph created with
SimpleWeightedGraphs (https://github.com/JuliaGraphs/SimpleWeightedGraphs.jl)

When I call NormalizedLaplacian, I get the following error.
Thanks for suggestions.

julia> g.weights
3×3 SparseArrays.SparseMatrixCSC{Float64,Int64} with 6 stored entries:
[2, 1] = 0.5
[3, 1] = 2.0
[1, 2] = 0.5
[3, 2] = 0.8
[1, 3] = 2.0
[2, 3] = 0.8

julia> LightGraphs.LinAlg.CombinatorialAdjacency(adjacency_matrix(g))
LightGraphs.LinAlg.CombinatorialAdjacency{Float64,SparseArrays.SparseMatrixCSC{Float64,Int64},Array{Float64,1}}(
[2, 1] = 0.5
[3, 1] = 2.0
[1, 2] = 0.5
[3, 2] = 0.8
[1, 3] = 2.0
[2, 3] = 0.8, [2.5, 1.3, 2.8])

julia> LightGraphs.LinAlg.NormalizedLaplacian(g)
ERROR: MethodError: no method matching LightGraphs.LinAlg.NormalizedLaplacian(::SimpleWeightedGraph{Int64,Float64})
Closest candidates are:
LightGraphs.LinAlg.NormalizedLaplacian(::LightGraphs.LinAlg.NormalizedAdjacency{T}) where T at /Users/nima/.julia/packages/LightGraphs/siFgP/src/linalg/graphmatrices.jl:144
Stacktrace:
[1] top-level scope at none:0

To elaborate further, there are number of spectral calculations that one can do on a (weighted) graph. Are there equivalent to the spectral methods in networkx?
https://networkx.github.io/documentation/stable/reference/linalg.html

I can run networkx using pyimport but was wondering if there are julia-only solutions?

1 Like