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;
10: PetscInitialize(&argc, &args, (char*)0, help);
12: MatCreate(PETSC_COMM_WORLD, &A);
13: MatSetType(A, MATAIJ);
14: MatSetSizes(A, PETSC_DECIDE, PETSC_DECIDE, 10, 10);
15: MatSetFromOptions(A);
16: MatSetUp(A);
18: MatSetValue(A, 0, 0, 1.0, INSERT_VALUES);
19: MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY);
20: MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY);
22: MatCreateHermitianTranspose(A, &AHT);
23: MatCreateVecs(AHT, &x, &y);
25: PetscRandomCreate(PETSC_COMM_WORLD, &rand);
26: PetscRandomSetFromOptions(rand);
27: VecSetRandom(y, rand);
28: PetscRandomDestroy(&rand);
30: MatMultHermitianTranspose(AHT, y, x);
32: VecDestroy(&x);
33: VecDestroy(&y);
34: MatDestroy(&A);
35: MatDestroy(&AHT);
36: PetscFinalize();
37: return 0;
38: }
40: /*TEST
42: test:
44: TEST*/