了解代数环错误消息
Understanding Algebraic loop error message
当我的程序抛出如下所示的代数环错误时
terminate called after throwing an instance of 'std::runtime_error'
what(): Algebraic loop detected in DiagramBuilder:
A depends on
B depends on
C depends on
D depends on
E
Aborted (core dumped)
是否意味着我有以下循环
A --> B --> C --> D --> E --> A
或者它只是说在 E
处检测到循环(并且 A
到 D
只是一些额外的上下文),即
A --> B --> C --> D --> E --> (any one of A to D)
因为在我的系统中 A
的值绝对不可能受 E
的值影响...
很难知道你的抽象系统名称,但代数环检查逻辑在这里:
如果您在图中的循环依赖是真实的(就像在任何反馈循环中一样),那么您必须确保循环中至少有一个节点不是 "direct feedthrough"。请注意,大多数带有反馈的图通过具有状态的工厂(输出取决于状态,而不是直接取决于输入)来打破代数环。
当我的程序抛出如下所示的代数环错误时
terminate called after throwing an instance of 'std::runtime_error'
what(): Algebraic loop detected in DiagramBuilder:
A depends on
B depends on
C depends on
D depends on
E
Aborted (core dumped)
是否意味着我有以下循环
A --> B --> C --> D --> E --> A
或者它只是说在 E
处检测到循环(并且 A
到 D
只是一些额外的上下文),即
A --> B --> C --> D --> E --> (any one of A to D)
因为在我的系统中 A
的值绝对不可能受 E
的值影响...
很难知道你的抽象系统名称,但代数环检查逻辑在这里:
如果您在图中的循环依赖是真实的(就像在任何反馈循环中一样),那么您必须确保循环中至少有一个节点不是 "direct feedthrough"。请注意,大多数带有反馈的图通过具有状态的工厂(输出取决于状态,而不是直接取决于输入)来打破代数环。