rustworkx:Rust编写的高性能Python图库


Rustworkx 是一个用 Rust 编写的高性能、通用 Python 图库。
这个高性能 Python 库提供了终极的一二连击:

  • 极快的速度:体验 Rust 加速图形算法令人振奋的性能提升。
  • Pythonic Ease:享受熟悉且易于使用的 Python 界面,可无缝集成到您的工作流程中。

是什么让 rustworkx 成为您所需要的图形英雄?
  • 完整图形库:使用丰富的数据结构、算法和生成器库创建、探索和分析图形。
  • 可视化能力:利用内置的可视化功能让您的图表栩栩如生。
  • 量子就绪:针对解决量子计算领域的复杂挑战进行了优化。⚛️

使用 rustworkx 超越平凡!
无论您是数据科学家、机器学习工程师还是量子计算研究人员,这个库都能满足广泛的需求。

用法
安装后,只需导入即可rustworkx。所有图类和顶级函数都可以通过一次导入访问。为了说明这一点,以下示例计算无向图中两个节点之间的最短A路径C。

import rustworkx

Rustworkx's undirected graph type.
graph = rustworkx.PyGraph()

Each time add node is called, it returns a new node index
a = graph.add_node("A")
b = graph.add_node(
"B")
c = graph.add_node(
"C")

add_edges_from takes tuples of node indices and weights,
and returns edge indices
graph.add_edges_from([(a, b, 1.5), (a, c, 5.0), (b, c, 2.5)])

Returns the path A -> B -> C
rustworkx.dijkstra_shortest_paths(graph, a, c, weight_fn=float)

安装 rustworkx
rustworkx 在PyPI上发布,因此在 x86_64、i686、ppc64le、s390x 和 aarch64 Linux 系统、Mac OSX 上的 x86_64 以及 32 位和 64 位 Windows 上安装非常简单,只需运行:

pip install rustworkx

这会将 rustworkx 的预编译版本安装到您​​的 Python 环境中。


项目历史
Rustworkx 最初被称为 retworkx,最初是为了替代Qiskit以前(和现在)使用的 NetworkX(因此得名)。该项目最初是为了构建一个更快的有向图,用作[url=https://github.com/Qiskit/qiskit/]qiskit[/url]转译器中心 DAG 的底层数据结构 。然而,自首次推出以来,该项目已经大幅发展,现在涵盖了所有需要使用图的应用程序,其中包括 Qiskit。