Произвольная матрица или размер массива в Swift

Я знаком с созданием матриц MxN в Python с использованием NumPy, таких как:

In [1]: import numpy as np

In [2]: np.zeros((10,5))
Out[2]:
array([[ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]]) 

В Swift SIMD может создавать небольшие матрицы и выполнять над ними операции (см. Ниже), но, как представляется, он ограничен максимальным размером матрицы 4x4.

import simd

let mat = float2x2([[1,2],[3,4]])
mat[0]*9

Есть ли способ определить матрицу произвольного размера с размерами MxN в Swift и выполнить операции с этой матрицей?

1 ответ

Решение

Если под "матрицей" вы подразумеваете "массив массивов", то вы можете использовать следующий синтаксис:

var matrix = Array(count: 10, repeatedValue: Array(count: 5, repeatedValue: 0.0))

Это создает матрицу 10 х 5 нулей.

Другие вопросы по тегам