Actual source code: ex253.c
1: static char help[] = "Tests MatMultHermitianTranspose() for real numbers.\n\n";
2: #include <petsc.h>
4: int main(int argc, char **args)
5: {
6: Mat A, AHT;
7: Vec x, y;
8: PetscRandom rand;
11: PetscInitialize(&argc, &args, (char *)0, help);
13: MatCreate(PETSC_COMM_WORLD, &A);
14: MatSetType(A, MATAIJ);
15: MatSetSizes(A, PETSC_DECIDE, PETSC_DECIDE, 10, 10);
16: MatSetFromOptions(A);
17: MatSetUp(A);
19: MatSetValue(A, 0, 0, 1.0, INSERT_VALUES);
20: MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY);
21: MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY);
23: MatCreateHermitianTranspose(A, &AHT);
24: MatCreateVecs(AHT, &x, &y);
26: PetscRandomCreate(PETSC_COMM_WORLD, &rand);
27: PetscRandomSetFromOptions(rand);
28: VecSetRandom(y, rand);
29: PetscRandomDestroy(&rand);
31: MatMultHermitianTranspose(AHT, y, x);
33: VecDestroy(&x);
34: VecDestroy(&y);
35: MatDestroy(&A);
36: MatDestroy(&AHT);
37: PetscFinalize();
38: return 0;
39: }
41: /*TEST
43: test:
45: TEST*/