NumPy: numpy.bmat() function
numpy.bmat() function
The numpy.bmat() function is used to create a matrix from a string, nested sequence, or array representation of the matrix. The string representation is given as a nested list of matrices, where each element of the list represents a row of matrices and each matrix in a row is horizontally concatenated. The resulting matrix is the vertical concatenation of these rows of matrices.
Syntax:
numpy.bmat(obj, ldict=None, gdict=None)
Parameters:
Name | Discription | Required / Optional |
---|---|---|
obj | Input data. If a string, variables in the current scope may be referenced by name. | Required |
ldict | A dictionary that replaces local operands in current frame. Ignored if obj is not a string or gdict is None. | Optional |
gdict | A dictionary that replaces global operands in current frame. Ignored if obj is not a string. | Optional |
Return value:
matrix - Returns a matrix object, which is a specialized 2-D array.
All the following expressions construct the same block matrix:
Example: Concatenating Matrices Horizontally and Vertically using bmat() in NumPy
>>> import numpy as np
>>> P = np.mat('3 3; 4 4')
>>> Q = np.mat('5 5; 5 5')
>>> R = np.mat('3 4; 5 8')
>>> S = np.mat('6 7; 8 9')
>>> np.bmat([[P,Q], [R, S]])
matrix([[3, 3, 5, 5],
[4, 4, 5, 5],
[3, 4, 6, 7],
[5, 8, 8, 9]])
In the above code the matrices P, Q, R, and S are defined using the np.mat() function, which creates a matrix from a string representation. Then, the np.bmat() function is used to concatenate these four matrices into a larger block matrix. The np.bmat() function takes a 2D list of matrices as its argument. In this case, the list is constructed using the square brackets notation and contains two rows and two columns of matrices.
Pictorial Presentation:
Example: Combining matrices using np.bmat()
>>> import numpy as np
>>> P = np.mat('3 3; 4 4')
>>> Q = np.mat('5 5; 5 5')
>>> R = np.mat('3 4; 5 8')
>>> S = np.mat('6 7; 8 9')
>>> np.bmat(np.r_[np.c_[P, Q], np.c_[R, S]])
matrix([[3, 3, 5, 5],
[4, 4, 5, 5],
[3, 4, 6, 7],
[5, 8, 8, 9]])
>>> np.bmat('P, Q; R, S')
matrix([[3, 3, 5, 5],
[4, 4, 5, 5],
[3, 4, 6, 7],
[5, 8, 8, 9]])
The above code demonstrates how to combine multiple matrices into a single matrix using the np.bmat() function in NumPy. First, four matrices P, Q, R, and S are defined using the np.mat() function. Then, the np.bmat() function is used in two different ways to create a single matrix from these four matrices.
Pictorial Presentation:
Python - NumPy Code Editor:
Previous: mat()
Next: NumPy Array manipulation Home
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics