NumPy Librería de matrices (Matrix)
NumPy incluye una librería de matricesnumpy.matlib, las funciones de este módulo devuelven una matriz, no un objeto ndarray.
numpy.matlibEstá dedicado a crear y manipular objetos de matriz (matrix). Aunque el núcleo de NumPy admite arreglos multidimensionales (ndarray), numpy.matlib proporciona funciones convenientes que devuelven específicamente el tipo de matriz, lo que facilita a los usuarios operaciones tradicionales de álgebra lineal.
Unamatriz es un arreglo formado por
filas (row)
columnas (column) de elementos ordenados en un arreglo rectangular.
Los elementos de una matriz pueden ser números, símbolos o expresiones matemáticas. A continuación se muestra una matriz de 2 filas y 3 columnas compuesta por 6 elementos numéricos:
Matriz transpuesta
En NumPy, además de usar la función numpy.transpose para intercambiar las dimensiones de un arreglo, también se puede usarTatributo.
Por ejemplo, si se tiene una matriz de m filas y n columnas, usando la función t() se puede convertir en una matriz de n filas y m columnas.

Ejemplo
El resultado de salida es el siguiente:
原数组: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] 转置数组: [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]
matlib.empty()
La función matlib.empty() devuelve una nueva matriz. El formato de sintaxis es:
numpy.matlib.empty(shape, dtype, order)
Descripción de parámetros:
- shape: entero o tupla de enteros que define la forma de la nueva matriz
- Dtype: opcional, tipo de dato
- order: C (prioridad de filas) o F (prioridad de columnas)
Ejemplo
El resultado de salida es:
[[-1.49166815e-154 -1.49166815e-154] [ 2.17371491e-313 2.52720790e-212]]
numpy.matlib.zeros()
La función numpy.matlib.zeros() crea una matriz llena de ceros.
Ejemplo
El resultado de salida es:
[[0. 0.] [0. 0.]]
numpy.matlib.ones()
La función numpy.matlib.ones() crea una matriz llena de unos.
Ejemplo
El resultado de salida es:
[[1. 1.] [1. 1.]]
numpy.matlib.eye()
La función numpy.matlib.eye() devuelve una matriz con elementos en la diagonal iguales a 1 y ceros en las demás posiciones.
numpy.matlib.eye(n, M,k, dtype)
Descripción de parámetros:
- n: número de filas de la matriz devuelta
- M: número de columnas de la matriz devuelta, por defecto n
- k: índice de la diagonal
- dtype: tipo de dato
Ejemplo
El resultado de salida es:
[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]
numpy.matlib.identity()
La función numpy.matlib.identity() devuelve una matriz identidad del tamaño dado.
Una matriz identidad es una matriz cuadrada en la que los elementos de la diagonal desde la esquina superior izquierda hasta la esquina inferior derecha (llamada diagonal principal) son todos 1, y todos los demás son 0.

Ejemplo
El resultado de salida es:
[[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]]
numpy.matlib.rand()
La función numpy.matlib.rand() crea una matriz de tamaño dado, con datos rellenados aleatoriamente.
Ejemplo
El resultado de salida es:
[[0.23966718 0.16147628 0.14162 ] [0.28379085 0.59934741 0.62985825] [0.99527238 0.11137883 0.41105367]]
Las matrices son siempre bidimensionales, mientras que ndarray es un arreglo de n dimensiones. Ambos objetos son intercambiables.
Ejemplo
El resultado de salida es:
[[1 2] [3 4]]
Ejemplo
El resultado de salida es:
[[1 2] [3 4]]
Ejemplo
El resultado de salida es:
[[1 2] [3 4]]
Las siguientes funciones también existen en el espacio de nombres de NumPy, pero devuelven objetos de matriz.
| Nombre de la función | Descripción de parámetros | Descripción |
|---|---|---|
| matrix(data[, dtype, copy]) | data: similar a un arreglo o cadena, dtype: tipo de dato, copy: si copiar | Crea un objeto de matriz a partir de un arreglo o cadena. |
| asmatrix(data[, dtype]) | data: datos de entrada, dtype: tipo de dato (opcional) | Convierte la entrada en un objeto de matriz. |
| bmat(obj[, ldict, gdict]) | obj: cadena o secuencia anidada, ldict, gdict: diccionarios de espacio de nombres (opcional) | Construye una matriz a partir de una cadena, secuencia anidada o arreglo. |
| empty(shape[, dtype, order]) | shape: forma, dtype: tipo de dato, order: orden de almacenamiento | Crea una matriz con elementos sin inicializar. |
| zeros(shape[, dtype, order]) | shape: forma, dtype: tipo de dato, order: orden de almacenamiento | Crea una matriz de todos ceros. |
| ones(shape[, dtype, order]) | shape: forma, dtype: tipo de dato, order: orden de almacenamiento | Crea una matriz de todos unos. |
| eye(n[, M, k, dtype, order]) | n: número de filas, M: número de columnas, k: desplazamiento de la diagonal, dtype: tipo de dato, order: orden de almacenamiento | Crea una matriz con unos en la diagonal y ceros en el resto. |
| identity(n[, dtype]) | n: tamaño, dtype: tipo de dato (opcional) | Crea una matriz cuadrada identidad. |
| repmat(a, m, n) | a: arreglo o matriz, m, n: número de repeticiones | Repite el arreglo o la matriz m filas y n columnas. |
| rand(args) | args: especifica la forma de la matriz | Genera una matriz aleatoria de distribución uniforme con la forma especificada. |
| randn(args) | args: especifica la forma de la matriz | Genera una matriz aleatoria de distribución normal estándar con la forma especificada. |
Notas
- Aunque
numpy.matlibes conveniente, pero NumPy recomienda oficialmente usarndarrayy@operadores para realizar operaciones con matrices, porquematrixel tipo tiene algunas limitaciones y puede quedar obsoleto en versiones futuras. - En código nuevo, se recomienda usar preferentemente
ndarray, para garantizar una mejor compatibilidad y flexibilidad.