есть ли способ создать матрицу, чьи записи также являются матрицами в Python? Я не вижу никакого способа сделать это с помощью numpy.матричные записи также матрицы в python
* Другими словами, я хочу, чтобы A [i, j] также была матрицей.
есть ли способ создать матрицу, чьи записи также являются матрицами в Python? Я не вижу никакого способа сделать это с помощью numpy.матричные записи также матрицы в python
* Другими словами, я хочу, чтобы A [i, j] также была матрицей.
Если 4d массив в порядке, то
x = np.zeros((3,4,2,2), dtype=int)
где
x[0,0].shape # (2,2)
Если он должен быть np.matrix
типа, то он должен быть 2d. Это может быть dtype=object
, где каждый элемент, в свою очередь, является 2d-матрицей. Эта конструкция немного запутана (намного больше?).
Сделать пустой массив с DTYPE = объект
In [565]: x=np.zeros((2,2),dtype=object)
In [566]: x
Out[566]:
array([[0, 0],
[0, 0]], dtype=object)
Заполните каждый элемент матрицы:
In [567]: x[0,0]=np.matrix([[0,1],[2,3]])
In [569]: x[0,1]=np.matrix([[0,1],[2,3]])
In [570]: x[1,0]=np.matrix([[0,1],[2,3]])
In [571]: x[1,1]=np.matrix([[0,1],[2,3]])
In [572]: x
Out[572]:
array([[matrix([[0, 1],
[2, 3]]), matrix([[0, 1],
[2, 3]])],
[matrix([[0, 1],
[2, 3]]), matrix([[0, 1],
[2, 3]])]], dtype=object)
превратить его в matrix
:
In [573]: xm=np.matrix(x)
In [574]: xm
Out[574]:
matrix([[matrix([[0, 1],
[2, 3]]), matrix([[0, 1],
[2, 3]])],
[matrix([[0, 1],
[2, 3]]), matrix([[0, 1],
[2, 3]])]], dtype=object)
Я не знать, имеет ли xm
какие-либо полезные вычислительные свойства.
Ну, вы можете создать 4-мерные массивы, тогда записи для 'A [i, j]' будут матрицами. Но сам А был бы четырехмерным массивом (а не матрицей). Это то, что вы хотите? –
Матрица всегда должна быть двумерной. Но вы можете проверить, можете ли вы это сделать, используя ndarray. –
Вы специально хотите 'np.matrix', или будет' np.array' в порядке? Массив может быть 3d, 4d и т. Д., Матрица всегда 2d. – hpaulj