File: petscvec.h.html

package info (click to toggle)
petsc 3.23.1%2Bdfsg1-1exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 515,576 kB
  • sloc: ansic: 751,607; cpp: 51,542; python: 38,598; f90: 17,352; javascript: 3,493; makefile: 3,157; sh: 1,502; xml: 619; objc: 445; java: 13; csh: 1
file content (1025 lines) | stat: -rw-r--r-- 209,554 bytes parent folder | download
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
<center><a href="https://gitlab.com/petsc/petsc/-/blob/966382dc56242773704ef5f5cee7aa2db3ebc577/include/petscvec.h">Actual source code: petscvec.h</a></center><br>

<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-04-30T18:14:50+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">    Defines the vector component of PETSc. Vectors generally represent</font>
<a name="line3">  3: </a><font color="#B22222">  degrees of freedom for finite element/finite difference functions</font>
<a name="line4">  4: </a><font color="#B22222">  on a grid. They have more mathematical structure then simple arrays.</font>
<a name="line5">  5: </a><font color="#B22222">*/</font>
<a name="line6">  6: </a><font color="#A020F0">#pragma once</font>

<a name="line8">  8: </a>#include <A href="../include/petscsys.h.html">&lt;petscsys.h&gt;</A>
<a name="line9">  9: </a>#include <A href="../include/petscsftypes.h.html">&lt;petscsftypes.h&gt;</A>
<a name="line10"> 10: </a>#include <A href="../include/petscis.h.html">&lt;petscis.h&gt;</A>
<a name="line11"> 11: </a>#include <A href="../include/petscdevicetypes.h.html">&lt;petscdevicetypes.h&gt;</A>
<a name="line12"> 12: </a>#include <A href="../include/petscviewer.h.html">&lt;petscviewer.h&gt;</A>

<a name="line14"> 14: </a><font color="#B22222">/* SUBMANSEC = <a href="../manualpages/Vec/Vec.html">Vec</a> */</font>

<a name="line16"> 16: </a><font color="#B22222">/*S</font>
<a name="line17"> 17: </a><font color="#B22222">   <a href="../manualpages/Vec/Vec.html">Vec</a> - Abstract PETSc vector object. Used for holding solutions and right-hand sides for linear systems, nonlinear systems, and time integrators</font>

<a name="line19"> 19: </a><font color="#B22222">   Level: beginner</font>

<a name="line21"> 21: </a><font color="#B22222">   Note:</font>
<a name="line22"> 22: </a><font color="#B22222">   Internally the actual vector representation is generally a simple array but most PETSc code can work on other representations through this abstraction</font>

<a name="line24"> 24: </a><font color="#B22222">.seealso: [](doc_vector), [](ch_vectors), `<a href="../manualpages/Vec/VecCreate.html">VecCreate</a>()`, `<a href="../manualpages/Vec/VecType.html">VecType</a>`, `<a href="../manualpages/Vec/VecSetType.html">VecSetType</a>()`</font>
<a name="line25"> 25: </a><font color="#B22222">S*/</font>
<a name="line26"> 26: </a><font color="#4169E1">typedef struct _p_Vec *<a href="../manualpages/Vec/Vec.html">Vec</a>;</font>

<a name="line28"> 28: </a><font color="#B22222">/*E</font>
<a name="line29"> 29: </a><font color="#B22222">  <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a> - Determines the direction of a scatter in `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()` and `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`</font>

<a name="line31"> 31: </a><font color="#B22222">  Values:</font>
<a name="line32"> 32: </a><font color="#B22222">+  `<a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a>`       - Scatters the values as dictated by the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` call</font>
<a name="line33"> 33: </a><font color="#B22222">.  `<a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a>`       - Moves the values in the opposite direction than the directions indicated in the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` call</font>
<a name="line34"> 34: </a><font color="#B22222">.  `<a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a>` - Scatters the values as dictated by the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` call except NO MPI communication is done</font>
<a name="line35"> 35: </a><font color="#B22222">-  `<a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a>` - Moves the values in the opposite direction than the directions indicated in the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` call</font>
<a name="line36"> 36: </a><font color="#B22222">                             except NO MPI communication is done</font>

<a name="line38"> 38: </a><font color="#B22222">  Level: beginner</font>

<a name="line40"> 40: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>`, `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()`, `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`, `<a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a>`, `<a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a>`, `<a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a>`, `<a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a>`</font>
<a name="line41"> 41: </a><font color="#B22222">E*/</font>
<a name="line42"> 42: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line43"> 43: </a>  <a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a>       = 0,
<a name="line44"> 44: </a>  <a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a>       = 1,
<a name="line45"> 45: </a>  <a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a> = 2,
<a name="line46"> 46: </a>  <a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a> = 3
<a name="line47"> 47: </a>} <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>;

<a name="line49"> 49: </a><font color="#B22222">/*MC</font>
<a name="line50"> 50: </a><font color="#B22222">    <a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a> - Scatters the values as dictated by the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` call during `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()` and `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`</font>

<a name="line52"> 52: </a><font color="#B22222">    Level: beginner</font>

<a name="line54"> 54: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>`, `<a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>`, `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()`, `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()`, `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`, `<a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a>`, `<a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a>`,</font>
<a name="line55"> 55: </a><font color="#B22222">          `<a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a>`</font>
<a name="line56"> 56: </a><font color="#B22222">M*/</font>

<a name="line58"> 58: </a><font color="#B22222">/*MC</font>
<a name="line59"> 59: </a><font color="#B22222">    <a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a> - Moves the values in the opposite direction then the directions indicated</font>
<a name="line60"> 60: </a><font color="#B22222">                      in the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` during `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()` and `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`</font>

<a name="line62"> 62: </a><font color="#B22222">    Level: beginner</font>

<a name="line64"> 64: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>`, `<a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>`, `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()`, `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()`, `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`, `<a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a>`, `<a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a>`,</font>
<a name="line65"> 65: </a><font color="#B22222">          `<a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a>`</font>
<a name="line66"> 66: </a><font color="#B22222">M*/</font>

<a name="line68"> 68: </a><font color="#B22222">/*MC</font>
<a name="line69"> 69: </a><font color="#B22222">    <a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a> - Scatters the values as dictated by the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()` during `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()` and `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()` call except NO parallel communication</font>
<a name="line70"> 70: </a><font color="#B22222">                            is done. Any variables that have be moved between processes are ignored</font>

<a name="line72"> 72: </a><font color="#B22222">    Level: developer</font>

<a name="line74"> 74: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>`, `<a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>`, `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()`, `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()`, `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`, `<a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a>`, `<a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a>`,</font>
<a name="line75"> 75: </a><font color="#B22222">          `<a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a>`</font>
<a name="line76"> 76: </a><font color="#B22222">M*/</font>

<a name="line78"> 78: </a><font color="#B22222">/*MC</font>
<a name="line79"> 79: </a><font color="#B22222">    <a href="../manualpages/Vec/SCATTER_REVERSE_LOCAL.html">SCATTER_REVERSE_LOCAL</a> - Moves the values in the opposite direction then the directions indicated</font>
<a name="line80"> 80: </a><font color="#B22222">                           in the `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()`  during `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()` and `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()` except NO parallel communication</font>
<a name="line81"> 81: </a><font color="#B22222">                           is done. Any variables that have be moved between processes are ignored</font>

<a name="line83"> 83: </a><font color="#B22222">    Level: developer</font>

<a name="line85"> 85: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>`, `<a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>`, `<a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>()`, `<a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>()`, `<a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>()`, `<a href="../manualpages/Vec/SCATTER_FORWARD.html">SCATTER_FORWARD</a>`, `<a href="../manualpages/Vec/SCATTER_FORWARD_LOCAL.html">SCATTER_FORWARD_LOCAL</a>`,</font>
<a name="line86"> 86: </a><font color="#B22222">          `<a href="../manualpages/Vec/SCATTER_REVERSE.html">SCATTER_REVERSE</a>`</font>
<a name="line87"> 87: </a><font color="#B22222">M*/</font>

<a name="line89"> 89: </a><font color="#B22222">/*J</font>
<a name="line90"> 90: </a><font color="#B22222">   <a href="../manualpages/Vec/VecType.html">VecType</a> - String with the name of a PETSc vector, `<a href="../manualpages/Vec/Vec.html">Vec</a>`, type</font>

<a name="line92"> 92: </a><font color="#B22222">   Level: beginner</font>

<a name="line94"> 94: </a><font color="#B22222">.seealso: [](doc_vector), [](ch_vectors), `<a href="../manualpages/Vec/VecSetType.html">VecSetType</a>()`, `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecCreate.html">VecCreate</a>()`, `<a href="../manualpages/Vec/VecDestroy.html">VecDestroy</a>()`</font>
<a name="line95"> 95: </a><font color="#B22222">J*/</font>
<a name="line96"> 96: </a><font color="#4169E1">typedef const char *<a href="../manualpages/Vec/VecType.html">VecType</a>;</font>
<a name="line97"> 97: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECSEQ.html">VECSEQ</a>         </font><font color="#666666">"seq"</font><font color="#228B22"></font></strong>
<a name="line98"> 98: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECMPI.html">VECMPI</a>         </font><font color="#666666">"mpi"</font><font color="#228B22"></font></strong>
<a name="line99"> 99: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECSTANDARD.html">VECSTANDARD</a>    </font><font color="#666666">"standard"</font><font color="#228B22"> </font><font color="#B22222">/* seq on one process and mpi on multiple */</font><font color="#228B22"></font></strong>
<a name="line100">100: </a><strong><font color="#228B22">#define VECSHARED      </font><font color="#666666">"shared"</font><font color="#228B22"></font></strong>
<a name="line101">101: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECSEQVIENNACL.html">VECSEQVIENNACL</a> </font><font color="#666666">"seqviennacl"</font><font color="#228B22"></font></strong>
<a name="line102">102: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECMPIVIENNACL.html">VECMPIVIENNACL</a> </font><font color="#666666">"mpiviennacl"</font><font color="#228B22"></font></strong>
<a name="line103">103: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECVIENNACL.html">VECVIENNACL</a>    </font><font color="#666666">"viennacl"</font><font color="#228B22"> </font><font color="#B22222">/* seqviennacl on one process and mpiviennacl on multiple */</font><font color="#228B22"></font></strong>
<a name="line104">104: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECSEQCUDA.html">VECSEQCUDA</a>     </font><font color="#666666">"seqcuda"</font><font color="#228B22"></font></strong>
<a name="line105">105: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECMPICUDA.html">VECMPICUDA</a>     </font><font color="#666666">"mpicuda"</font><font color="#228B22"></font></strong>
<a name="line106">106: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECCUDA.html">VECCUDA</a>        </font><font color="#666666">"cuda"</font><font color="#228B22"> </font><font color="#B22222">/* seqcuda on one process and mpicuda on multiple */</font><font color="#228B22"></font></strong>
<a name="line107">107: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECSEQHIP.html">VECSEQHIP</a>      </font><font color="#666666">"seqhip"</font><font color="#228B22"></font></strong>
<a name="line108">108: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECMPIHIP.html">VECMPIHIP</a>      </font><font color="#666666">"mpihip"</font><font color="#228B22"></font></strong>
<a name="line109">109: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECHIP.html">VECHIP</a>         </font><font color="#666666">"hip"</font><font color="#228B22"> </font><font color="#B22222">/* seqhip on one process and mpihip on multiple */</font><font color="#228B22"></font></strong>
<a name="line110">110: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECNEST.html">VECNEST</a>        </font><font color="#666666">"nest"</font><font color="#228B22"></font></strong>
<a name="line111">111: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECSEQKOKKOS.html">VECSEQKOKKOS</a>   </font><font color="#666666">"seqkokkos"</font><font color="#228B22"></font></strong>
<a name="line112">112: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECMPIKOKKOS.html">VECMPIKOKKOS</a>   </font><font color="#666666">"mpikokkos"</font><font color="#228B22"></font></strong>
<a name="line113">113: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VECKOKKOS.html">VECKOKKOS</a>      </font><font color="#666666">"kokkos"</font><font color="#228B22"> </font><font color="#B22222">/* seqkokkos on one process and mpikokkos on multiple */</font><font color="#228B22"></font></strong>

<a name="line115">115: </a><font color="#B22222">/* Dynamic creation and loading functions */</font>
<a name="line116">116: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterSetType.html">VecScatterSetType</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/PetscSF/VecScatterType.html">VecScatterType</a>)</font></strong>;
<a name="line117">117: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterGetType.html">VecScatterGetType</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/PetscSF/VecScatterType.html">VecScatterType</a> *)</font></strong>;
<a name="line118">118: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterSetFromOptions.html">VecScatterSetFromOptions</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>)</font></strong>;
<a name="line119">119: </a><strong><font color="#4169E1"><a name="VecScatterRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterRegister.html">VecScatterRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>)</font></strong>);
<a name="line120">120: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterCreate.html">VecScatterCreate</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *)</font></strong>;

<a name="line122">122: </a><font color="#B22222">/* Logging support */</font>
<a name="line123">123: </a><strong><font color="#228B22">#define REAL_FILE_CLASSID 1211213</font></strong>
<a name="line124">124: </a><strong><font color="#228B22">#define VEC_FILE_CLASSID  1211214</font></strong>
<a name="line125">125: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscClassId.html">PetscClassId</a> VEC_CLASSID;
<a name="line126">126: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscClassId.html">PetscClassId</a> PETSCSF_CLASSID;

<a name="line128">128: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecInitializePackage.html">VecInitializePackage</a>(void)</font></strong>;
<a name="line129">129: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecFinalizePackage.html">VecFinalizePackage</a>(void)</font></strong>;

<a name="line131">131: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreate.html">VecCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line132">132: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateFromOptions.html">VecCreateFromOptions</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, const char *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line133">133: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeq.html">VecCreateSeq</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line134">134: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPI.html">VecCreateMPI</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line135">135: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqWithArray.html">VecCreateSeqWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line136">136: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPIWithArray.html">VecCreateMPIWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line137">137: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateShared.html">VecCreateShared</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;

<a name="line139">139: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetFromOptions.html">VecSetFromOptions</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line140">140: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViewFromOptions.html">VecViewFromOptions</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;

<a name="line142">142: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetUp.html">VecSetUp</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line143">143: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDestroy.html">VecDestroy</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line144">144: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecZeroEntries.html">VecZeroEntries</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line145">145: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetOptionsPrefix.html">VecSetOptionsPrefix</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const char[])</font></strong>;
<a name="line146">146: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAppendOptionsPrefix.html">VecAppendOptionsPrefix</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const char[])</font></strong>;
<a name="line147">147: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetOptionsPrefix.html">VecGetOptionsPrefix</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const char *[])</font></strong>;
<a name="line148">148: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetState.html">VecGetState</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscObjectState.html">PetscObjectState</a> *)</font></strong>;

<a name="line150">150: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetSizes.html">VecSetSizes</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;

<a name="line152">152: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDotNorm2.html">VecDotNorm2</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line153">153: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDot.html">VecDot</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line154">154: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDotRealPart.html">VecDotRealPart</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line155">155: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTDot.html">VecTDot</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line156">156: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMDot.html">VecMDot</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line157">157: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMTDot.html">VecMTDot</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line158">158: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetSubVector.html">VecGetSubVector</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line159">159: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreSubVector.html">VecRestoreSubVector</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line160">160: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecConcatenate.html">VecConcatenate</a>(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *, <a href="../manualpages/IS/IS.html">IS</a> *[])</font></strong>;

<a name="line162">162: </a><font color="#B22222">/*E</font>
<a name="line163">163: </a><font color="#B22222">    <a href="../manualpages/Vec/NormType.html">NormType</a> - determines what type of norm to compute with `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`/`<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()` and `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`.</font>

<a name="line165">165: </a><font color="#B22222">    Values:</font>
<a name="line166">166: </a><font color="#B22222">+    `<a href="../manualpages/Vec/NORM_1.html">NORM_1</a>`         - the one norm, $||v|| = \sum_i | v_i |$. $||A|| = \max_j || A_{*j} ||$, maximum column sum</font>
<a name="line167">167: </a><font color="#B22222">.    `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>`         - the two norm, $||v|| = sqrt(\sum_i |v_i|^2)$ (vectors only)</font>
<a name="line168">168: </a><font color="#B22222">.    `<a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a>` - $||A|| = sqrt(\sum_{ij} |A_{ij}|^2)$, same as `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>` for vectors</font>
<a name="line169">169: </a><font color="#B22222">.    `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`  - $||v|| = \max_i |v_i|$. $||A|| = \max_i || A_{i*} ||_1$, maximum row sum</font>
<a name="line170">170: </a><font color="#B22222">-    `<a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>`   - computes both the 1 and 2 norm of a vector. The values are stored in two adjacent `<a href="../manualpages/Sys/PetscReal.html">PetscReal</a>` memory locations</font>

<a name="line172">172: </a><font color="#B22222">    Level: beginner</font>

<a name="line174">174: </a><font color="#B22222">    Note:</font>
<a name="line175">175: </a><font color="#B22222">    The `v` above represents a `<a href="../manualpages/Vec/Vec.html">Vec</a>` while the `A` represents a `<a href="../manualpages/Mat/Mat.html">Mat</a>`</font>

<a name="line177">177: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Mat/Mat.html">Mat</a>`, `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`, `<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()`, `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`, `<a href="../manualpages/Vec/NORM_1.html">NORM_1</a>`,</font>
<a name="line178">178: </a><font color="#B22222">          `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>`, `<a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a>`, `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`, `<a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>`, `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>`</font>
<a name="line179">179: </a><font color="#B22222">E*/</font>
<a name="line180">180: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line181">181: </a>  <a href="../manualpages/Vec/NORM_1.html">NORM_1</a>         = 0,
<a name="line182">182: </a>  <a href="../manualpages/Vec/NORM_2.html">NORM_2</a>         = 1,
<a name="line183">183: </a>  <a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a> = 2,
<a name="line184">184: </a>  <a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>  = 3,
<a name="line185">185: </a>  <a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>   = 4
<a name="line186">186: </a>} <a href="../manualpages/Vec/NormType.html">NormType</a>;
<a name="line187">187: </a>PETSC_EXTERN const char *const NormTypes[];
<a name="line188">188: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/NORM_MAX.html">NORM_MAX</a> <a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a></font></strong>

<a name="line190">190: </a><font color="#B22222">/*MC</font>
<a name="line191">191: </a><font color="#B22222">   <a href="../manualpages/Vec/NORM_1.html">NORM_1</a> - the one norm, $||v|| = \sum_i | v_i |$. $||A|| = \max_j || A_{*,j} ||$, maximum column sum</font>

<a name="line193">193: </a><font color="#B22222">   Level: beginner</font>

<a name="line195">195: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/NormType.html">NormType</a>`, `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`, `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`, `<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()`, `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>`, `<a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a>`,</font>
<a name="line196">196: </a><font color="#B22222">          `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`, `<a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>`</font>
<a name="line197">197: </a><font color="#B22222">M*/</font>

<a name="line199">199: </a><font color="#B22222">/*MC</font>
<a name="line200">200: </a><font color="#B22222">   <a href="../manualpages/Vec/NORM_2.html">NORM_2</a> - the two norm, $||v|| = \sqrt{\sum_i |v_i|^2}$ (vectors only)</font>

<a name="line202">202: </a><font color="#B22222">   Level: beginner</font>

<a name="line204">204: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/NormType.html">NormType</a>`, `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`, `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`, `<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()`, `<a href="../manualpages/Vec/NORM_1.html">NORM_1</a>`, `<a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a>`,</font>
<a name="line205">205: </a><font color="#B22222">          `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`, `<a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>`</font>
<a name="line206">206: </a><font color="#B22222">M*/</font>

<a name="line208">208: </a><font color="#B22222">/*MC</font>
<a name="line209">209: </a><font color="#B22222">   <a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a> - $||A|| = \sqrt{\sum_{i,j} |A_{i,j}|^2}$, same as `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>` for vectors</font>

<a name="line211">211: </a><font color="#B22222">   Level: beginner</font>

<a name="line213">213: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/NormType.html">NormType</a>`, `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`, `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`, `<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()`, `<a href="../manualpages/Vec/NORM_1.html">NORM_1</a>`, `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>`,</font>
<a name="line214">214: </a><font color="#B22222">          `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`, `<a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>`</font>
<a name="line215">215: </a><font color="#B22222">M*/</font>

<a name="line217">217: </a><font color="#B22222">/*MC</font>
<a name="line218">218: </a><font color="#B22222">   <a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a> - $||v|| = \max_i |v_i|$. $||A|| = \max_i || A_{i,*} ||_1$, maximum row sum</font>

<a name="line220">220: </a><font color="#B22222">   Level: beginner</font>

<a name="line222">222: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/NormType.html">NormType</a>`, `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`, `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`, `<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()`, `<a href="../manualpages/Vec/NORM_1.html">NORM_1</a>`, `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>`,</font>
<a name="line223">223: </a><font color="#B22222">          `<a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a>`, `<a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a>`</font>
<a name="line224">224: </a><font color="#B22222">M*/</font>

<a name="line226">226: </a><font color="#B22222">/*MC</font>
<a name="line227">227: </a><font color="#B22222">   <a href="../manualpages/Vec/NORM_1_AND_2.html">NORM_1_AND_2</a> - computes both the 1 and 2 norm of a vector. The values are stored in two adjacent `<a href="../manualpages/Sys/PetscReal.html">PetscReal</a>` memory locations</font>

<a name="line229">229: </a><font color="#B22222">   Level: beginner</font>

<a name="line231">231: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/NormType.html">NormType</a>`, `<a href="../manualpages/Mat/MatNorm.html">MatNorm</a>()`, `<a href="../manualpages/Vec/VecNorm.html">VecNorm</a>()`, `<a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>()`, `<a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>()`, `<a href="../manualpages/Vec/NORM_1.html">NORM_1</a>`, `<a href="../manualpages/Vec/NORM_2.html">NORM_2</a>`,</font>
<a name="line232">232: </a><font color="#B22222">          `<a href="../manualpages/Vec/NORM_FROBENIUS.html">NORM_FROBENIUS</a>`, `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`</font>
<a name="line233">233: </a><font color="#B22222">M*/</font>

<a name="line235">235: </a><font color="#B22222">/*MC</font>
<a name="line236">236: </a><font color="#B22222">   <a href="../manualpages/Vec/NORM_MAX.html">NORM_MAX</a> - see `<a href="../manualpages/Vec/NORM_INFINITY.html">NORM_INFINITY</a>`</font>

<a name="line238">238: </a><font color="#B22222">   Level: beginner</font>
<a name="line239">239: </a><font color="#B22222">M*/</font>

<a name="line241">241: </a><font color="#B22222">/*E</font>
<a name="line242">242: </a><font color="#B22222">    <a href="../manualpages/Vec/ReductionType.html">ReductionType</a> - determines what type of column reduction (one that is not a type of norm defined in `<a href="../manualpages/Vec/NormType.html">NormType</a>`) to obtain with `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`</font>

<a name="line244">244: </a><font color="#B22222">    Values:</font>
<a name="line245">245: </a><font color="#B22222">+  `<a href="../manualpages/Vec/REDUCTION_SUM_REALPART.html">REDUCTION_SUM_REALPART</a>`       - sum of real part of each matrix column</font>
<a name="line246">246: </a><font color="#B22222">.  `<a href="../manualpages/Vec/REDUCTION_SUM_IMAGINARYPART.html">REDUCTION_SUM_IMAGINARYPART</a>`  - sum of imaginary part of each matrix column</font>
<a name="line247">247: </a><font color="#B22222">.  `<a href="../manualpages/Vec/REDUCTION_MEAN_REALPART.html">REDUCTION_MEAN_REALPART</a>`      - arithmetic mean of real part of each matrix column</font>
<a name="line248">248: </a><font color="#B22222">-  `<a href="../manualpages/Vec/REDUCTION_MEAN_IMAGINARYPART.html">REDUCTION_MEAN_IMAGINARYPART</a>` - arithmetic mean of imaginary part of each matrix column</font>

<a name="line250">250: </a><font color="#B22222">    Level: beginner</font>

<a name="line252">252: </a><font color="#B22222">    Developer Note:</font>
<a name="line253">253: </a><font color="#B22222">    The constants defined in `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>` MUST BE DISTINCT from those defined in `<a href="../manualpages/Vec/NormType.html">NormType</a>`.</font>
<a name="line254">254: </a><font color="#B22222">    This is because `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()` is used to compute both norms and other types of reductions,</font>
<a name="line255">255: </a><font color="#B22222">    and the constants defined in both `<a href="../manualpages/Vec/NormType.html">NormType</a>` and `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>` are used to designate the desired operation.</font>

<a name="line257">257: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`, `<a href="../manualpages/Mat/MatGetColumnNorms.html">MatGetColumnNorms</a>()`, `<a href="../manualpages/Vec/NormType.html">NormType</a>`, `<a href="../manualpages/Vec/REDUCTION_SUM_REALPART.html">REDUCTION_SUM_REALPART</a>`,</font>
<a name="line258">258: </a><font color="#B22222">          `<a href="../manualpages/Vec/REDUCTION_SUM_IMAGINARYPART.html">REDUCTION_SUM_IMAGINARYPART</a>`, `<a href="../manualpages/Vec/REDUCTION_MEAN_REALPART.html">REDUCTION_MEAN_REALPART</a>`, `<a href="../manualpages/Vec/REDUCTION_MEAN_IMAGINARYPART.html">REDUCTION_MEAN_IMAGINARYPART</a>`</font>
<a name="line259">259: </a><font color="#B22222">E*/</font>
<a name="line260">260: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line261">261: </a>  <a href="../manualpages/Vec/REDUCTION_SUM_REALPART.html">REDUCTION_SUM_REALPART</a>       = 10,
<a name="line262">262: </a>  <a href="../manualpages/Vec/REDUCTION_MEAN_REALPART.html">REDUCTION_MEAN_REALPART</a>      = 11,
<a name="line263">263: </a>  <a href="../manualpages/Vec/REDUCTION_SUM_IMAGINARYPART.html">REDUCTION_SUM_IMAGINARYPART</a>  = 12,
<a name="line264">264: </a>  <a href="../manualpages/Vec/REDUCTION_MEAN_IMAGINARYPART.html">REDUCTION_MEAN_IMAGINARYPART</a> = 13
<a name="line265">265: </a>} <a href="../manualpages/Vec/ReductionType.html">ReductionType</a>;

<a name="line267">267: </a><font color="#B22222">/*MC</font>
<a name="line268">268: </a><font color="#B22222">   <a href="../manualpages/Vec/REDUCTION_SUM_REALPART.html">REDUCTION_SUM_REALPART</a> - sum of real part of a matrix column to obtain with `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`</font>

<a name="line270">270: </a><font color="#B22222">   Level: beginner</font>

<a name="line272">272: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>`, `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`, `<a href="../manualpages/Vec/REDUCTION_SUM_IMAGINARYPART.html">REDUCTION_SUM_IMAGINARYPART</a>`, `<a href="../manualpages/Vec/REDUCTION_MEAN_REALPART.html">REDUCTION_MEAN_REALPART</a>`</font>
<a name="line273">273: </a><font color="#B22222">M*/</font>

<a name="line275">275: </a><font color="#B22222">/*MC</font>
<a name="line276">276: </a><font color="#B22222">   <a href="../manualpages/Vec/REDUCTION_SUM_IMAGINARYPART.html">REDUCTION_SUM_IMAGINARYPART</a> - sum of imaginary part of matrix column to obtain with `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`</font>

<a name="line278">278: </a><font color="#B22222">   Level: beginner</font>

<a name="line280">280: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>`, `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`, `<a href="../manualpages/Vec/REDUCTION_SUM_REALPART.html">REDUCTION_SUM_REALPART</a>`, `<a href="../manualpages/Vec/REDUCTION_MEAN_IMAGINARYPART.html">REDUCTION_MEAN_IMAGINARYPART</a>`</font>
<a name="line281">281: </a><font color="#B22222">M*/</font>

<a name="line283">283: </a><font color="#B22222">/*MC</font>
<a name="line284">284: </a><font color="#B22222">   <a href="../manualpages/Vec/REDUCTION_MEAN_REALPART.html">REDUCTION_MEAN_REALPART</a> - arithmetic mean of real part of matrix column to obtain with `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`</font>

<a name="line286">286: </a><font color="#B22222">   Level: beginner</font>

<a name="line288">288: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>`, `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`, `<a href="../manualpages/Vec/REDUCTION_MEAN_IMAGINARYPART.html">REDUCTION_MEAN_IMAGINARYPART</a>`, `<a href="../manualpages/Vec/REDUCTION_SUM_REALPART.html">REDUCTION_SUM_REALPART</a>`</font>
<a name="line289">289: </a><font color="#B22222">M*/</font>

<a name="line291">291: </a><font color="#B22222">/*MC</font>
<a name="line292">292: </a><font color="#B22222">   <a href="../manualpages/Vec/REDUCTION_MEAN_IMAGINARYPART.html">REDUCTION_MEAN_IMAGINARYPART</a> - arithmetic mean of imaginary part of matrix column to obtain with `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`</font>

<a name="line294">294: </a><font color="#B22222">   Level: beginner</font>

<a name="line296">296: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/ReductionType.html">ReductionType</a>`, `<a href="../manualpages/Mat/MatGetColumnReductions.html">MatGetColumnReductions</a>()`, `<a href="../manualpages/Vec/REDUCTION_MEAN_REALPART.html">REDUCTION_MEAN_REALPART</a>`, `<a href="../manualpages/Vec/REDUCTION_SUM_IMAGINARYPART.html">REDUCTION_SUM_IMAGINARYPART</a>`</font>
<a name="line297">297: </a><font color="#B22222">M*/</font>

<a name="line299">299: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNorm.html">VecNorm</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line300">300: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNormAvailable.html">VecNormAvailable</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line301">301: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecFlag.html">VecFlag</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line302">302: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNormalize.html">VecNormalize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line303">303: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSum.html">VecSum</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line304">304: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMean.html">VecMean</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line305">305: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMax.html">VecMax</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line306">306: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMin.html">VecMin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line307">307: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScale.html">VecScale</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line308">308: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCopy.html">VecCopy</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line309">309: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetRandom.html">VecSetRandom</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscRandom.html">PetscRandom</a>)</font></strong>;
<a name="line310">310: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSet.html">VecSet</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line311">311: </a>PETSC_DEPRECATED_FUNCTION(3, 22, 0, <font color="#666666">"<a href="../manualpages/Vec/VecFlag.html">VecFlag</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetInf.html">VecSetInf</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>);
<a name="line312">312: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSwap.html">VecSwap</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line313">313: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAXPY.html">VecAXPY</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line314">314: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAXPBY.html">VecAXPBY</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line315">315: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMAXPY.html">VecMAXPY</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>[])</font></strong>;
<a name="line316">316: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMAXPBY.html">VecMAXPBY</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>[])</font></strong>;
<a name="line317">317: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAYPX.html">VecAYPX</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line318">318: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWAXPY.html">VecWAXPY</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line319">319: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAXPBYPCZ.html">VecAXPBYPCZ</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line320">320: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPointwiseMax.html">VecPointwiseMax</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line321">321: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPointwiseMaxAbs.html">VecPointwiseMaxAbs</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line322">322: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPointwiseMin.html">VecPointwiseMin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line323">323: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPointwiseMult.html">VecPointwiseMult</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line324">324: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPointwiseDivide.html">VecPointwiseDivide</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line325">325: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMaxPointwiseDivide.html">VecMaxPointwiseDivide</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line326">326: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecShift.html">VecShift</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line327">327: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecReciprocal.html">VecReciprocal</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line328">328: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPermute.html">VecPermute</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line329">329: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSqrtAbs.html">VecSqrtAbs</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line330">330: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecLog.html">VecLog</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line331">331: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecExp.html">VecExp</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line332">332: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAbs.html">VecAbs</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line333">333: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDuplicate.html">VecDuplicate</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line334">334: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDuplicateVecs.html">VecDuplicateVecs</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *[])</font></strong>;
<a name="line335">335: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDestroyVecs.html">VecDestroyVecs</a>(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *[])</font></strong>;
<a name="line336">336: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideNormAll.html">VecStrideNormAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line337">337: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideMaxAll.html">VecStrideMaxAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line338">338: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideMinAll.html">VecStrideMinAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line339">339: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideScaleAll.html">VecStrideScaleAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line340">340: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideSumAll.html">VecStrideSumAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line341">341: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecUniqueEntries.html">VecUniqueEntries</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;

<a name="line343">343: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideNorm.html">VecStrideNorm</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line344">344: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideMax.html">VecStrideMax</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line345">345: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideMin.html">VecStrideMin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line346">346: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideScale.html">VecStrideScale</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line347">347: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideSum.html">VecStrideSum</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line348">348: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideSet.html">VecStrideSet</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;

<a name="line350">350: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideGather.html">VecStrideGather</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line351">351: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideScatter.html">VecStrideScatter</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line352">352: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideGatherAll.html">VecStrideGatherAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line353">353: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideScatterAll.html">VecStrideScatterAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;

<a name="line355">355: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideSubSetScatter.html">VecStrideSubSetScatter</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line356">356: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStrideSubSetGather.html">VecStrideSubSetGather</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;

<a name="line358">358: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line359">359: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetValues.html">VecGetValues</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line360">360: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line361">361: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line362">362: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStashSetInitialSize.html">VecStashSetInitialSize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line363">363: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStashView.html">VecStashView</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line364">364: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStashViewFromOptions.html">VecStashViewFromOptions</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;
<a name="line365">365: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStashGetInfo.html">VecStashGetInfo</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;

<a name="line367">367: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetPreallocationCOO.html">VecSetPreallocationCOO</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscCount.html">PetscCount</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line368">368: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetPreallocationCOOLocal.html">VecSetPreallocationCOOLocal</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscCount.html">PetscCount</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line369">369: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValuesCOO.html">VecSetValuesCOO</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;

<a name="line371">371: </a><font color="#B22222">/*@C</font>
<a name="line372">372: </a><font color="#B22222">   <a href="../manualpages/Vec/VecSetValue.html">VecSetValue</a> - Set a single entry into a PETSc vector, `<a href="../manualpages/Vec/Vec.html">Vec</a>`.</font>

<a name="line374">374: </a><font color="#B22222">   Not Collective</font>

<a name="line376">376: </a><font color="#B22222">   Input Parameters:</font>
<a name="line377">377: </a><font color="#B22222">+  v     - the vector</font>
<a name="line378">378: </a><font color="#B22222">.  row   - the row location of the entry</font>
<a name="line379">379: </a><font color="#B22222">.  value - the value to insert</font>
<a name="line380">380: </a><font color="#B22222">-  mode  - either `<a href="../manualpages/Sys/INSERT_VALUES.html">INSERT_VALUES</a>` or `<a href="../manualpages/Sys/ADD_VALUES.html">ADD_VALUES</a>`</font>

<a name="line382">382: </a><font color="#B22222">   Level: beginner</font>

<a name="line384">384: </a><font color="#B22222">   Notes:</font>
<a name="line385">385: </a><font color="#B22222">   For efficiency one should use `<a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>()` and set several or</font>
<a name="line386">386: </a><font color="#B22222">   many values simultaneously if possible.</font>

<a name="line388">388: </a><font color="#B22222">   These values may be cached, so `<a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()` and `<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()`</font>
<a name="line389">389: </a><font color="#B22222">   MUST be called after all calls to `<a href="../manualpages/Vec/VecSetValue.html">VecSetValue</a>()` have been completed.</font>

<a name="line391">391: </a><font color="#B22222">   `<a href="../manualpages/Vec/VecSetValue.html">VecSetValue</a>()` uses 0-based indices in Python, C, and Fortran</font>

<a name="line393">393: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>()`, `<a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()`, `<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()`, `<a href="../manualpages/Vec/VecSetValuesBlockedLocal.html">VecSetValuesBlockedLocal</a>()`, `<a href="../manualpages/Vec/VecSetValueLocal.html">VecSetValueLocal</a>()`</font>
<a name="line394">394: </a><font color="#B22222">@*/</font>
<a name="line395">395: </a><strong><font color="#4169E1"><a name="VecSetValue"></a>static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValue.html">VecSetValue</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> v, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> i, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> va, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a> mode)</font></strong>
<a name="line396">396: </a>{
<a name="line397">397: </a>  <font color="#4169E1">return</font> <a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>(v, 1, &amp;i, &amp;va, mode);
<a name="line398">398: </a>}

<a name="line400">400: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetBlockSize.html">VecSetBlockSize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line401">401: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetBlockSize.html">VecGetBlockSize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line402">402: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValuesBlocked.html">VecSetValuesBlocked</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;

<a name="line404">404: </a><font color="#B22222">/* Dynamic creation and loading functions */</font>
<a name="line405">405: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscFunctionList.html">PetscFunctionList</a> VecList;
<a name="line406">406: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>    <a href="../manualpages/Vec/VecSetType.html">VecSetType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/VecType.html">VecType</a>)</font></strong>;
<a name="line407">407: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>    <a href="../manualpages/Vec/VecGetType.html">VecGetType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/VecType.html">VecType</a> *)</font></strong>;
<a name="line408">408: </a><strong><font color="#4169E1"><a name="VecRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>    <a href="../manualpages/Vec/VecRegister.html">VecRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>);
<a name="line409">409: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>    <a href="../manualpages/Vec/VecRegisterAll.html">VecRegisterAll</a>(void)</font></strong>;

<a name="line411">411: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterBegin.html">VecScatterBegin</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>)</font></strong>;
<a name="line412">412: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterEnd.html">VecScatterEnd</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>)</font></strong>;
<a name="line413">413: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterDestroy.html">VecScatterDestroy</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *)</font></strong>;
<a name="line414">414: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterSetUp.html">VecScatterSetUp</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>)</font></strong>;
<a name="line415">415: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterCopy.html">VecScatterCopy</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *)</font></strong>;
<a name="line416">416: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterView.html">VecScatterView</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line417">417: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterViewFromOptions.html">VecScatterViewFromOptions</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;
<a name="line418">418: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterRemap.html">VecScatterRemap</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line419">419: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterGetMerged.html">VecScatterGetMerged</a>(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;

<a name="line421">421: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray4d.html">VecGetArray4d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line422">422: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray4d.html">VecRestoreArray4d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line423">423: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray3d.html">VecGetArray3d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ***[])</font></strong>;
<a name="line424">424: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray3d.html">VecRestoreArray3d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ***[])</font></strong>;
<a name="line425">425: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray2d.html">VecGetArray2d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line426">426: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray2d.html">VecRestoreArray2d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line427">427: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray1d.html">VecGetArray1d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line428">428: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray1d.html">VecRestoreArray1d</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;

<a name="line430">430: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray4dWrite.html">VecGetArray4dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line431">431: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray4dWrite.html">VecGetArray4dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line432">432: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray4dWrite.html">VecRestoreArray4dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line433">433: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray3dWrite.html">VecGetArray3dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ***[])</font></strong>;
<a name="line434">434: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray3dWrite.html">VecRestoreArray3dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ***[])</font></strong>;
<a name="line435">435: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray2dWrite.html">VecGetArray2dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line436">436: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray2dWrite.html">VecRestoreArray2dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line437">437: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray1dWrite.html">VecGetArray1dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line438">438: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray1dWrite.html">VecRestoreArray1dWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;

<a name="line440">440: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray4dRead.html">VecGetArray4dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line441">441: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray4dRead.html">VecRestoreArray4dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ****[])</font></strong>;
<a name="line442">442: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray3dRead.html">VecGetArray3dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ***[])</font></strong>;
<a name="line443">443: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray3dRead.html">VecRestoreArray3dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> ***[])</font></strong>;
<a name="line444">444: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray2dRead.html">VecGetArray2dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line445">445: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray2dRead.html">VecRestoreArray2dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line446">446: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray1dRead.html">VecGetArray1dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line447">447: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray1dRead.html">VecRestoreArray1dRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;

<a name="line449">449: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPlaceArray.html">VecPlaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line450">450: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecResetArray.html">VecResetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line451">451: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecReplaceArray.html">VecReplaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;

<a name="line453">453: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrays.html">VecGetArrays</a>(const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;
<a name="line454">454: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrays.html">VecRestoreArrays</a>(const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **[])</font></strong>;

<a name="line456">456: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecView.html">VecView</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line457">457: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViewNative.html">VecViewNative</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line458">458: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecEqual.html">VecEqual</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line459">459: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecLoad.html">VecLoad</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;

<a name="line461">461: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetSize.html">VecGetSize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line462">462: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetLocalSize.html">VecGetLocalSize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line463">463: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetOwnershipRange.html">VecGetOwnershipRange</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line464">464: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetOwnershipRanges.html">VecGetOwnershipRanges</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *[])</font></strong>;

<a name="line466">466: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetLocalToGlobalMapping.html">VecSetLocalToGlobalMapping</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a>)</font></strong>;
<a name="line467">467: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValuesLocal.html">VecSetValuesLocal</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;

<a name="line469">469: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLGetCLContext.html">VecViennaCLGetCLContext</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, PETSC_UINTPTR_T *)</font></strong>;
<a name="line470">470: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLGetCLQueue.html">VecViennaCLGetCLQueue</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, PETSC_UINTPTR_T *)</font></strong>;
<a name="line471">471: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLGetCLMemRead.html">VecViennaCLGetCLMemRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, PETSC_UINTPTR_T *)</font></strong>;
<a name="line472">472: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLGetCLMemWrite.html">VecViennaCLGetCLMemWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, PETSC_UINTPTR_T *)</font></strong>;
<a name="line473">473: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLRestoreCLMemWrite.html">VecViennaCLRestoreCLMemWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line474">474: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLGetCLMem.html">VecViennaCLGetCLMem</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, PETSC_UINTPTR_T *)</font></strong>;
<a name="line475">475: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecViennaCLRestoreCLMem.html">VecViennaCLRestoreCLMem</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line477">477: </a><font color="#B22222">/*@C</font>
<a name="line478">478: </a><font color="#B22222">   <a href="../manualpages/Vec/VecSetValueLocal.html">VecSetValueLocal</a> - Set a single entry into a vector using the local numbering of the vector, see `<a href="../manualpages/Vec/VecSetValuesLocal.html">VecSetValuesLocal</a>()`</font>

<a name="line480">480: </a><font color="#B22222">   Not Collective</font>

<a name="line482">482: </a><font color="#B22222">   Input Parameters:</font>
<a name="line483">483: </a><font color="#B22222">+  v     - the vector</font>
<a name="line484">484: </a><font color="#B22222">.  row   - the local row location of the entry</font>
<a name="line485">485: </a><font color="#B22222">.  value - the value to insert</font>
<a name="line486">486: </a><font color="#B22222">-  mode  - either `<a href="../manualpages/Sys/INSERT_VALUES.html">INSERT_VALUES</a>` or `<a href="../manualpages/Sys/ADD_VALUES.html">ADD_VALUES</a>`</font>

<a name="line488">488: </a><font color="#B22222">   Level: beginner</font>

<a name="line490">490: </a><font color="#B22222">   Notes:</font>
<a name="line491">491: </a><font color="#B22222">   For efficiency one should use `<a href="../manualpages/Vec/VecSetValuesLocal.html">VecSetValuesLocal</a>()` and set several or</font>
<a name="line492">492: </a><font color="#B22222">   many values simultaneously if possible.</font>

<a name="line494">494: </a><font color="#B22222">   These values may be cached, so `<a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()` and `<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()`</font>
<a name="line495">495: </a><font color="#B22222">   MUST be called after all calls to `<a href="../manualpages/Vec/VecSetValueLocal.html">VecSetValueLocal</a>()` have been completed.</font>

<a name="line497">497: </a><font color="#B22222">   See `<a href="../manualpages/Vec/VecSetLocalToGlobalMapping.html">VecSetLocalToGlobalMapping</a>()` for how the local numbering is defined</font>

<a name="line499">499: </a><font color="#B22222">   `<a href="../manualpages/Vec/VecSetValueLocal.html">VecSetValueLocal</a>()` uses 0-based indices in Fortran as well as in C.</font>

<a name="line501">501: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/VecSetValuesLocal.html">VecSetValuesLocal</a>()`, `<a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>()`, `<a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()`, `<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()`, `<a href="../manualpages/Vec/VecSetValuesBlockedLocal.html">VecSetValuesBlockedLocal</a>()`, `<a href="../manualpages/Vec/VecSetValue.html">VecSetValue</a>()`,</font>
<a name="line502">502: </a><font color="#B22222">          `<a href="../manualpages/Vec/VecSetLocalToGlobalMapping.html">VecSetLocalToGlobalMapping</a>()`</font>
<a name="line503">503: </a><font color="#B22222">@*/</font>
<a name="line504">504: </a><strong><font color="#4169E1"><a name="VecSetValueLocal"></a>static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValueLocal.html">VecSetValueLocal</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> v, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> i, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> va, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a> mode)</font></strong>
<a name="line505">505: </a>{
<a name="line506">506: </a>  <font color="#4169E1">return</font> <a href="../manualpages/Vec/VecSetValuesLocal.html">VecSetValuesLocal</a>(v, 1, &amp;i, &amp;va, mode);
<a name="line507">507: </a>}

<a name="line509">509: </a><font color="#B22222">/*MC</font>
<a name="line510">510: </a><font color="#B22222">   <a href="../manualpages/Vec/VecCheckAssembled.html">VecCheckAssembled</a> - checks if values have been changed in the vector, by `<a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>()` or related routines,  but it has not been assembled</font>

<a name="line512">512: </a><font color="#B22222">   Synopsis:</font>
<a name="line513">513: </a>#include <A href="../include/petscvec.h.html">&lt;petscvec.h&gt;</A>
<a name="line514">514: </a><font color="#B22222">   <a href="../manualpages/Vec/VecCheckAssembled.html">VecCheckAssembled</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> v);</font>

<a name="line516">516: </a><font color="#B22222">   Not Collective</font>

<a name="line518">518: </a><font color="#B22222">   Input Parameter:</font>
<a name="line519">519: </a><font color="#B22222">.  v - the vector to check</font>

<a name="line521">521: </a><font color="#B22222">   Level: developer</font>

<a name="line523">523: </a><font color="#B22222">   Note:</font>
<a name="line524">524: </a><font color="#B22222">   After calls to `<a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>()` and related routines one must call `<a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()` and `<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()` before using the vector</font>

<a name="line526">526: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecSetValues.html">VecSetValues</a>()`, `<a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()`, `<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()`, `<a href="../manualpages/Mat/MatAssemblyBegin.html">MatAssemblyBegin</a>()`, `<a href="../manualpages/Mat/MatAssemblyEnd.html">MatAssemblyEnd</a>()`</font>
<a name="line527">527: </a><font color="#B22222">M*/</font>
<a name="line528">528: </a><strong><font color="#228B22">#define <a href="../manualpages/Vec/VecCheckAssembled.html">VecCheckAssembled</a>(v) <a href="../manualpages/Sys/PetscCheck.html">PetscCheck</a>(v-&gt;stash.insertmode == <a href="../manualpages/Sys/InsertMode.html">NOT_SET_VALUES</a>, <a href="../manualpages/Sys/PETSC_COMM_SELF.html">PETSC_COMM_SELF</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PETSC_ERR_ARG_WRONGSTATE</a>, </font><font color="#666666">"Not for unassembled vector, did you call <a href="../manualpages/Vec/VecAssemblyBegin.html">VecAssemblyBegin</a>()/<a href="../manualpages/Vec/VecAssemblyEnd.html">VecAssemblyEnd</a>()?"</font><font color="#228B22">)</font></strong>

<a name="line530">530: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValuesBlockedLocal.html">VecSetValuesBlockedLocal</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line531">531: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetLocalToGlobalMapping.html">VecGetLocalToGlobalMapping</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</a> *)</font></strong>;

<a name="line533">533: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDotBegin.html">VecDotBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line534">534: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecDotEnd.html">VecDotEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line535">535: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTDotBegin.html">VecTDotBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line536">536: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTDotEnd.html">VecTDotEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line537">537: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNormBegin.html">VecNormBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line538">538: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNormEnd.html">VecNormEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line539">539: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecErrorWeightedNorms.html">VecErrorWeightedNorms</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;

<a name="line541">541: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMDotBegin.html">VecMDotBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line542">542: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMDotEnd.html">VecMDotEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line543">543: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMTDotBegin.html">VecMTDotBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line544">544: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMTDotEnd.html">VecMTDotEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Vec/Vec.html">Vec</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line545">545: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/PetscCommSplitReductionBegin.html">PetscCommSplitReductionBegin</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>)</font></strong>;

<a name="line547">547: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecBindToCPU.html">VecBindToCPU</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line548">548: </a>PETSC_DEPRECATED_FUNCTION(3, 13, 0, <font color="#666666">"<a href="../manualpages/Vec/VecBindToCPU.html">VecBindToCPU</a>()"</font>, ) static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecPinToCPU(<a href="../manualpages/Vec/Vec.html">Vec</a> v, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> flg)
<a name="line549">549: </a>{
<a name="line550">550: </a>  <font color="#4169E1">return</font> <a href="../manualpages/Vec/VecBindToCPU.html">VecBindToCPU</a>(v, flg);
<a name="line551">551: </a>}
<a name="line552">552: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecBoundToCPU.html">VecBoundToCPU</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line553">553: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetBindingPropagates.html">VecSetBindingPropagates</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line554">554: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetBindingPropagates.html">VecGetBindingPropagates</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line555">555: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetPinnedMemoryMin.html">VecSetPinnedMemoryMin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, size_t)</font></strong>;
<a name="line556">556: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetPinnedMemoryMin.html">VecGetPinnedMemoryMin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, size_t *)</font></strong>;

<a name="line558">558: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetOffloadMask.html">VecGetOffloadMask</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscOffloadMask.html">PetscOffloadMask</a> *)</font></strong>;

<a name="line560">560: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line561">561: </a>  VEC_IGNORE_OFF_PROC_ENTRIES,
<a name="line562">562: </a>  VEC_IGNORE_NEGATIVE_INDICES,
<a name="line563">563: </a>  VEC_SUBSET_OFF_PROC_ENTRIES
<a name="line564">564: </a>} VecOption;
<a name="line565">565: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetOption.html">VecSetOption</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, VecOption, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;

<a name="line567">567: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArray.html">VecGetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line568">568: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrayWrite.html">VecGetArrayWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line569">569: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrayRead.html">VecGetArrayRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line570">570: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArray.html">VecRestoreArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line571">571: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrayWrite.html">VecRestoreArrayWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line572">572: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrayRead.html">VecRestoreArrayRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line573">573: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateLocalVector.html">VecCreateLocalVector</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line574">574: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetLocalVector.html">VecGetLocalVector</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line575">575: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreLocalVector.html">VecRestoreLocalVector</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line576">576: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetLocalVectorRead.html">VecGetLocalVectorRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line577">577: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreLocalVectorRead.html">VecRestoreLocalVectorRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line578">578: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrayAndMemType.html">VecGetArrayAndMemType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[], <a href="../manualpages/Sys/PetscMemType.html">PetscMemType</a> *)</font></strong>;
<a name="line579">579: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrayAndMemType.html">VecRestoreArrayAndMemType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line580">580: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrayReadAndMemType.html">VecGetArrayReadAndMemType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[], <a href="../manualpages/Sys/PetscMemType.html">PetscMemType</a> *)</font></strong>;
<a name="line581">581: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrayReadAndMemType.html">VecRestoreArrayReadAndMemType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line582">582: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrayWriteAndMemType.html">VecGetArrayWriteAndMemType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[], <a href="../manualpages/Sys/PetscMemType.html">PetscMemType</a> *)</font></strong>;
<a name="line583">583: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrayWriteAndMemType.html">VecRestoreArrayWriteAndMemType</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;

<a name="line585">585: </a><font color="#B22222">/*@C</font>
<a name="line586">586: </a><font color="#B22222">   <a href="../manualpages/Vec/VecGetArrayPair.html">VecGetArrayPair</a> - Accesses a pair of pointers for two vectors that may be common. When the vectors are not the same the first pointer is read only</font>

<a name="line588">588: </a><font color="#B22222">   Logically Collective; No Fortran Support</font>

<a name="line590">590: </a><font color="#B22222">   Input Parameters:</font>
<a name="line591">591: </a><font color="#B22222">+  x - the vector</font>
<a name="line592">592: </a><font color="#B22222">-  y - the second vector</font>

<a name="line594">594: </a><font color="#B22222">   Output Parameters:</font>
<a name="line595">595: </a><font color="#B22222">+  xv - location to put pointer to the first array</font>
<a name="line596">596: </a><font color="#B22222">-  yv - location to put pointer to the second array</font>

<a name="line598">598: </a><font color="#B22222">   Level: developer</font>

<a name="line600">600: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/VecGetArray.html">VecGetArray</a>()`, `<a href="../manualpages/Vec/VecGetArrayRead.html">VecGetArrayRead</a>()`, `<a href="../manualpages/Vec/VecRestoreArrayPair.html">VecRestoreArrayPair</a>()`</font>
<a name="line601">601: </a><font color="#B22222">@*/</font>
<a name="line602">602: </a><strong><font color="#4169E1"><a name="VecGetArrayPair"></a>static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetArrayPair.html">VecGetArrayPair</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> x, <a href="../manualpages/Vec/Vec.html">Vec</a> y, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *xv[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *yv[])</font></strong>
<a name="line603">603: </a>{
<a name="line604">604: </a>  <a href="../manualpages/Sys/PetscFunctionBegin.html">PetscFunctionBegin</a>;
<a name="line605">605: </a>  <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(<a href="../manualpages/Vec/VecGetArray.html">VecGetArray</a>(y, yv));
<a name="line606">606: </a>  <font color="#4169E1">if</font> (x == y) *xv = *yv;
<a name="line607">607: </a>  <font color="#4169E1">else</font> <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(<a href="../manualpages/Vec/VecGetArrayRead.html">VecGetArrayRead</a>(x, (const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **)xv));
<a name="line608">608: </a>  <a href="../manualpages/Sys/PetscFunctionReturn.html">PetscFunctionReturn</a>(<a href="../manualpages/Sys/PetscErrorCode.html">PETSC_SUCCESS</a>);
<a name="line609">609: </a>}

<a name="line611">611: </a><font color="#B22222">/*@C</font>
<a name="line612">612: </a><font color="#B22222">   <a href="../manualpages/Vec/VecRestoreArrayPair.html">VecRestoreArrayPair</a> - Returns a pair of pointers for two vectors that may be common obtained with `<a href="../manualpages/Vec/VecGetArrayPair.html">VecGetArrayPair</a>()`</font>

<a name="line614">614: </a><font color="#B22222">   Logically Collective; No Fortran Support</font>

<a name="line616">616: </a><font color="#B22222">   Input Parameters:</font>
<a name="line617">617: </a><font color="#B22222">+  x  - the vector</font>
<a name="line618">618: </a><font color="#B22222">.  y  - the second vector</font>
<a name="line619">619: </a><font color="#B22222">.  xv - location to put pointer to the first array</font>
<a name="line620">620: </a><font color="#B22222">-  yv - location to put pointer to the second array</font>

<a name="line622">622: </a><font color="#B22222">   Level: developer</font>

<a name="line624">624: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/VecGetArray.html">VecGetArray</a>()`, `<a href="../manualpages/Vec/VecGetArrayRead.html">VecGetArrayRead</a>()`, `<a href="../manualpages/Vec/VecGetArrayPair.html">VecGetArrayPair</a>()`</font>
<a name="line625">625: </a><font color="#B22222">@*/</font>
<a name="line626">626: </a><strong><font color="#4169E1"><a name="VecRestoreArrayPair"></a>static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRestoreArrayPair.html">VecRestoreArrayPair</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> x, <a href="../manualpages/Vec/Vec.html">Vec</a> y, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *xv[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *yv[])</font></strong>
<a name="line627">627: </a>{
<a name="line628">628: </a>  <a href="../manualpages/Sys/PetscFunctionBegin.html">PetscFunctionBegin</a>;
<a name="line629">629: </a>  <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(<a href="../manualpages/Vec/VecRestoreArray.html">VecRestoreArray</a>(y, yv));
<a name="line630">630: </a>  <font color="#4169E1">if</font> (x != y) <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(<a href="../manualpages/Vec/VecRestoreArrayRead.html">VecRestoreArrayRead</a>(x, (const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **)xv));
<a name="line631">631: </a>  <a href="../manualpages/Sys/PetscFunctionReturn.html">PetscFunctionReturn</a>(<a href="../manualpages/Sys/PetscErrorCode.html">PETSC_SUCCESS</a>);
<a name="line632">632: </a>}

<a name="line634">634: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecLockReadPush.html">VecLockReadPush</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line635">635: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecLockReadPop.html">VecLockReadPop</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line636">636: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecLockWriteSet.html">VecLockWriteSet</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line637">637: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecLockGet.html">VecLockGet</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line638">638: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecLockGetLocation(<a href="../manualpages/Vec/Vec.html">Vec</a>, const char *[], const char *[], int *)</font></strong>;

<a name="line640">640: </a><strong><font color="#4169E1"><a name="VecSetErrorIfLocked"></a>static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecSetErrorIfLocked(<a href="../manualpages/Vec/Vec.html">Vec</a> x, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> arg)</font></strong>
<a name="line641">641: </a>{
<a name="line642">642: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> state;

<a name="line644">644: </a>  <a href="../manualpages/Sys/PetscFunctionBegin.html">PetscFunctionBegin</a>;
<a name="line645">645: </a>  <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(<a href="../manualpages/Vec/VecLockGet.html">VecLockGet</a>(x, &amp;state));
<a name="line646">646: </a>  <font color="#4169E1">if</font> (<a href="../manualpages/Sys/PetscUnlikely.html">PetscUnlikely</a>(state != 0)) {
<a name="line647">647: </a>    const char *file, *func, *name;
<a name="line648">648: </a>    int         line;

<a name="line650">650: </a>    <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(VecLockGetLocation(x, &amp;file, &amp;func, &amp;line));
<a name="line651">651: </a>    <a href="../manualpages/Sys/PetscCall.html">PetscCall</a>(<a href="../manualpages/Sys/PetscObjectGetName.html">PetscObjectGetName</a>((<a href="../manualpages/Sys/PetscObject.html">PetscObject</a>)x, &amp;name));
<a name="line652">652: </a>    <a href="../manualpages/Sys/SETERRQ.html">SETERRQ</a>(<a href="../manualpages/Sys/PETSC_COMM_SELF.html">PETSC_COMM_SELF</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PETSC_ERR_ARG_WRONGSTATE</a>, <font color="#666666">"Vector '%s' (argument #%"</font> PetscInt_FMT <font color="#666666">") was locked for %s access in %s() at %s:%d (line numbers only accurate to function begin)"</font>, name, arg, state &gt; 0 ? <font color="#666666">"read-only"</font> : <font color="#666666">"write-only"</font>, func ? func : <font color="#666666">"unknown_function"</font>, file ? file : <font color="#666666">"unknown file"</font>, line);
<a name="line653">653: </a>  }
<a name="line654">654: </a>  <a href="../manualpages/Sys/PetscFunctionReturn.html">PetscFunctionReturn</a>(<a href="../manualpages/Sys/PetscErrorCode.html">PETSC_SUCCESS</a>);
<a name="line655">655: </a>}

<a name="line657">657: </a><font color="#B22222">/* The three are deprecated */</font>
<a name="line658">658: </a>PETSC_DEPRECATED_FUNCTION(3, 11, 0, <font color="#666666">"<a href="../manualpages/Vec/VecLockReadPush.html">VecLockReadPush</a>()"</font>, ) static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecLockPush(<a href="../manualpages/Vec/Vec.html">Vec</a> v)
<a name="line659">659: </a>{
<a name="line660">660: </a>  <font color="#4169E1">return</font> <a href="../manualpages/Vec/VecLockReadPush.html">VecLockReadPush</a>(v);
<a name="line661">661: </a>}

<a name="line663">663: </a>PETSC_DEPRECATED_FUNCTION(3, 11, 0, <font color="#666666">"<a href="../manualpages/Vec/VecLockReadPop.html">VecLockReadPop</a>()"</font>, ) static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecLockPop(<a href="../manualpages/Vec/Vec.html">Vec</a> v)
<a name="line664">664: </a>{
<a name="line665">665: </a>  <font color="#4169E1">return</font> <a href="../manualpages/Vec/VecLockReadPop.html">VecLockReadPop</a>(v);
<a name="line666">666: </a>}

<a name="line668">668: </a><strong><font color="#228B22">#define VecLocked(x, arg) VecSetErrorIfLocked(x, arg) PETSC_DEPRECATED_MACRO(3, 11, 0, </font><font color="#666666">"VecSetErrorIfLocked()"</font><font color="#228B22">, )</font></strong>

<a name="line670">670: </a><font color="#B22222">/*E</font>
<a name="line671">671: </a><font color="#B22222">  <a href="../manualpages/Vec/VecOperation.html">VecOperation</a> - Enumeration of overide-able methods in the `<a href="../manualpages/Vec/Vec.html">Vec</a>` implementation function-table.</font>

<a name="line673">673: </a><font color="#B22222">  Values:</font>
<a name="line674">674: </a><font color="#B22222">+ `<a href="../manualpages/Vec/VecOperation.html">VECOP_DUPLICATE</a>`  - `<a href="../manualpages/Vec/VecDuplicate.html">VecDuplicate</a>()`</font>
<a name="line675">675: </a><font color="#B22222">. `<a href="../manualpages/Vec/VecOperation.html">VECOP_SET</a>`        - `<a href="../manualpages/Vec/VecSet.html">VecSet</a>()`</font>
<a name="line676">676: </a><font color="#B22222">. `<a href="../manualpages/Vec/VecOperation.html">VECOP_VIEW</a>`       - `<a href="../manualpages/Vec/VecView.html">VecView</a>()`</font>
<a name="line677">677: </a><font color="#B22222">. `<a href="../manualpages/Vec/VecOperation.html">VECOP_LOAD</a>`       - `<a href="../manualpages/Vec/VecLoad.html">VecLoad</a>()`</font>
<a name="line678">678: </a><font color="#B22222">. `<a href="../manualpages/Vec/VecOperation.html">VECOP_VIEWNATIVE</a>` - `<a href="../manualpages/Vec/VecViewNative.html">VecViewNative</a>()`</font>
<a name="line679">679: </a><font color="#B22222">- `<a href="../manualpages/Vec/VecOperation.html">VECOP_LOADNATIVE</a>` - `VecLoadNative()`</font>

<a name="line681">681: </a><font color="#B22222">  Level: advanced</font>

<a name="line683">683: </a><font color="#B22222">  Notes:</font>
<a name="line684">684: </a><font color="#B22222">  Some operations may serve as the implementation for other routines not listed above. For</font>
<a name="line685">685: </a><font color="#B22222">  example `<a href="../manualpages/Vec/VecOperation.html">VECOP_SET</a>` can be used to simultaneously overriding the implementation used in</font>
<a name="line686">686: </a><font color="#B22222">  `<a href="../manualpages/Vec/VecSet.html">VecSet</a>()`, `<a href="../manualpages/Vec/VecSetInf.html">VecSetInf</a>()`, and `<a href="../manualpages/Vec/VecZeroEntries.html">VecZeroEntries</a>()`.</font>

<a name="line688">688: </a><font color="#B22222">  Entries to `<a href="../manualpages/Vec/VecOperation.html">VecOperation</a>` are added as needed so if you do not see the operation listed which</font>
<a name="line689">689: </a><font color="#B22222">  you'd like to replace, please send mail to `petsc-maint@mcs.anl.gov`!</font>

<a name="line691">691: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecSetOperation.html">VecSetOperation</a>()`</font>
<a name="line692">692: </a><font color="#B22222">E*/</font>
<a name="line693">693: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line694">694: </a>  <a href="../manualpages/Vec/VecOperation.html">VECOP_DUPLICATE</a>  = 0,
<a name="line695">695: </a>  <a href="../manualpages/Vec/VecOperation.html">VECOP_SET</a>        = 10,
<a name="line696">696: </a>  <a href="../manualpages/Vec/VecOperation.html">VECOP_VIEW</a>       = 33,
<a name="line697">697: </a>  <a href="../manualpages/Vec/VecOperation.html">VECOP_LOAD</a>       = 41,
<a name="line698">698: </a>  <a href="../manualpages/Vec/VecOperation.html">VECOP_VIEWNATIVE</a> = 69,
<a name="line699">699: </a>  <a href="../manualpages/Vec/VecOperation.html">VECOP_LOADNATIVE</a> = 70
<a name="line700">700: </a>} <a href="../manualpages/Vec/VecOperation.html">VecOperation</a>;
<a name="line701">701: </a><strong><font color="#4169E1"><a name="VecSetOperation"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetOperation.html">VecSetOperation</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/VecOperation.html">VecOperation</a>, void (*)(void)</font></strong>);

<a name="line703">703: </a><font color="#B22222">/*</font>
<a name="line704">704: </a><font color="#B22222">     Routines for dealing with ghosted vectors:</font>
<a name="line705">705: </a><font color="#B22222">  vectors with ghost elements at the end of the array.</font>
<a name="line706">706: </a><font color="#B22222">*/</font>
<a name="line707">707: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMPISetGhost.html">VecMPISetGhost</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line708">708: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateGhost.html">VecCreateGhost</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line709">709: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateGhostWithArray.html">VecCreateGhostWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line710">710: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateGhostBlock.html">VecCreateGhostBlock</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line711">711: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateGhostBlockWithArray.html">VecCreateGhostBlockWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line712">712: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGhostGetGhostIS.html">VecGhostGetGhostIS</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line713">713: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGhostGetLocalForm.html">VecGhostGetLocalForm</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line714">714: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGhostRestoreLocalForm.html">VecGhostRestoreLocalForm</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line715">715: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGhostIsLocalForm.html">VecGhostIsLocalForm</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line716">716: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGhostUpdateBegin.html">VecGhostUpdateBegin</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>)</font></strong>;
<a name="line717">717: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGhostUpdateEnd.html">VecGhostUpdateEnd</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>)</font></strong>;

<a name="line719">719: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecConjugate.html">VecConjugate</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line720">720: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecImaginaryPart.html">VecImaginaryPart</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line721">721: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecRealPart.html">VecRealPart</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line723">723: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterCreateToAll.html">VecScatterCreateToAll</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line724">724: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecScatterCreateToZero.html">VecScatterCreateToZero</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;

<a name="line726">726: </a><font color="#B22222">/* These vector calls were included from TAO. They miss vtable entries and GPU implementation */</font>
<a name="line727">727: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/ISComplementVec.html">ISComplementVec</a>(<a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line728">728: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecPow.html">VecPow</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line729">729: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecMedian.html">VecMedian</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line730">730: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWhichInactive.html">VecWhichInactive</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line731">731: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWhichBetween.html">VecWhichBetween</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line732">732: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWhichBetweenOrEqual.html">VecWhichBetweenOrEqual</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line733">733: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWhichGreaterThan.html">VecWhichGreaterThan</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line734">734: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWhichLessThan.html">VecWhichLessThan</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line735">735: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecWhichEqual.html">VecWhichEqual</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line736">736: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecISAXPY.html">VecISAXPY</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line737">737: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecISCopy.html">VecISCopy</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Vec/ScatterMode.html">ScatterMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line738">738: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecISSet.html">VecISSet</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line739">739: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecISShift.html">VecISShift</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>)</font></strong>;
<a name="line740">740: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecBoundGradientProjection.html">VecBoundGradientProjection</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line741">741: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStepBoundInfo.html">VecStepBoundInfo</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line742">742: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStepMax.html">VecStepMax</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line743">743: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecStepMaxBounded.html">VecStepMaxBounded</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;

<a name="line745">745: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> PetscViewerMathematicaGetVector(<a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line746">746: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> PetscViewerMathematicaPutVector(<a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line748">748: </a><font color="#B22222">/*S</font>
<a name="line749">749: </a><font color="#B22222">   <a href="../manualpages/Vec/Vecs.html">Vecs</a> - Collection of vectors where the data for the vectors is stored in</font>
<a name="line750">750: </a><font color="#B22222">          one contiguous memory</font>

<a name="line752">752: </a><font color="#B22222">   Level: advanced</font>

<a name="line754">754: </a><font color="#B22222">   Notes:</font>
<a name="line755">755: </a><font color="#B22222">   Temporary construct for handling multiply right-hand side solves</font>

<a name="line757">757: </a><font color="#B22222">   This is faked by storing a single vector that has enough array space for</font>
<a name="line758">758: </a><font color="#B22222">   n vectors</font>

<a name="line760">760: </a><font color="#B22222">S*/</font>
<a name="line761">761: </a><font color="#4169E1"><a name="_n_Vecs"></a>struct _n_Vecs </font>{
<a name="line762">762: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> n;
<a name="line763">763: </a>  <a href="../manualpages/Vec/Vec.html">Vec</a>      v;
<a name="line764">764: </a>};
<a name="line765">765: </a><font color="#4169E1">typedef struct _n_Vecs     *<a href="../manualpages/Vec/Vecs.html">Vecs</a>;</font>
<a name="line766">766: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecsDestroy(<a href="../manualpages/Vec/Vecs.html">Vecs</a>)</font></strong>;
<a name="line767">767: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecsCreateSeq(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vecs.html">Vecs</a> *)</font></strong>;
<a name="line768">768: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecsCreateSeqWithArray(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *, <a href="../manualpages/Vec/Vecs.html">Vecs</a> *)</font></strong>;
<a name="line769">769: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecsDuplicate(<a href="../manualpages/Vec/Vecs.html">Vecs</a>, <a href="../manualpages/Vec/Vecs.html">Vecs</a> *)</font></strong>;

<a name="line771">771: </a><font color="#A020F0">#if <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(HAVE_VIENNACL)</font>
<a name="line772">772: </a><font color="#4169E1">typedef struct _p_PetscViennaCLIndices *PetscViennaCLIndices;</font>
<a name="line773">773: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>             VecViennaCLCopyToGPUSome_Public(<a href="../manualpages/Vec/Vec.html">Vec</a>, PetscViennaCLIndices)</font></strong>;
<a name="line774">774: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>             VecViennaCLCopyFromGPUSome_Public(<a href="../manualpages/Vec/Vec.html">Vec</a>, PetscViennaCLIndices)</font></strong>;
<a name="line775">775: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>             <a href="../manualpages/Vec/VecCreateSeqViennaCL.html">VecCreateSeqViennaCL</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line776">776: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>             VecCreateMPIViennaCL(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line777">777: </a><font color="#A020F0">#endif</font>
<a name="line778">778: </a><font color="#A020F0">#if <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(HAVE_CUDA) || <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(HAVE_HIP)</font>
<a name="line779">779: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecScatterInitializeForGPU(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line780">780: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecScatterFinalizeForGPU(<a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>)</font></strong>;
<a name="line781">781: </a><font color="#A020F0">#endif</font>
<a name="line782">782: </a><font color="#A020F0">#if <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(HAVE_KOKKOS_KERNELS)</font>
<a name="line783">783: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqKokkos.html">VecCreateSeqKokkos</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line784">784: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqKokkosWithArray.html">VecCreateSeqKokkosWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line785">785: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecCreateMPIKokkos(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line786">786: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPIKokkosWithArray.html">VecCreateMPIKokkosWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line787">787: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecKokkosPlaceArray.html">VecKokkosPlaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *)</font></strong>;
<a name="line788">788: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecKokkosResetArray.html">VecKokkosResetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line789">789: </a><font color="#A020F0">#endif</font>

<a name="line791">791: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNestGetSubVecs.html">VecNestGetSubVecs</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *[])</font></strong>;
<a name="line792">792: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNestGetSubVec.html">VecNestGetSubVec</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line793">793: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNestSetSubVecs.html">VecNestSetSubVecs</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line794">794: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNestSetSubVec.html">VecNestSetSubVec</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line795">795: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateNest.html">VecCreateNest</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line796">796: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecNestGetSize.html">VecNestGetSize</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;

<a name="line798">798: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> PetscOptionsGetVec(PetscOptions, const char[], const char[], <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line799">799: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecFilter.html">VecFilter</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>)</font></strong>;
<a name="line800">800: </a>PETSC_DEPRECATED_FUNCTION(3, 20, 0, <font color="#666666">"<a href="../manualpages/Vec/VecFilter.html">VecFilter</a>()"</font>, ) static inline <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecChop(<a href="../manualpages/Vec/Vec.html">Vec</a> v, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> tol)
<a name="line801">801: </a>{
<a name="line802">802: </a>  <font color="#4169E1">return</font> <a href="../manualpages/Vec/VecFilter.html">VecFilter</a>(v, tol);
<a name="line803">803: </a>}

<a name="line805">805: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetLayout.html">VecGetLayout</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a> *)</font></strong>;
<a name="line806">806: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetLayout.html">VecSetLayout</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/PetscLayout.html">PetscLayout</a>)</font></strong>;

<a name="line808">808: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/PetscSectionVecView.html">PetscSectionVecView</a>(<a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line809">809: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecGetValuesSection.html">VecGetValuesSection</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *[])</font></strong>;
<a name="line810">810: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecSetValuesSection.html">VecSetValuesSection</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line811">811: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/PetscSectionVecNorm.html">PetscSectionVecNorm</a>(<a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/NormType.html">NormType</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;

<a name="line813">813: </a><font color="#B22222">/*S</font>
<a name="line814">814: </a><font color="#B22222">  <a href="../manualpages/Vec/VecTagger.html">VecTagger</a> - Object used to manage the tagging of a subset of indices based on the values of a vector.  The</font>
<a name="line815">815: </a><font color="#B22222">              motivating application is the selection of cells for refinement or coarsening based on vector containing</font>
<a name="line816">816: </a><font color="#B22222">              the values in an error indicator metric.</font>

<a name="line818">818: </a><font color="#B22222">  Values:</font>
<a name="line819">819: </a><font color="#B22222">+  `VECTAGGERABSOLUTE` - "absolute" values are in a interval (box for complex values) of explicitly defined values</font>
<a name="line820">820: </a><font color="#B22222">.  `VECTAGGERRELATIVE` - "relative" values are in a interval (box for complex values) of values relative to the set of all values in the vector</font>
<a name="line821">821: </a><font color="#B22222">.  `VECTAGGERCDF`      - "cdf" values are in a relative range of the *cumulative distribution* of values in the vector</font>
<a name="line822">822: </a><font color="#B22222">.  `VECTAGGEROR`       - "or" values are in the union of other tags</font>
<a name="line823">823: </a><font color="#B22222">-  `VECTAGGERAND`      - "and" values are in the intersection of other tags</font>

<a name="line825">825: </a><font color="#B22222">  Level: advanced</font>

<a name="line827">827: </a><font color="#B22222">  Developer Note:</font>
<a name="line828">828: </a><font color="#B22222">  Why not use a `<a href="../manualpages/DM/DMLabel.html">DMLabel</a>` or similar object</font>

<a name="line830">830: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a>`, `<a href="../manualpages/Vec/VecTaggerCreate.html">VecTaggerCreate</a>()`</font>
<a name="line831">831: </a><font color="#B22222">S*/</font>
<a name="line832">832: </a><font color="#4169E1">typedef struct _p_VecTagger *<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>;</font>

<a name="line834">834: </a><font color="#B22222">/*J</font>
<a name="line835">835: </a><font color="#B22222">  <a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a> - String with the name of a `<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>` type</font>

<a name="line837">837: </a><font color="#B22222">  Level: advanced</font>

<a name="line839">839: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>`, `<a href="../manualpages/Vec/VecTaggerCreate.html">VecTaggerCreate</a>()`</font>
<a name="line840">840: </a><font color="#B22222">J*/</font>
<a name="line841">841: </a><font color="#4169E1">typedef const char *<a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a>;</font>
<a name="line842">842: </a><strong><font color="#228B22">#define VECTAGGERABSOLUTE </font><font color="#666666">"absolute"</font><font color="#228B22"></font></strong>
<a name="line843">843: </a><strong><font color="#228B22">#define VECTAGGERRELATIVE </font><font color="#666666">"relative"</font><font color="#228B22"></font></strong>
<a name="line844">844: </a><strong><font color="#228B22">#define VECTAGGERCDF      </font><font color="#666666">"cdf"</font><font color="#228B22"></font></strong>
<a name="line845">845: </a><strong><font color="#228B22">#define VECTAGGEROR       </font><font color="#666666">"or"</font><font color="#228B22"></font></strong>
<a name="line846">846: </a><strong><font color="#228B22">#define VECTAGGERAND      </font><font color="#666666">"and"</font><font color="#228B22"></font></strong>

<a name="line848">848: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscClassId.html">PetscClassId</a>      VEC_TAGGER_CLASSID;
<a name="line849">849: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscFunctionList.html">PetscFunctionList</a> VecTaggerList;
<a name="line850">850: </a><strong><font color="#4169E1"><a name="VecTaggerRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>    <a href="../manualpages/Vec/VecTaggerRegister.html">VecTaggerRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>)</font></strong>);
<a name="line851">851: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>    <a href="../manualpages/Vec/VecTaggerRegisterAll.html">VecTaggerRegisterAll</a>(void)</font></strong>;

<a name="line853">853: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCreate.html">VecTaggerCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/Vec/VecTagger.html">VecTagger</a> *)</font></strong>;
<a name="line854">854: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerSetBlockSize.html">VecTaggerSetBlockSize</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line855">855: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerGetBlockSize.html">VecTaggerGetBlockSize</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line856">856: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerSetType.html">VecTaggerSetType</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a>)</font></strong>;
<a name="line857">857: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerGetType.html">VecTaggerGetType</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a> *)</font></strong>;
<a name="line858">858: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerSetInvert.html">VecTaggerSetInvert</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line859">859: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerGetInvert.html">VecTaggerGetInvert</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line860">860: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerSetFromOptions.html">VecTaggerSetFromOptions</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>)</font></strong>;
<a name="line861">861: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerSetUp.html">VecTaggerSetUp</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>)</font></strong>;
<a name="line862">862: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerView.html">VecTaggerView</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line863">863: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerComputeIS.html">VecTaggerComputeIS</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line864">864: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerDestroy.html">VecTaggerDestroy</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a> *)</font></strong>;

<a name="line866">866: </a><font color="#B22222">/*S</font>
<a name="line867">867: </a><font color="#B22222">   <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> - A interval (box for complex numbers) range used to tag values.  For real scalars, this is just a closed interval; for complex scalars,</font>
<a name="line868">868: </a><font color="#B22222">   the box is the closed region in the complex plane such that real(min) &lt;= real(z) &lt;= real(max) and imag(min) &lt;= imag(z) &lt;= imag(max).  `INF` is an acceptable endpoint.</font>

<a name="line870">870: </a><font color="#B22222">   Level: beginner</font>

<a name="line872">872: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>`, `<a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a>`, `<a href="../manualpages/Vec/VecTaggerCreate.html">VecTaggerCreate</a>()`, `VecTaggerComputeIntervals()`</font>
<a name="line873">873: </a><font color="#B22222">S*/</font>
<a name="line874">874: </a><font color="#4169E1">typedef</font> <font color="#4169E1">struct</font> {
<a name="line875">875: </a>  <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> min;
<a name="line876">876: </a>  <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> max;
<a name="line877">877: </a>} <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a>;
<a name="line878">878: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerComputeBoxes.html">VecTaggerComputeBoxes</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;

<a name="line880">880: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerAbsoluteSetBox.html">VecTaggerAbsoluteSetBox</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *)</font></strong>;
<a name="line881">881: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerAbsoluteGetBox.html">VecTaggerAbsoluteGetBox</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, const <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *[])</font></strong>;

<a name="line883">883: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerRelativeSetBox.html">VecTaggerRelativeSetBox</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *)</font></strong>;
<a name="line884">884: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerRelativeGetBox.html">VecTaggerRelativeGetBox</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, const <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *[])</font></strong>;

<a name="line886">886: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCDFSetBox.html">VecTaggerCDFSetBox</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *)</font></strong>;
<a name="line887">887: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCDFGetBox.html">VecTaggerCDFGetBox</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, const <a href="../manualpages/Vec/VecTaggerBox.html">VecTaggerBox</a> *[])</font></strong>;

<a name="line889">889: </a><font color="#B22222">/*E</font>
<a name="line890">890: </a><font color="#B22222">  <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VecTaggerCDFMethod</a> - Determines what method is used to compute absolute values from cumulative distribution values (e.g., what value is the preimage of .95 in the cdf).</font>

<a name="line892">892: </a><font color="#B22222">   Values:</font>
<a name="line893">893: </a><font color="#B22222">+  `<a href="../manualpages/Vec/VecTaggerCDFMethod.html">VECTAGGER_CDF_GATHER</a>`    - gather the data to MPI rank 0, perform the computation and broadcast the result</font>
<a name="line894">894: </a><font color="#B22222">-  `<a href="../manualpages/Vec/VecTaggerCDFMethod.html">VECTAGGER_CDF_ITERATIVE</a>` - compute the results on all ranks iteratively using `<a href="http://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html#MPI_Allreduce">MPI_Allreduce</a>()`</font>

<a name="line896">896: </a><font color="#B22222">  Level: advanced</font>

<a name="line898">898: </a><font color="#B22222">  Note:</font>
<a name="line899">899: </a><font color="#B22222">  Relevant only in parallel: in serial it is directly computed.</font>

<a name="line901">901: </a><font color="#B22222">.seealso: [](ch_vectors), `<a href="../manualpages/Vec/Vec.html">Vec</a>`, `<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>`, `<a href="../manualpages/Vec/VecTaggerType.html">VecTaggerType</a>`, `<a href="../manualpages/Vec/VecTaggerCreate.html">VecTaggerCreate</a>()`, `<a href="../manualpages/Vec/VecTaggerCDFSetMethod.html">VecTaggerCDFSetMethod</a>()`, `VecTaggerCDFMethods`</font>
<a name="line902">902: </a><font color="#B22222">E*/</font>
<a name="line903">903: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line904">904: </a>  <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VECTAGGER_CDF_GATHER</a>,
<a name="line905">905: </a>  <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VECTAGGER_CDF_ITERATIVE</a>,
<a name="line906">906: </a>  <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VECTAGGER_CDF_NUM_METHODS</a>
<a name="line907">907: </a>} <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VecTaggerCDFMethod</a>;
<a name="line908">908: </a>PETSC_EXTERN const char *const VecTaggerCDFMethods[];

<a name="line910">910: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCDFSetMethod.html">VecTaggerCDFSetMethod</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VecTaggerCDFMethod</a>)</font></strong>;
<a name="line911">911: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCDFGetMethod.html">VecTaggerCDFGetMethod</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Vec/VecTaggerCDFMethod.html">VecTaggerCDFMethod</a> *)</font></strong>;
<a name="line912">912: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCDFIterativeSetTolerances.html">VecTaggerCDFIterativeSetTolerances</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>)</font></strong>;
<a name="line913">913: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerCDFIterativeGetTolerances.html">VecTaggerCDFIterativeGetTolerances</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;

<a name="line915">915: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerOrSetSubs.html">VecTaggerOrSetSubs</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/VecTagger.html">VecTagger</a> *, <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>)</font></strong>;
<a name="line916">916: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerOrGetSubs.html">VecTaggerOrGetSubs</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Vec/VecTagger.html">VecTagger</a> *[])</font></strong>;

<a name="line918">918: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerAndSetSubs.html">VecTaggerAndSetSubs</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/VecTagger.html">VecTagger</a> *, <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>)</font></strong>;
<a name="line919">919: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerAndGetSubs.html">VecTaggerAndGetSubs</a>(<a href="../manualpages/Vec/VecTagger.html">VecTagger</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Vec/VecTagger.html">VecTagger</a> *[])</font></strong>;

<a name="line921">921: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerInitializePackage.html">VecTaggerInitializePackage</a>(void)</font></strong>;
<a name="line922">922: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecTaggerFinalizePackage.html">VecTaggerFinalizePackage</a>(void)</font></strong>;

<a name="line924">924: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> PetscViewerMathematicaSetVector(<a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line925">925: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> PetscViewerMathematicaGetVector(<a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line927">927: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Tao/VecFischer.html">VecFischer</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line928">928: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Tao/VecSFischer.html">VecSFischer</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line930">930: </a><font color="#A020F0">#if <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(USE_DEBUG)</font>
<a name="line931">931: </a><font color="#B22222">/* This is an internal debug-only routine that should not be used by users */</font>
<a name="line932">932: </a><strong><font color="#4169E1">PETSC_SINGLE_LIBRARY_INTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecValidValues_Internal(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line933">933: </a><font color="#A020F0">#else</font>
<a name="line934">934: </a><strong><font color="#228B22">  #define VecValidValues_Internal(...) <a href="../manualpages/Sys/PetscErrorCode.html">PETSC_SUCCESS</a></font></strong>
<a name="line935">935: </a><font color="#A020F0">#endif </font><font color="#B22222">/* PETSC_USE_DEBUG */</font><font color="#A020F0"></font>

<a name="line937">937: </a><strong><font color="#228B22">#define VEC_CUPM_NOT_CONFIGURED(impl) <a href="../manualpages/Sys/SETERRQ.html">SETERRQ</a>(<a href="../manualpages/Sys/PETSC_COMM_SELF.html">PETSC_COMM_SELF</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PETSC_ERR_SUP_SYS</a>, </font><font color="#666666">"Must configure PETSc with "</font><font color="#228B22"> <a href="../manualpages/Sys/PetscStringize.html">PetscStringize</a>(impl) </font><font color="#666666">" support to use %s"</font><font color="#228B22">, PETSC_FUNCTION_NAME)</font></strong>

<a name="line939">939: </a><font color="#A020F0">#if <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(HAVE_CUDA)</font>
<a name="line940">940: </a><strong><font color="#228B22">  #define VEC_CUDA_DECL_OR_STUB(__decl__, ...) PETSC_EXTERN __decl__;</font></strong>
<a name="line941">941: </a><font color="#A020F0">#else</font>
<a name="line942">942: </a><strong><font color="#228B22">  #define VEC_CUDA_DECL_OR_STUB(__decl__, ...) \</font></strong>
<a name="line943">943: </a><strong><font color="#228B22">    static inline __decl__ \</font></strong>
<a name="line944">944: </a><strong><font color="#228B22">    { \</font></strong>
<a name="line945">945: </a><strong><font color="#228B22">      __VA_ARGS__; \</font></strong>
<a name="line946">946: </a><strong><font color="#228B22">      VEC_CUPM_NOT_CONFIGURED(cuda); \</font></strong>
<a name="line947">947: </a><strong><font color="#228B22">    }</font></strong>
<a name="line948">948: </a><font color="#A020F0">#endif </font><font color="#B22222">/* PETSC_HAVE_CUDA */</font><font color="#A020F0"></font>

<a name="line950">950: </a><font color="#B22222">/* extra underscore here to make it line up with the cuda versions */</font>
<a name="line951">951: </a><font color="#A020F0">#if <a href="../manualpages/Sys/PetscDefined.html">PetscDefined</a>(HAVE_HIP)</font>
<a name="line952">952: </a><strong><font color="#228B22">  #define VEC_HIP__DECL_OR_STUB(__decl__, ...) PETSC_EXTERN __decl__;</font></strong>
<a name="line953">953: </a><font color="#A020F0">#else</font>
<a name="line954">954: </a><strong><font color="#228B22">  #define VEC_HIP__DECL_OR_STUB(__decl__, ...) \</font></strong>
<a name="line955">955: </a><strong><font color="#228B22">    static inline __decl__ \</font></strong>
<a name="line956">956: </a><strong><font color="#228B22">    { \</font></strong>
<a name="line957">957: </a><strong><font color="#228B22">      __VA_ARGS__; \</font></strong>
<a name="line958">958: </a><strong><font color="#228B22">      VEC_CUPM_NOT_CONFIGURED(hip); \</font></strong>
<a name="line959">959: </a><strong><font color="#228B22">    }</font></strong>
<a name="line960">960: </a><font color="#A020F0">#endif </font><font color="#B22222">/* PETSC_HAVE_HIP */</font><font color="#A020F0"></font>

<a name="line962">962: </a><strong><font color="#4169E1"><a name="EC_CUDA_DECL_OR_STUB"></a>VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqCUDA.html">VecCreateSeqCUDA</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Vec/Vec.html">Vec</a> *c), (void)a, (void)b, (void)c)</font></strong>
<a name="line963">963: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqHIP.html">VecCreateSeqHIP</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Vec/Vec.html">Vec</a> *c), (void)a, (void)b, (void)c)</font></strong>

<a name="line965">965: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecCreateSeqCUDAWithArray(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *d, <a href="../manualpages/Vec/Vec.html">Vec</a> *e), (void)a, (void)b, (void)c, (void)d, (void)e)</font></strong>
<a name="line966">966: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> VecCreateSeqHIPWithArray(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *d, <a href="../manualpages/Vec/Vec.html">Vec</a> *e), (void)a, (void)b, (void)c, (void)d, (void)e)</font></strong>

<a name="line968">968: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqCUDAWithArrays.html">VecCreateSeqCUDAWithArrays</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *d, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *e, <a href="../manualpages/Vec/Vec.html">Vec</a> *f), (void)a, (void)b, (void)c, (void)d, (void)e, (void)f)</font></strong>
<a name="line969">969: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateSeqHIPWithArrays.html">VecCreateSeqHIPWithArrays</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *d, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *e, <a href="../manualpages/Vec/Vec.html">Vec</a> *f), (void)a, (void)b, (void)c, (void)d, (void)e, (void)f)</font></strong>

<a name="line971">971: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPICUDA.html">VecCreateMPICUDA</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, <a href="../manualpages/Vec/Vec.html">Vec</a> *d), (void)a, (void)b, (void)c, (void)d)</font></strong>
<a name="line972">972: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPIHIP.html">VecCreateMPIHIP</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, <a href="../manualpages/Vec/Vec.html">Vec</a> *d), (void)a, (void)b, (void)c, (void)d)</font></strong>

<a name="line974">974: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPICUDAWithArray.html">VecCreateMPICUDAWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> d, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *e, <a href="../manualpages/Vec/Vec.html">Vec</a> *f), (void)a, (void)b, (void)c, (void)d, (void)e, (void)f)</font></strong>
<a name="line975">975: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPIHIPWithArray.html">VecCreateMPIHIPWithArray</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> d, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *e, <a href="../manualpages/Vec/Vec.html">Vec</a> *f), (void)a, (void)b, (void)c, (void)d, (void)e, (void)f)</font></strong>

<a name="line977">977: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPICUDAWithArrays.html">VecCreateMPICUDAWithArrays</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> d, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *e, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *f, <a href="../manualpages/Vec/Vec.html">Vec</a> *g), (void)a, (void)b, (void)c, (void)d, (void)e, (void)f, (void)g)</font></strong>
<a name="line978">978: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCreateMPIHIPWithArrays.html">VecCreateMPIHIPWithArrays</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a> a, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> b, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> c, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> d, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *e, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> *f, <a href="../manualpages/Vec/Vec.html">Vec</a> *g), (void)a, (void)b, (void)c, (void)d, (void)e, (void)f, (void)g)</font></strong>

<a name="line980">980: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDAGetArray.html">VecCUDAGetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>
<a name="line981">981: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPGetArray.html">VecHIPGetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>

<a name="line983">983: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDARestoreArray.html">VecCUDARestoreArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>
<a name="line984">984: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPRestoreArray.html">VecHIPRestoreArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>

<a name="line986">986: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDAGetArrayRead.html">VecCUDAGetArrayRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>
<a name="line987">987: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPGetArrayRead.html">VecHIPGetArrayRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>

<a name="line989">989: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDARestoreArrayRead.html">VecCUDARestoreArrayRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>
<a name="line990">990: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPRestoreArrayRead.html">VecHIPRestoreArrayRead</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>

<a name="line992">992: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDAGetArrayWrite.html">VecCUDAGetArrayWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>
<a name="line993">993: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPGetArrayWrite.html">VecHIPGetArrayWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>

<a name="line995">995: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDARestoreArrayWrite.html">VecCUDARestoreArrayWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>
<a name="line996">996: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPRestoreArrayWrite.html">VecHIPRestoreArrayWrite</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> **b), (void)a, (void)b)</font></strong>

<a name="line998">998: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDAPlaceArray.html">VecCUDAPlaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> b[]), (void)a, (void)b)</font></strong>
<a name="line999">999: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPPlaceArray.html">VecHIPPlaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> b[]), (void)a, (void)b)</font></strong>

<a name="line1001">1001: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDAReplaceArray.html">VecCUDAReplaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> b[]), (void)a, (void)b)</font></strong>
<a name="line1002">1002: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPReplaceArray.html">VecHIPReplaceArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a> b[]), (void)a, (void)b)</font></strong>

<a name="line1004">1004: </a><strong><font color="#4169E1">VEC_CUDA_DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecCUDAResetArray.html">VecCUDAResetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a), (void)a)</font></strong>
<a name="line1005">1005: </a><strong><font color="#4169E1">VEC_HIP__DECL_OR_STUB(<a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/Vec/VecHIPResetArray.html">VecHIPResetArray</a>(<a href="../manualpages/Vec/Vec.html">Vec</a> a), (void)a)</font></strong>

<a name="line1007">1007: </a><strong><font color="#228B22">#undef VEC_CUPM_NOT_CONFIGURED</font></strong>
<a name="line1008">1008: </a><strong><font color="#228B22">#undef VEC_CUDA_DECL_OR_STUB</font></strong>
<a name="line1009">1009: </a><strong><font color="#228B22">#undef VEC_HIP__DECL_OR_STUB</font></strong>
</pre>
</body>

</html>