~ubuntu-branches/ubuntu/saucy/rheolef/saucy

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";
    }
  }