Pregunta

Comprobación este ejemplo (ejemplo de API al final), quiero hacer algunas preguntas.

1) En el ejemplo, proporcionamos la matriz a con elementos distintos de cero. ¿Cuál es el tamaño real de la matriz? ¿Y estos son los elementos de la matriz o las posiciones que contienen elementos distintos de cero?

2) ¿Puedo usar en los cálculos (usar en una función como culaSparseSetDcooData) una matriz A que contendrá elementos cero y distintos de cero?Si quiero crear una matriz de muestra solo para probar, ¿debería crear una matriz con cero elementos, luego llenarla con algunos elementos y luego?

¿Fue útil?

Solución

Respecto a 1) Curiosamente, el tamaño de la matriz en formato COO no se especifica explícitamente:Consiste en coordenadas de los elementos distintos de cero de la matriz.Si tiene una matriz de COO con 1 elemento distinto de cero, entonces esto podría ser

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

y (como se puede ver en los índices de fila/columna) describir elementos de una matriz que tiene al menos tamaño 11*21, o podría ser

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

y describir elementos de una matriz que tiene al menos tamaño 1001*2001

Sin embargo, en este ejemplo, parece que se trata de una matriz cuadrática y n=8 Parece ser el tamaño.(Desafortunadamente, no parece haber documentación detallada del culaSparseSetDcooData función...)

Respecto a 2) Esto no está del todo claro.Si su pregunta es si los valores "distintos de cero" puede (en realidad) tiene un valor de 0.0, entonces puedo decir:Sí, esto debería permitirse.Sin embargo, el ejemplo al que usted hizo referencia ya muestra cómo crear una matriz de prueba simple.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top