0
В связи с ответом NOAH on how to use CSCMatrixСкала ветер решения разреженных системы AX = B, как построить B
, как построить матрицу B, состоит из каких элементов?
В связи с ответом NOAH on how to use CSCMatrixСкала ветер решения разреженных системы AX = B, как построить B
, как построить матрицу B, состоит из каких элементов?
Похоже CSC
матрицы поддерживают только B
столбцы в виде DenseVector
:
scala> import breeze.linalg._
import breeze.linalg._
scala> import breeze.numerics._
import breeze.numerics._
scala> val A = CSCMatrix((1d,0d,0d),(0d,1d,0d),(0d,0d,1d))
A: breeze.linalg.CSCMatrix[Double] =
3 x 3 CSCMatrix
(0,0) 1.0
(1,1) 1.0
(2,2) 1.0
scala> val B = DenseVector(3d,4d,5d)
B: breeze.linalg.DenseVector[Double] = DenseVector(3.0, 4.0, 5.0)
scala> A \ B
res0: breeze.linalg.DenseVector[Double] = DenseVector(3.000000000000001, 4.000000000000002, 5.000000000000001)
: вы имеете право с Апи точки зрения, но моя проблема заключается в том, что этот код не компилируется. я получаю следующее: Ошибка: (44, 9) не удалось найти неявное значение параметра op: breeze.linalg.operators.OpSolveMatrixBy.Impl2 [breeze.linalg.CSCMatrix [Double], breeze.linalg.DenseVector [Double], That ] A \ B Ошибка: (44, 9) недостаточно аргументов для метода \: (неявный op: [Double], что]) Это. Параметр не заданного значения op. A \ B ^ –
Хм, поэтому использование 'DenseVector' для вашего' B' не работает? Какую версию Бриз вы используете? –
если я смотрю в intellijidea: это breeze-macros_2.10-0.11.2.jar –