# 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)
```

Asked: **
2018-07-19 22:56:52 -0500
**

Seen: **122 times**

Last updated: **Jul 20 '18**

jupyter notebook multi users ?

How to open jupyter in virtualbox from shared folder?

best way to convert many notebooks from sagenb to jupyter?

From Jupyter to one cell server

Failed to start -- unable to connect to remote server

same-origin errors for SageMath tutorial inside Jupyterlab

How to obtain high quality plots in the Jupyter notebook?

how to render html or latex tables in jupyter notebook?

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

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: