1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
<center><a href="https://gitlab.com/slepc/slepc/-/blob/bbccb785e5ebe6829936989c71776839602f087b/include/slepcsc.h">Actual source code: slepcsc.h</a></center><br>
<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-11-07T08:27:35+00:00">
</head>
<body bgcolor="#FFFFFF">
<pre width=80>
<a name="line1"> 1: </a><font color="#B22222">/*</font>
<a name="line2"> 2: </a><font color="#B22222"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</font>
<a name="line3"> 3: </a><font color="#B22222"> SLEPc - Scalable Library for Eigenvalue Problem Computations</font>
<a name="line4"> 4: </a><font color="#B22222"> Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain</font>
<a name="line6"> 6: </a><font color="#B22222"> This file is part of SLEPc.</font>
<a name="line7"> 7: </a><font color="#B22222"> SLEPc is distributed under a 2-clause BSD license (see LICENSE).</font>
<a name="line8"> 8: </a><font color="#B22222"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</font>
<a name="line9"> 9: </a><font color="#B22222">*/</font>
<a name="line10"> 10: </a><font color="#B22222">/*</font>
<a name="line11"> 11: </a><font color="#B22222"> Sorting criterion for various solvers</font>
<a name="line12"> 12: </a><font color="#B22222">*/</font>
<a name="line14"> 14: </a><font color="#A020F0">#pragma once</font>
<a name="line16"> 16: </a>#include <A href="../include/slepcsys.h.html"><slepcsys.h></A>
<a name="line17"> 17: </a>#include <A href="../include/slepcrgtypes.h.html"><slepcrgtypes.h></A>
<a name="line19"> 19: </a><font color="#B22222">/* SUBMANSEC = Sys */</font>
<a name="line21"> 21: </a><font color="#B22222">/*S</font>
<a name="line22"> 22: </a><font color="#B22222"> <a href="../manualpages/Sys/SlepcEigenvalueComparisonFn.html">SlepcEigenvalueComparisonFn</a> - A prototype of an eigenvalue comparison function that would</font>
<a name="line23"> 23: </a><font color="#B22222"> be passed to `<a href="../manualpages/EPS/EPSSetEigenvalueComparison.html">EPSSetEigenvalueComparison</a>()` and analogue functions in other solver types.</font>
<a name="line25"> 25: </a><font color="#B22222"> Calling Sequence:</font>
<a name="line26"> 26: </a><font color="#B22222">+ ar - real part of the 1st eigenvalue</font>
<a name="line27"> 27: </a><font color="#B22222">. ai - imaginary part of the 1st eigenvalue</font>
<a name="line28"> 28: </a><font color="#B22222">. br - real part of the 2nd eigenvalue</font>
<a name="line29"> 29: </a><font color="#B22222">. bi - imaginary part of the 2nd eigenvalue</font>
<a name="line30"> 30: </a><font color="#B22222">. res - [output] result of comparison</font>
<a name="line31"> 31: </a><font color="#B22222">- ctx - [optional] user-defined context for private data for the</font>
<a name="line32"> 32: </a><font color="#B22222"> eigenvalue comparison routine (may be `NULL`)</font>
<a name="line34"> 34: </a><font color="#B22222"> Note:</font>
<a name="line35"> 35: </a><font color="#B22222"> The return value `res` can be</font>
<a name="line36"> 36: </a><font color="#B22222">+ negative - if the 1st value is preferred to the 2st one</font>
<a name="line37"> 37: </a><font color="#B22222">. zero - if both values are equally preferred</font>
<a name="line38"> 38: </a><font color="#B22222">- positive - if the 2st value is preferred to the 1st one</font>
<a name="line40"> 40: </a><font color="#B22222"> Level: advanced</font>
<a name="line42"> 42: </a><font color="#B22222">.seealso: `<a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>`, `<a href="../manualpages/EPS/EPSSetEigenvalueComparison.html">EPSSetEigenvalueComparison</a>()`</font>
<a name="line43"> 43: </a><font color="#B22222">S*/</font>
<a name="line44"> 44: </a><strong><font color="#4169E1">PETSC_EXTERN_TYPEDEF typedef <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcEigenvalueComparisonFn.html">SlepcEigenvalueComparisonFn</a>(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> ar,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> ai,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> br,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> bi,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a> *res,void *ctx)</font></strong>;
<a name="line46"> 46: </a><font color="#B22222">/*S</font>
<a name="line47"> 47: </a><font color="#B22222"> <a href="../manualpages/Sys/SlepcArbitrarySelectionFn.html">SlepcArbitrarySelectionFn</a> - A prototype of an arbitrary selection function that would be</font>
<a name="line48"> 48: </a><font color="#B22222"> passed to `<a href="../manualpages/EPS/EPSSetArbitrarySelection.html">EPSSetArbitrarySelection</a>()` and analogue functions in other solver types.</font>
<a name="line50"> 50: </a><font color="#B22222"> Calling Sequence:</font>
<a name="line51"> 51: </a><font color="#B22222">+ er - real part of the current eigenvalue approximation</font>
<a name="line52"> 52: </a><font color="#B22222">. ei - imaginary part of the current eigenvalue approximation</font>
<a name="line53"> 53: </a><font color="#B22222">. xr - real part of the current eigenvector approximation</font>
<a name="line54"> 54: </a><font color="#B22222">. xi - imaginary part of the current eigenvector approximation</font>
<a name="line55"> 55: </a><font color="#B22222">. rr - result of evaluation (real part)</font>
<a name="line56"> 56: </a><font color="#B22222">. ri - result of evaluation (imaginary part)</font>
<a name="line57"> 57: </a><font color="#B22222">- ctx - [optional] user-defined context for private data for the</font>
<a name="line58"> 58: </a><font color="#B22222"> arbitrary selection routine (may be `NULL`)</font>
<a name="line60"> 60: </a><font color="#B22222"> Notes:</font>
<a name="line61"> 61: </a><font color="#B22222"> Given a scalar and a vector (usually an approximate eigenvalue and the corresponding</font>
<a name="line62"> 62: </a><font color="#B22222"> eigenvector) this function evaluates the result `rr`, `ri` which is the value that</font>
<a name="line63"> 63: </a><font color="#B22222"> will be used in a subsequent sorting.</font>
<a name="line65"> 65: </a><font color="#B22222"> This evaluation function is collective, that is, all processes call it and</font>
<a name="line66"> 66: </a><font color="#B22222"> it can use collective operations; furthermore, the computed result must</font>
<a name="line67"> 67: </a><font color="#B22222"> be the same in all processes.</font>
<a name="line69"> 69: </a><font color="#B22222"> The result is expressed as a complex number so that it is possible to</font>
<a name="line70"> 70: </a><font color="#B22222"> use the standard eigenvalue sorting functions, but normally only `rr` is used.</font>
<a name="line71"> 71: </a><font color="#B22222"> Set `ri` to zero unless it is meaningful in your application.</font>
<a name="line73"> 73: </a><font color="#B22222"> Level: advanced</font>
<a name="line75"> 75: </a><font color="#B22222">.seealso: `<a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>`, `<a href="../manualpages/Sys/SlepcEigenvalueComparisonFn.html">SlepcEigenvalueComparisonFn</a>`, `<a href="../manualpages/EPS/EPSSetArbitrarySelection.html">EPSSetArbitrarySelection</a>()`</font>
<a name="line76"> 76: </a><font color="#B22222">S*/</font>
<a name="line77"> 77: </a><strong><font color="#4169E1">PETSC_EXTERN_TYPEDEF typedef <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcArbitrarySelectionFn.html">SlepcArbitrarySelectionFn</a>(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> er,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> ei,<a href="https://petsc.org/release/manualpages/Vec/Vec/">Vec</a> xr,<a href="https://petsc.org/release/manualpages/Vec/Vec/">Vec</a> xi,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> *rr,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a> *ri,void *ctx)</font></strong>;
<a name="line79"> 79: </a><font color="#B22222">/*S</font>
<a name="line80"> 80: </a><font color="#B22222"> <a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a> - Data structure (a C `struct`) for storing information about the sorting</font>
<a name="line81"> 81: </a><font color="#B22222"> criterion used by different eigensolver objects.</font>
<a name="line83"> 83: </a><font color="#B22222"> Notes:</font>
<a name="line84"> 84: </a><font color="#B22222"> The `<a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>` structure contains a mapping function and a comparison</font>
<a name="line85"> 85: </a><font color="#B22222"> function (with associated contexts).</font>
<a name="line86"> 86: </a><font color="#B22222"> The mapping function usually calls the backtransform operation of an `<a href="../manualpages/ST/ST.html">ST</a>` object.</font>
<a name="line87"> 87: </a><font color="#B22222"> An optional region can also be used to give higher priority to values inside it.</font>
<a name="line89"> 89: </a><font color="#B22222"> The member `comparison` typically points to a predefined comparison function</font>
<a name="line90"> 90: </a><font color="#B22222"> such as `SlepcCompareLargestMagnitude`, though it can also be user-defined.</font>
<a name="line92"> 92: </a><font color="#B22222"> Fortran Note:</font>
<a name="line93"> 93: </a><font color="#B22222"> Fortran usage is not supported.</font>
<a name="line95"> 95: </a><font color="#B22222"> Developer Notes:</font>
<a name="line96"> 96: </a><font color="#B22222"> This is a low-level data structure common to all solver classes for the task of</font>
<a name="line97"> 97: </a><font color="#B22222"> sorting a list of scalars, typically computed eigenvalues.</font>
<a name="line99"> 99: </a><font color="#B22222"> The main operation associated to this data structure is `<a href="../manualpages/Sys/SlepcSCCompare.html">SlepcSCCompare</a>()` to</font>
<a name="line100">100: </a><font color="#B22222"> compare two scalar values, which in turn is called from `<a href="../manualpages/Sys/SlepcSortEigenvalues.html">SlepcSortEigenvalues</a>()`.</font>
<a name="line102">102: </a><font color="#B22222"> Level: developer</font>
<a name="line104">104: </a><font color="#B22222">.seealso: `<a href="../manualpages/Sys/SlepcEigenvalueComparisonFn.html">SlepcEigenvalueComparisonFn</a>`, `<a href="../manualpages/Sys/SlepcSortEigenvalues.html">SlepcSortEigenvalues</a>()`, `<a href="../manualpages/Sys/SlepcSCCompare.html">SlepcSCCompare</a>()`</font>
<a name="line105">105: </a><font color="#B22222">S*/</font>
<a name="line106">106: </a><font color="#4169E1"><a name="_n_SlepcSC"></a>struct _n_SlepcSC </font>{
<a name="line107">107: </a> <font color="#B22222">/* map values before sorting, typically a call to <a href="../manualpages/ST/STBackTransform.html">STBackTransform</a> (mapctx=<a href="../manualpages/ST/ST.html">ST</a>) */</font>
<a name="line108">108: </a> <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> (*map)(<a href="https://petsc.org/release/manualpages/Sys/PetscObject/">PetscObject</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*);
<a name="line109">109: </a> <a href="https://petsc.org/release/manualpages/Sys/PetscObject/">PetscObject</a> mapobj;
<a name="line110">110: </a> <font color="#B22222">/* comparison function such as SlepcCompareLargestMagnitude */</font>
<a name="line111">111: </a> <a href="../manualpages/Sys/SlepcEigenvalueComparisonFn.html">SlepcEigenvalueComparisonFn</a> *comparison;
<a name="line112">112: </a> void *comparisonctx;
<a name="line113">113: </a> <font color="#B22222">/* optional region for filtering */</font>
<a name="line114">114: </a> <a href="../manualpages/RG/RG.html">RG</a> rg;
<a name="line115">115: </a>};
<a name="line116">116: </a><font color="#4169E1">typedef struct _n_SlepcSC* <a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>;</font>
<a name="line118">118: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcSCCompare.html">SlepcSCCompare</a>(<a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*)</font></strong>;
<a name="line119">119: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcSortEigenvalues.html">SlepcSortEigenvalues</a>(<a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>[],<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>[],<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>[])</font></strong>;
<a name="line120">120: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> <a href="../manualpages/Sys/SlepcSortEigenvaluesSpecial.html">SlepcSortEigenvaluesSpecial</a>(<a href="../manualpages/Sys/SlepcSC.html">SlepcSC</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>[],<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>[],<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>[])</font></strong>;
<a name="line122">122: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcMap_ST(<a href="https://petsc.org/release/manualpages/Sys/PetscObject/">PetscObject</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>*)</font></strong>;
<a name="line124">124: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareLargestMagnitude(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line125">125: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareSmallestMagnitude(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line126">126: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareLargestReal(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line127">127: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareSmallestReal(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line128">128: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareLargestImaginary(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line129">129: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareSmallestImaginary(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line130">130: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareTargetMagnitude(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line131">131: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareTargetReal(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line132">132: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareTargetImaginary(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
<a name="line133">133: </a><strong><font color="#4169E1">SLEPC_EXTERN <a href="https://petsc.org/release/manualpages/Sys/PetscErrorCode/">PetscErrorCode</a> SlepcCompareSmallestPosReal(<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscScalar/">PetscScalar</a>,<a href="https://petsc.org/release/manualpages/Sys/PetscInt/">PetscInt</a>*,void*)</font></strong>;
</pre>
</body>
</html>
|