# murge-global

Example which build a global laplacian and solves the system using Murge interface.

This example is independant of the Murged solver used.

The solved problem is very simple :

``` 2 -1  0  0 ... 0   1   1
-1  2 -1  0 ... 0   0   1
....            x . = .
0 ...    2 -1  0   .   .
0 ...   -1  2 -1   0   1
0 ...    0 -1  2   1   1```

#### Authors

M.  FAVERGE, J.  GAIDAMOUR, P.  HENON , X.  LACOSTE

Summary
 murge-global Example which build a global laplacian and solves the system using Murge interface. Macros Macros MURGE_CALL Execute call fonction and test the return value. Defines Macros DIAG_VALUE The value of the diagonal elements of the matrix EXTRA_DIAG_VALUE The value of the extra diagonal elements of the matrix. Functions main Main function of murge-dist example, solving laplacian.

## Macros

Summary
 Macros MURGE_CALL Execute call fonction and test the return value.

### MURGE_CALL

Execute call fonction and test the return value.

#### Parameters

 call The murge function to execute.

## Defines

Summary
 Macros DIAG_VALUE The value of the diagonal elements of the matrix EXTRA_DIAG_VALUE The value of the extra diagonal elements of the matrix.

### DIAG_VALUE

The value of the diagonal elements of the matrix

### EXTRA_DIAG_VALUE

The value of the extra diagonal elements of the matrix.

## main

Main function of murge-dist example, solving laplacian.

Initialize MURGE and default solver options,

Enter the graph in centralised mode, edge by edge using MURGE_GraphGlobalIJV

Fill the ditributed matrix, in one MURGE_MatrixGlobalIJV call.

Set the right hand side member using MURGE_SetGlobalRHS.

Solve the problem and get the local solution using MURGE_GetGlobalSolution.

Example which build a distributed laplacian and solves the system using Murge interface.
 INTS MURGE_GraphGlobalIJV( INTS id, INTS N, INTL NNZ, INTS * ROWS, INTS * COLS, INTS root )
Distribute the graph on the processors, compress the columns array and use the built CSCd to call PaStiX.
 INTS MURGE_MatrixGlobalIJV( INTS id, INTS N, INTL NNZ, INTS * ROWS, INTS * COLS, COEF * values, INTS root, INTS op, INTS sym )
Add the given global Compress Sparse Column matrix to the matrix.
 INTS MURGE_SetGlobalRHS( INTS id, COEF * b, INTS root, INTS op )
 INTS MURGE_GetGlobalSolution( INTS id, COEF * x, INTS root )