# How to perform SPQR-tree decomposition in IGraphM?

**URL:** <https://igraph.discourse.group/t/how-to-perform-spqr-tree-decomposition-in-igraphm/2109>\
**Category:** Usage\
**Tags:** Mathematica\
**Created:** [2 May 2025 17:34 UTC](https://igraph.discourse.group/t/how-to-perform-spqr-tree-decomposition-in-igraphm/2109 "2025-05-02T17:34:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![anhnha](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/anhnha/32/1169_2.png) [@anhnha](https://igraph.discourse.group/u/anhnha)\
**Post date:** [2 May 2025 17:34 UTC](https://igraph.discourse.group/t/how-to-perform-spqr-tree-decomposition-in-igraphm/2109/1 "2025-05-02T17:34:10Z")

</div>

I’m trying to perform an [SPQR-tree](https://en.wikipedia.org/wiki/SPQR_tree) decomposition on a given graph using **IGraphM** in Mathematica. However, it seems there is no built-in function for this in the current version.

Is there any workaround or way to achieve this using existing IGraphM functions? Any suggestions or guidance would be appreciated.

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [2 May 2025 17:51 UTC](https://igraph.discourse.group/t/how-to-perform-spqr-tree-decomposition-in-igraphm/2109/2 "2025-05-02T17:51:42Z")

</div>

I don’t have a solution to this.

It would be good to implement SPQR decomposition in the igraph C core. It’s been on my radar for a while, but currently there are many higher priority tasks.

If you’re feeling up for the task, and you’re comfortable with C, you’re welcome to give it a go. But I will likely won’t have the time for review a PR on this for at least two months. There’s a long backlog of PRs to take care of, and this is not a trivial algorithm, thus it requires a significant time investment from the reviewer as well …

---

<div class="post-metadata">

**Author:** ![anhnha](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/anhnha/32/1169_2.png) [@anhnha](https://igraph.discourse.group/u/anhnha)\
**Post date:** [2 May 2025 17:54 UTC](https://igraph.discourse.group/t/how-to-perform-spqr-tree-decomposition-in-igraphm/2109/3 "2025-05-02T17:54:03Z")

</div>

Thank you for the information. I’d like to contribute, but unfortunately, I’m not at that level yet.

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [2 May 2025 17:58 UTC](https://igraph.discourse.group/t/how-to-perform-spqr-tree-decomposition-in-igraphm/2109/4 "2025-05-02T17:58:06Z")

</div>

You are welcome to open a feature request here:

> **[Issues · igraph/igraph](https://github.com/igraph/igraph/issues)**
>
> Library for the analysis of networks. Contribute to igraph/igraph development by creating an account on GitHub.

Please do fill out the form with as much information as you can, and explain your specific use case. While I could open the issue myself, it’s easier for us to prioritize if issues are opened by external people, and we can gauge demand for a feature.
