Вопрос

Проверка этот пример (пример API в конце), я хочу задать несколько вопросов.

1) В примере мы снабжаем матрицу a ненулевыми элементами.Каков реальный размер матрицы?И это элементы матрицы или позиции, которые содержат ненулевые элементы?

2) Могу ли я использовать при вычислениях (использовать в функции, подобной culaSparseSetDcooData) матрицу A, которая будет содержать нулевые и ненулевые элементы?Если я хочу создать образец матрицы просто для тестирования, должен ли я создать матрицу с нулевыми элементами, затем заполнить ее некоторыми элементами, а затем?

Это было полезно?

Решение

Относительно 1) Интересно, что размер матрицы в формате COO явно не указан:Он состоит из координат ненулевых элементов матрицы.Если у вас есть матрица COO с 1 ненулевым элементом, то это может быть

double a[1] =  { 1.0 };
int colInd[1] = { 10 };
int rowInd[1] = { 20 };

и (как вы можете судить по индексам строк/столбцов) описывают элементы матрицы, которая имеет по крайней мере размер 11*21, или это может быть

double a[1] =  { 1.0 };
int colInd[1] = { 1000 };
int rowInd[1] = { 2000 };

и опишите элементы матрицы, которая имеет по крайней мере размер 1001*2001

Однако в этом примере кажется, что это квадратичная матрица, и n=8 кажется, подходящий размер.(К сожалению, по-видимому, нет подробной документации по этому culaSparseSetDcooData функция...)

Что касается 2), то это не совсем ясно.Если ваш вопрос заключается в том, являются ли "ненулевые" значения мочь (в действительности) имеют значение 0.0, тогда я могу сказать:Да, это должно быть разрешено.Однако пример, на который вы ссылались, уже показывает, как создать простую тестовую матрицу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top