小编EDW*_*yte的帖子

二分图的所有可能的最大匹配

我正在使用networkx找到二分图的最大基数匹配.

匹配的边缘对于特定图形不是唯一的.

有没有办法找到所有最大匹配?

对于以下示例,下面的所有边可以是最大匹配:

{1: 2, 2: 1}{1: 3, 3: 1}{1: 4, 4: 1}

import networkx as nx
import matplotlib.pyplot as plt

G = nx.MultiDiGraph()
edges = [(1,3), (1,4), (1,2)]

nx.is_bipartite(G)
True

nx.draw(G, with_labels=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

二分图

不幸,

nx.bipartite.maximum_matching(G)
Run Code Online (Sandbox Code Playgroud)

只返回

{1: 2, 2: 1}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以获得其他组合?

python graph-theory networkx

8
推荐指数
2
解决办法
2238
查看次数

检查一个特定变量集的方程是否是线性的

我有一个自动生成方程的脚本.

使用交感符号构造方程.

我想知道这些是否是一种检查方程在某些变量方面是否是线性的方法.

例如.

a, b, c, d = sympy.symbols('a, b, c, d')

eq1 = c*b*a + b*a + a + c*d
Run Code Online (Sandbox Code Playgroud)

检查以下内容:就eq1线性而言a,是d

True
Run Code Online (Sandbox Code Playgroud)

python math sympy

6
推荐指数
1
解决办法
825
查看次数

监视从windows中的shell命令创建的子进程

我正在使用打开一个程序 subprocess.Popen

import subprocess

prog = subprocess.Popen(['myprog', args], shell=True)

我想监视进程'myprog'并等待它直到我的代码继续之前它终止.

我面临的问题是prog.pidshell的PID而不是'myprog',我不知道如何获得'myprog'的PID.我试图用来psutil找到子进程prog.pid:

parent = psutil.Process(prog.pid)
children = parent.children(recursive=True)

但是返回一个空列表.

不幸的是,如果没有shell,我无法启动'myprog'.当我运行该命令时,shell=False我收到以下错误消息: FileNotFoundError: [WinError 2] The system cannot find the file specified

我搜索网络的高低,但所有有前途的线索都是针对非Windows用户的.

python windows shell subprocess

5
推荐指数
1
解决办法
421
查看次数

将附加参数传递给 scipy.optimize.root 中的雅可比矩阵

我正在求解大型方程组,但可以使用雅可比矩阵。

我决定使用 scipy.optimize.root (接受其他建议),在这里我可以将雅可比作为额外的可调用对象传递。唯一的问题是我的雅可比包含额外的常量,例如。

对于本例,需要求解 y、z,k 是一个常数

import scipy.optimize

def fun(x, k):
    [y, z]= x

    return [k*y**2 + z**2 - 25, k*z*y ]

def jacobian(x, k):
    [y, z] = x

    j = [[2*k*y, 2*z],
         [  k*z, k*y]]

    return j

solution = scipy.optimize.root(fun, [x1, x2], jaco=(jacobian, value_for_k))
Run Code Online (Sandbox Code Playgroud)

scipy python-3.x

0
推荐指数
1
解决办法
3157
查看次数

标签 统计

python ×3

graph-theory ×1

math ×1

networkx ×1

python-3.x ×1

scipy ×1

shell ×1

subprocess ×1

sympy ×1

windows ×1