The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование в Linux" / Оглавление документа
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



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру