1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
BEGIN { # 1d laplace = tridiag(-1,2,-1)[n], n >= 0 if (n > 1) { nnz = n + 2*(n-1); } else { nnz = n; } print "%%MatrixMarket matrix coordinate real general" print n " " n " " nnz; if (n == 1) { print "1 1 2"; } else if (n > 1) { print "1 1 2"; print "1 2 -1"; for (i = 2; i <= n-1; i++) { print i " " i-1 " -1"; print i " " i " 2"; print i " " i+1 " -1"; } print n " " n-1 " -1"; print n " " n " 2"; } } |