How to create a constant matrix in Python with NumPy? (original) (raw)

Last Updated : 17 Dec, 2020

A matrix represents a collection of numbers arranged in the order of rows and columns. It is necessary to enclose the elements of a matrix in parentheses or brackets. A constant matrix is a type of matrix whose elements are the same i.e. the element does not change irrespective of any index value thus acting as a constant.

Examples:

M =[[ x, x, x ]

[ x ,x ,x]

[ x, x, x]]

Here M is the constant matrix and x is the constant element.

Below are some examples of Constant Matrix:

A = [[ 5 , 5]

[ 5, 5]]

B = [[ 12, 12, 12, 12, 12, 12]]

There are various methods in numpy module, which can be used to create a constant matrix such as numpy.full(), numpy.ones(), and numpy.zeroes().

Using numpy.full() method

Syntax:

numpy.full(shape, fill_value, dtype = None, order = ‘C’)

Parameters:

Returns: ndarray of a given constant having given shape, order and datatype.

Example 1:

Here, we will create a constant matrix of size (2,2) (rows = 2, column = 2) with a constant value of 6.3

Python3

import numpy as np

array = np.full(( 2 , 2 ), 6.3 )

print (array)

Output:

[[6.3 6.3] [6.3 6.3]]

Example 2:

A similar example to the one showed above

Python3

import numpy as np

array = np.full(( 4 , 3 ), 60 )

print (array)

Output:

[[60 60 60] [60 60 60] [60 60 60] [60 60 60]]

Using numpy.ones() method

Syntax:

numpy.ones(shape, dtype = None, order = ‘C’)

Parameters:

Returns: ndarray of ones having given shape, order and datatype.

Example 1:

Now, suppose we want to print a matrix consisting of only ones(1s).

Python3

import numpy as np

array = np.ones(( 2 , 2 ))

print (array)

Output:

[[1. 1.] [1. 1.]]

Here by-default, the data type is float, hence all the numbers are written as 1. An alteration, to the above code. Now, we want the data type to be of an integer.

Python3

import numpy as np

array = np.ones(( 2 , 2 ), dtype = np.uint8)

print (array)

Output:

[[1 1] [1 1]]

Notice the change in the last two outputs, one of them shows, 1. And the other is showing 1 only, which means we converted the data type to integer in the second one. uint8 stands for an unsigned 8-bit integer which can represent values ranging from 0 to 255.

Example 2:

Here we create a one-dimensional matrix of only 1s.

Python3

import numpy as np

array = np.ones(( 5 ), dtype = np.uint8)

print (array)

Output:

[1 1 1 1 1]

Using numpy.zeroes() method

Syntax:

numpy.zeros(shape, dtype = None, order = ‘C’)

Parameters:

Returns: ndarray of zeros having given shape, order and datatype.

Example 1:

Now that we made a matrix of ones, let’s make one for zeroes.

Python3

import numpy as np

array = np.zeros(( 2 , 2 ))

print (array)

Output:

[[0. 0.] [0. 0.]]

To change it to an integer type,

Python3

import numpy as np

array = np.zeros(( 2 , 2 ), dtype = np.uint8)

print (array)

Output:

[[0 0] [0 0]]

Example 2:

Here is another example to create a constant one-dimensional matrix of zeroes.

Python3

import numpy as np

array = np.zeros(( 5 ), dtype = np.uint8)

print (array)

Output:

[0 0 0 0 0]