Произвольная матрица или размер массива в 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 нулей.