numpy matrix operations | randn() function

numpy.matlib.randn() is another function for doing matrix operations in numpy. It returns a matrix of random values from a univariate “normal” (Gaussian) distribution of mean 0 and variance 1.

Syntax : numpy.matlib.randn(*args)

Parameters :
*args : [Arguments] Shape of the output matrix. If given as N integers, each integer specifies the size of one dimension. If given as a tuple, this tuple gives the complete shape.If there are more than one argument and the first argument is a tuple then other arguments are ignored.



Return : The matrix of random values drawn from the standard normal distribution.

Code #1 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program explaining
# numpy.matlib.randn() function
  
# importing matrix library from numpy
import numpy as geek
import numpy.matlib
  
# desired 3 x 4 random output matrix 
out_mat = geek.matlib.randn((3, 4)) 
print ("Output matrix : ", out_mat) 

chevron_right


Output :

Output matrix :  [[ 0.78620217  0.41624612 -0.28417131  0.1071018 ]
 [ 0.77645105  0.30858858 -1.98901344  1.25977209]
 [ 0.26279443 -0.41026178 -0.60834494  2.82552737]]

 

Code #2 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program explaining
# numpy.matlib.randn() function
  
# importing numpy and matrix library
import numpy as geek
import numpy.matlib
  
# desired 1 x 5 random output matrix 
out_mat = geek.matlib.randn(5
print ("Output matrix : ", out_mat) 

chevron_right


Output :

Output matrix :  [[ 0.34973625  0.28159132  0.72581405 -1.17511692  1.96773952]]

 

Code #3 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program explaining
# numpy.matlib.randn() function
  
# importing numpy and matrix library
import numpy as geek
import numpy.matlib
  
# more than one argument given
out_mat = geek.matlib.randn((5, 3), 4
print ("Output matrix : ", out_mat) 

chevron_right


Output :

Output matrix :  [[ 0.56784957  0.82980325  1.16683558]
 [-1.53444326 -0.27743273  0.65819067]
 [ 0.99654573 -1.20399432 -0.25603147]
 [ 1.74931585  0.58413453  1.67820029]
 [-1.25643231  0.21610229  0.21694595]]

 
Note: For random samples from N(\mu, \sigma^2) we can use sigma * geek.matlib.randn(...) + mu .
For example, making a 3 x 3 matrix in which samples are taken from N(3, 4):

Code #4 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program explaining
# numpy.matlib.randn() function
  
# importing numpy and matrix library
import numpy as geek
import numpy.matlib
  
# So, here mu = 3, sigma = 2
out_mat = 2 * geek.matlib.randn((3, 3)) + 3
print ("Output matrix : ", out_mat) 

chevron_right


Output :

Output matrix :  [[ 4.04967121  0.26982021  2.3503067 ]
 [ 5.57757131  2.40051874 -0.84588539]
 [ 7.43715651  3.84004412  1.40514615]]


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.