# How to apply a logarithm to a matrix with numpy in python ?

Examples of how to apply a logarithm to a matrix with numpy in python :

### Using the numpy function log()

To apply a logarithm to a matrix, a solution is to use numpy.log, illustration:

````import numpy as np`
`import math`

`A = np.array((math.e))`

`print(A)`

`A = np.log(A)`

`print(A)`
```

returns respectively:

````2.718281828459045`
```

and

````1.0`
```

Another example:

````A = np.arange(1.0,10.0,1.0)`

`A = np.log(A)`
```

returns

````[1. 2. 3. 4. 5. 6. 7. 8. 9.]`
```

and

````[0.         0.69314718 1.09861229 1.38629436 1.60943791 1.79175947`
```

1.94591015 2.07944154 2.19722458]

### Plot a figure using a logarithm scale with matplotlilb

Note: To plot a figure using a logarithm scale with matplotlilb , a solution is to use ax.set_yscale('log'), example:

````from pylab import figure, cm`

`import matplotlib.pyplot as plt`

`x = np.arange(0.0,10.0,0.1)`

`y = np.exp(x)`

`fig = figure(num=None, figsize=(12, 10), dpi=80, facecolor='w', edgecolor='k')`

`plt.plot(x,y)`

`plt.grid(True,which="both", linestyle='--')`

`plt.savefig("log_fig_01.png", bbox_inches='tight')`

`plt.show()`
```

````fig = figure(num=None, figsize=(12, 10), dpi=80, facecolor='w', edgecolor='k')`

`ax = fig.add_subplot(1, 1, 1)`

`plt.plot(x,y)`

`ax.set_yscale('log')`

`plt.grid(True,which="both", linestyle='--')`

`plt.savefig("log_fig_02.png", bbox_inches='tight')`

`plt.show()`
```

Image

of