В Parallel Colt, как добавить вектор в каждую строку матрицы, желательно на месте? В частности, у меня есть DoubleMatrix1D, который я бы хотел добавить к каждой строке DoubleMatrix2D. Похоже, это должно быть просто, но это не ясно из Джавадока. (Я, конечно, могу сделать это вручную, но кажется странным, что такая возможность не будет построена).Добавление матриц и векторов в Parallel Colt
1
A
ответ
2
Таким образом, чтобы добавить т-мерный вектор (скажем, aVector
) в i-ой строке матрицы NXM (скажем, aMatrix
), вам нужно будет сделать следующее:
// new matrix where each row is the vector you want to add, i.e., aVector
DoubleMatrix2D otherMatrix = DoubleFactory2D.sparse.make(aVector.toArray(), n);
DoubleDoubleFunction plus = new DoubleDoubleFunction() {
public double apply(double a, double b) { return a+b; }
};
aMatrix.assign(otherMatrix, plus);
API говорит, что это о методе assign
:
assign(DoubleMatrix2D y, DoubleDoubleFunction function)
Assigns the result of a function to each cell; x[row,col] = function(x[row,col],y[row,col]).
Я не проверял метод DoubleFactory2D#make()
сам. Если он создает матрицу, где ваш aVector
включен в качестве столбцов вместо строк в otherMatrix
, затем используйте DoubleAlgebra#transpose()
, чтобы получить транспонирование перед использованием этапа assign()
.
EDIT
Существует гораздо более простой способ добавления строки в месте, в случае, если вы хотите изменить только определенные (скажем, я-й) строки:
aMatrix.viewRow(i).assign(aVector);
Смежные вопросы
- 1. Алгоритм оптимизации матриц и векторов
- 2. Сравнение векторов и матриц в MATLAB
- 3. Ошибки с плавающей запятой в библиотеках матриц Java Colt
- 4. Matlab Массивы матриц 2x2 и элементное умножение матриц/векторов
- 5. Изучение вершин, векторов и матриц Three.js
- 6. Индексирование матриц с использованием векторов в Matlab
- 7. Добавление матриц в C#?
- 8. Добавление и умножение 2D-матриц
- 9. Добавление матриц в numpy
- 10. Добавление векторов в C++
- 11. Множественный массив векторов с массивом матриц; вернуть массив векторов?
- 12. В чем отличия между типами векторов, матриц и массивов?
- 13. Библиотеки матриц Java
- 14. Косинус сходства собственных векторов двух разных матриц
- 15. Отслеживание собственных векторов однопараметрического семейства матриц
- 16. Добавление матриц numpy вместе
- 17. вектор матриц с использованием собственных векторов библиотека
- 18. Матричное добавление неравных матриц
- 19. Добавление вместе матриц в C++
- 20. Добавление двух матриц в питона
- 21. Добавление двух матриц в C
- 22. Библиотека C++ для матриц и векторов фиксированного размера
- 23. Добавление многомерных векторов C++
- 24. Есть ли хорошая библиотека PHP для векторов и матриц?
- 25. Какой алгоритм использует Matlab для динамического изменения векторов и матриц?
- 26. Добавление двух векторов вместе
- 27. Java Многопоточное добавление векторов
- 28. Добавление нескольких векторов в R
- 29. Добавление матриц с различными размерами
- 30. Существует быстрый способ использования векторов Clojure в качестве матриц?
I подумайте, что вы должны указать немного больше: например, какие объекты вы используете в настоящее время. – fpe
@fpe: обновлен с конкретными типами, которые я использую. –