Blame view

fvn_sparse/UMFPACK/Demo/umfpack_simple.c 1.17 KB
422234dc3   daniau   git-svn-id: https...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  /* -------------------------------------------------------------------------- */
  /* UMFPACK Copyright (c) Timothy A. Davis, CISE,                              */
  /* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
  /* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
  /* -------------------------------------------------------------------------- */
  
  #include <stdio.h>
  #include "umfpack.h"
  
  int    n = 5 ;
  int    Ap [ ] = {0, 2, 5, 9, 10, 12} ;
  int    Ai [ ] = { 0,  1,  0,   2,  4,  1,  2,  3,   4,  2,  1,  4} ;
  double Ax [ ] = {2., 3., 3., -1., 4., 4., -3., 1., 2., 2., 6., 1.} ;
  double b [ ] = {8., 45., -3., 3., 19.} ;
  double x [5] ;
  
  int main (void)
  {
      double *null = (double *) NULL ;
      int i ;
      void *Symbolic, *Numeric ;
      (void) umfpack_di_symbolic (n, n, Ap, Ai, Ax, &Symbolic, null, null) ;
      (void) umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, null, null) ;
      umfpack_di_free_symbolic (&Symbolic) ;
      (void) umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b, Numeric, null, null) ;
      umfpack_di_free_numeric (&Numeric) ;
      for (i = 0 ; i < n ; i++) printf ("x [%d] = %g
  ", i, x [i]) ;
      return (0) ;
  }