00001
00002
00003
00004
00005
00006
00007 #include <stdlib.h>
00008 #include <string.h>
00009
00010 #include "nl.h"
00011
00012 int main()
00013 {
00014 size_t n = 5;
00015 size_t nz = 13;
00016 double A[] = {1, 2, 3, 4, 5,-1,-2,-3,-4,-5,-6,-7,-8};
00017 size_t I[] = {0, 1, 2, 3, 4, 0, 1, 2, 3, 1, 2, 3, 4};
00018 size_t J[] = {0, 1, 2, 3, 4, 1, 2, 3, 4, 0, 1, 2, 3};
00019 size_t *IA, *JA;
00020 double *AN, **AF;
00021
00022 sp_create(n, nz, &IA, &JA, &AN);
00023 sp_convert(nz, A, I, J, n, IA, JA, AN);
00024
00025 printf("Разреженное представление:\n");
00026 sp_print_list(IA, JA, AN, n, n, NULL, NULL);
00027 printf("\nПредставление в виде ");
00028 printf("списка ненулевых элементов:\n");
00029 sp_print(IA, JA, AN, n, n, NULL);
00030
00031 printf("\nПлотное представление:\n");
00032 AF = nl_dmatrix_create(n, n);
00033 sp_full(IA, JA, AN, n, n, AF);
00034 nl_dmatrix_print(AF, n, n, NULL);
00035
00036 sp_free(IA, JA, AN);
00037 nl_dmatrix_free(AF, n);
00038
00039 return 0;
00040 }