Actualmente estoy trabajando en una biblioteca basada en C++ para problemas de álgebra lineal grandes y dispersos (sí, sé que existen muchas de estas bibliotecas, pero estoy haciendo mi propia mayoría para aprender sobre solucionadores iterativos, contenedores de almacenamiento dispersos, etc.).Buscando matrices de prueba/sistemas para el solucionador lineal iterativo
Estoy al punto en que estoy usando mis solucionadores dentro de otros proyectos de programación míos, y me gustaría probar los solucionadores contra problemas que no son míos. Principalmente, estoy buscando probar contra sistemas dispersos simétricos que son definitivamente positivos. He encontrado varias fuentes para tales matrices del sistema, tales como:
Matrix Market UF Sparse Matrix Collection
Dicho esto, todavía no han encontrado ninguna fuentes de buenas matrices de prueba que incluyen toda la matriz del sistema System- y RHS. Sería genial tener esto para verificar los resultados. ¿Algún consejo sobre dónde puedo encontrar esos sistemas completos o, alternativamente, qué podría hacer para generar un RHS "bueno" para las matrices de sistema que puedo ponerme en línea? Actualmente estoy completando una matriz con valores aleatorios, o todos, pero sospecho que esta no es necesariamente la mejor manera.
"existen muchas de estas bibliotecas": en realidad no (al menos de forma nativa por escrito para C++). Escribir las envolturas limpias para las bibliotecas de Fortran que tratan con grandes matrices dispersas ya es una especie de desafío para ser honesto. –
Sin embargo, recuerdo haber visto en algunos documentos de investigación alguna referencia a casos de prueba mal acondicionados, pero IIRC no eran para matrices dispersas SPD. Una forma simple de fabricar casos de prueba en su situación es tomar una matriz aleatoria n x p M, multiplicarla por su propia transposición y agregar alguna identidad lambda * para que sea invertible. Pero esto no producirá matrices dispersas. –
Además, ¿qué pasa con la colección de matriz dispersa de UF? Tomar algunas RHS al azar me parece perfectamente bien. –