16048efd1SBarry Smith static char help[] = "Tests MatMultHermitianTranspose() for real numbers.\n\n"; 26048efd1SBarry Smith #include <petsc.h> 36048efd1SBarry Smith 46048efd1SBarry Smith int main(int argc, char **args) 56048efd1SBarry Smith { 66048efd1SBarry Smith Mat A, AHT; 76048efd1SBarry Smith Vec x, y; 86048efd1SBarry Smith PetscRandom rand; 96048efd1SBarry Smith 10*9566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &args, (char*)0, help)); 116048efd1SBarry Smith 12*9566063dSJacob Faibussowitsch PetscCall(MatCreate(PETSC_COMM_WORLD, &A)); 13*9566063dSJacob Faibussowitsch PetscCall(MatSetType(A, MATAIJ)); 14*9566063dSJacob Faibussowitsch PetscCall(MatSetSizes(A, PETSC_DECIDE, PETSC_DECIDE, 10, 10)); 15*9566063dSJacob Faibussowitsch PetscCall(MatSetFromOptions(A)); 16*9566063dSJacob Faibussowitsch PetscCall(MatSetUp(A)); 176048efd1SBarry Smith 18*9566063dSJacob Faibussowitsch PetscCall(MatSetValue(A, 0, 0, 1.0, INSERT_VALUES)); 19*9566063dSJacob Faibussowitsch PetscCall(MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY)); 20*9566063dSJacob Faibussowitsch PetscCall(MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY)); 216048efd1SBarry Smith 22*9566063dSJacob Faibussowitsch PetscCall(MatCreateHermitianTranspose(A, &AHT)); 23*9566063dSJacob Faibussowitsch PetscCall(MatCreateVecs(AHT, &x, &y)); 246048efd1SBarry Smith 25*9566063dSJacob Faibussowitsch PetscCall(PetscRandomCreate(PETSC_COMM_WORLD, &rand)); 26*9566063dSJacob Faibussowitsch PetscCall(PetscRandomSetFromOptions(rand)); 27*9566063dSJacob Faibussowitsch PetscCall(VecSetRandom(y, rand)); 28*9566063dSJacob Faibussowitsch PetscCall(PetscRandomDestroy(&rand)); 296048efd1SBarry Smith 30*9566063dSJacob Faibussowitsch PetscCall(MatMultHermitianTranspose(AHT, y, x)); 316048efd1SBarry Smith 32*9566063dSJacob Faibussowitsch PetscCall(VecDestroy(&x)); 33*9566063dSJacob Faibussowitsch PetscCall(VecDestroy(&y)); 34*9566063dSJacob Faibussowitsch PetscCall(MatDestroy(&A)); 35*9566063dSJacob Faibussowitsch PetscCall(MatDestroy(&AHT)); 36*9566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 37b122ec5aSJacob Faibussowitsch return 0; 386048efd1SBarry Smith } 396048efd1SBarry Smith 406048efd1SBarry Smith /*TEST 416048efd1SBarry Smith 426048efd1SBarry Smith test: 436048efd1SBarry Smith 446048efd1SBarry Smith TEST*/ 45