У меня есть массив 1000-element Array{SparseMatrixCSC{Float64,Int64},1}
разреженных матриц в Julia с именем A
, который содержит 1000 разреженных матриц.Я использовал команду sparse
пакета SparseArrays
Джулии, чтобы сохранить каждую разреженную матрицу массива.Я представляю выдержку ниже:
julia> A
1000-element Array{SparseMatrixCSC{Float64,Int64},1}:
[1 , 1] = 0.994372
[2 , 1] = 0.991773
[3 , 1] = 0.992271
[4 , 1] = 0.998889
[5 , 1] = 0.992853
[6 , 1] = 0.998921
[7 , 1] = 0.98486
[8 , 1] = 0.988783
[9 , 1] = 0.995152
⋮
[1492, 42] = 0.955595
[1493, 42] = 0.982923
[1494, 42] = 0.951944
[1495, 42] = 1.0
[1496, 42] = 0.975999
[1497, 42] = 0.954872
[1498, 42] = 0.963355
[1499, 42] = 0.925815
[1500, 42] = 0.93627
[1 , 1] = 0.975476
[2 , 1] = 0.977395
[3 , 1] = 0.996842
[4 , 1] = 0.996767
[5 , 1] = 0.998007
[6 , 1] = 0.996788
[7 , 1] = 0.959937
[8 , 1] = 0.996806
[9 , 1] = 0.97679
⋮
[1492, 42] = 0.991332
[1493, 42] = 0.999623
[1494, 42] = 0.982065
[1495, 42] = 0.984356
[1496, 42] = 0.998067
[1497, 42] = 0.987055
[1498, 42] = 0.995269
[1499, 42] = 0.977139
[1500, 42] = 0.98173
....
Я хочу применить следующую функцию к A
:
map(function maxkernLY(x) map(y->y[2],mapslices(findmax, x, dims=2)) end,A)
Функция принимает каждую матрицу массива и для каждой строкиВыбранная матрица ищет максимальное значение.Когда A
составлен из плотных матриц, функция работает отлично, но когда A
составлен из разреженных матриц как выше, я получаю следующую ошибку:
MethodError: no method matching zero(::Type{Tuple{Float64,Int64}})
Любой намек?Может быть любой Массив разреженных матриц, даже массив из 2 маленьких разреженных матриц, необязательно приведенный выше пример.