# Generating a graph from .mat file

The .mat file contains the adjacency matrix of a graph. How can I generate the underlying graph of this matrix in Jupyter?

Generating a graph from .mat file

2

I had a look on the web, and it seems that you are speaking about `.mat`

matrices provided by matlab. So, `scipy`

, which is shipped with Sage already has a tool to read `.mat`

files:

```
sage: from scipy.io import loadmat
sage: M = loadmat('<path_to_your_file.mat>')
```

As you can see, the object M is a dictionary:

```
sage: M
```

What is of interest for us is the `a`

field:

```
sage: M['a']
array([[[ 1., 4., 7., 10.],
[ 2., 5., 8., 11.],
[ 3., 6., 9., 12.]]])
```

Which is an aray with a single entry that is the array we want:

```
sage: M['a'][0]
array([[ 1., 4., 7., 10.],
[ 2., 5., 8., 11.],
[ 3., 6., 9., 12.]])
```

This can then be transformed into a Sage matrix:

```
sage: m = matrix(RDF,M['a'][0])
sage: m
[ 1.0 4.0 7.0 10.0]
[ 2.0 5.0 8.0 11.0]
[ 3.0 6.0 9.0 12.0]
sage: m.parent()
Full MatrixSpace of 3 by 4 dense matrices over Real Double Field
```

If your matrix is the adjacency matrix of a graph, it should be square and symmetric, in which case you can recover the graph with:

```
sage: G = Graph(m)
```

Please start posting anonymously - your entry will be published after you log in or create a new account.

Asked: ** 2018-07-20 05:56:52 +0200 **

Seen: **251 times**

Last updated: **Jul 20 '18**

Make ipython notebook world-viewable?

Failed to start -- unable to connect to remote server

jupyter (ipython notebook) kernel math display

Launch Jupyter notebook from Sage?

Sage on Jupyter with ipywidgets, matplotlib

Jupyter doesn't use the built-in MathJax

Automatic typesetting in Jupyter

Integrate SAGE Jupyter Notebook in Anaconda Python Distribution

What is the format of the

`.mat`

file ? It it a text file ? Could you please provide a concrete example ?The documentation for "mat-files" would seem to be: