next up previous contents
Next: Матрицы Up: Простые примеры PETSc Previous: База списка опций   Contents

Векторы

Можно создать новый параллельный или последовательный вектор x общей размерности M с помощью команд:

VecCreate (MPI_Comm comm,Vec *x);

VecSetSizes (Vec x, int m, int M);

где comm означает коммуникатор MPI, а m является необязательным локальным размером, который может иметь значение PETSC_DECIDE. Тип хранения для вектора может быть указан вызовами VecSetType() или VecSetFromOptions(). Дополнительные векторы того же типа можно сформировать с помощью VecDuplicate(Vec old,Vec *new). Команды:

VecSet (PetscScalar *value,Vec x);

VecSetValues (Vec x,int n,int *indices,

    PetscScalar *values, INSERT_VALUES);

устанавливают все компоненты вектора в определенное скалярное значение и присваивают различные значения каждому компоненту. Отметьте также использование типа переменной PetscScalar в этом примере. Тип PetscScalar определен как double в C/C++ (или тип двойной точности в Фортране) для версий PETSc, которые не компилируются для использования с комплексными числами. Тип данных PetscScalar позволяет использовать один и тот же код, если библиотеки PETSc откомпилированы для использования комплексных чисел.



2004-06-22