使用 Graphs.jl 在 Julia 中创建简单的图形对象

2024-03-04

我开始研究图论(我计划将其用于机器学习和/或贝叶斯推理)。我想在 Julia 中编码,并找到了包Graphs http://julia.readthedocs.org/en/latest/packages/packagelist/#graphs-graphs-build。但是我如何使用这个包来创建简单的图表呢?例如,这个:

如果我了解如何创建一个代表此图的 Julia 对象,这将非常有用Graphs。它的文档缺乏示例,所以我无法开始。


Julia's Graphs package http://julia.readthedocs.org/en/latest/packages/packagelist/#graphs-graphs-build has simple_graph http://graphsjl-docs.readthedocs.org/en/latest/graphs.html#simple_graph用于创建此类小图的界面。要手动创建上述图表,以下代码就足够了。

using Graphs

g = simple_graph(4, is_directed=true) # simple_graph(number_of_vertices, is_directed=true|false)
add_edge!(g, 1, 2)
add_edge!(g, 1, 4)
add_edge!(g, 2, 4)
add_edge!(g, 3, 1)
add_edge!(g, 3, 2)
add_edge!(g, 4, 3)

使用手册中算法的简短示例。

test_cyclic_by_dfs(g)

这是一个基本情节。

julia> plot(g)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Graphs.jl 在 Julia 中创建简单的图形对象 的相关文章

  • 如何加快 Julia 脚本的启动时间

    我编写了一个脚本来在 Julia 中绘制每日数据 但我发现它运行缓慢 似乎没有理想的方法来加速它 例如 foo jl bin bash exec julia O0 compile min BASH SOURCE 0 using Unicod
  • 在 Julia 中迭代具有不同数量参数的不同函数

    我正在尝试使用不同数量的参数对不同的函数运行循环 变量是在运行时在循环内创建的 我想在每次迭代时使用 eval 来使用变量 symbol 实例化一个 Struct 但是 我不能这样做 因为 eval 只在全局范围内有效 这是有效案例的 MW
  • 如何让 Rosenbrock23 在 ParameterizedFunctions.jl DSL 中使用 ODE?

    进一步这个问题 https stackoverflow com questions 54422068 how to fix typeerror in setindex in differentialequations jl 54423008
  • 用 Python 表示网络

    我有一个顶点 例如dic a 0 b 1 c 2 d 3 e 4 f 5 n 6 m 7 g 8 我有两列如下代表顶点之间的关系 a a b d e f c f n f m g 我想通过一条边将第一列中的每个顶点与第二列中的相应顶点关联起来
  • Julia:生成唯一的随机整数数组

    我正在尝试创建 10 个唯一随机整数的元素数组 但是我无法创建具有唯一值的数组 Julia 中是否有类似 Python 的东西样本函数 https docs python org 2 library random html random s
  • 使用 apriori 算法进行推荐

    So a 最近的问题 https stackoverflow com questions 1248373 apriori algorithm让我意识到相当酷先验算法 http en wikipedia org wiki Apriori al
  • 如何更改julia(1.8.5)默认安装包的位置?

    如何更改julia 1 8 5 默认安装包的位置 我不想把包安装到c盘 因为pwd 和homedir 都默认到c盘 如何修改 我想每次都像安装python包一样打开Julia 有固定的安装路径 例如user Base User site 我
  • 离散连续概率分布

    认识到这可能是一个统计问题和编码问题 假设我使用 Distributions jl 创建了一个正态分布 using Distributions mydist Normal 0 0 2 有没有一种好的 直接的方法可以离散化这样的分布以获得 P
  • 埃拉托斯特尼筛法速度比较:Python 与 Julia

    所以我有一个用 Python 和 Julia 编写的 Eratosthenes 函数的小筛子 并且我正在比较运行时间 这是Python代码 import time def get primes n numbers set range n 1
  • Julia 中的指针解引用(unsafe_load(ptr) 有效,但 unsafe_wrap(Array, ptr, 1) 段错误)

    我正在尝试取消引用指针unsafe load and unsafe wrap 我发现unsafe load不过效果很好unsafe wrap如果取消引用指向可变结构的指针 则会崩溃 玩具示例 mutable struct Wrapper d
  • 在 Julia 中提取参数类型

    假设我在 Julia 中编写了一个函数 它接受Dict K V 作为参数 然后创建类型的数组Array K 1 and Array V 1 我怎样才能提取类型K and V来自 Dict 对象 以便我可以使用它们来创建数组 斯文和约翰的答案
  • DAG 中两个节点之间的路径数

    我想找到 DAG 中两个节点之间的路径数 O V 2 和 O V E 是可以接受的 O V E 提醒我以某种方式使用 BFS 或 DFS 但我不知道如何使用 有人可以帮忙吗 对 DAG 进行拓扑排序 然后从目标向后扫描顶点到源 对于每个顶点
  • @distributed 似乎有效,函数返回很不稳定

    我正在学习如何在 Julia 中进行并行计算 我在用着 sync distributed在 3x 嵌套的开始处for循环并行化事物 参见底部的代码 从线路上看println errCmp row col 我可以观察数组的所有元素errCmp
  • 求矩阵 (n x n) 的最小总和,在每一行和每一列中只选择一个

    这是与动态规划相关的另一个算法问题 问题是这样的 找到给定矩阵的最小总和 以便在每一行和每一列中选择一个 例如 3 4 2 8 9 1 7 9 5 最小的一个 4 1 7 我认为解决方案是网络流量 最大流量 最小切割 但我认为它不应该那么难
  • 如何在一张图中显示多个相邻的图像?

    我正在使用 Julia PyPlot 和 Images 来处理一些图片 因为显示几十个图是不可能的 所以我想堆叠图像 如下所示 我有图像数据Array Array Float64 2 1 已经正常化了 以下代码仅显示最后一个最小的图像 该数
  • 如何在 Julia `DataFrame` 中折叠具有重复时间戳的数据

    我有一个DataFrame对象如下所示 Row timestamp price volume 1 2011 08 14T14 14 40 10 40 0 779 2 2011 08 14T15 15 17 10 40 0 101 3 201
  • 并行模拟写入同一文件

    我的目标是在集群上并行运行 10 000 个左右的 Julia 编码模拟 每个模拟独立于所有其他模拟 每个模拟都有一个要输出的数字 以及有关哪个模拟产生该数字的 3 列信息 因此 强制每个模拟打印在单独的文件上对我来说听起来有点愚蠢 我可以
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 如何在 Julia 中进行两个变量数值积分?

    我可以使用 Julia 在 Julia 中进行单变量数值积分quadgk 一些简单的例子 julia gt f x cos x f generic function with 1 method julia gt quadgk f 0 pi
  • 在 Julia 中解压缩元组数组

    假设我有一个元组数组 arr 1 2 3 4 5 6 使用 python 我可以做zip arr 1 3 5 2 4 6 朱莉娅中与此等效的是什么 作为 splatting 的替代方案 因为这非常慢 您可以执行以下操作 unzip a ma

随机推荐