Skip to main content
`Ctrl`+`K`

# VecWAXPY

Computes `w = alpha x + y`.

## Synopsis

    #include "petscvec.h"
    PetscErrorCode VecWAXPY(Vec w, PetscScalar alpha, Vec x, Vec y)

Logically Collective

## Input Parameters

- alpha - the scalar

- x - first vector, multiplied by `alpha`

- y - second vector

## Output Parameter

- w - the result

## Note

`w` cannot be either `x` or `y`, but `x` and `y` can be the same

## Developer Notes

The implementation is optimized for alpha of -1.0, 0.0, and 1.0

## See Also

Vectors and Parallel Data, `Vec`, `VecAXPY()`, `VecAYPX()`, `VecAXPBY()`, `VecMAXPY()`, `VecAXPBYPCZ()`

## Level

intermediate

## Location

src/vec/vec/interface/rvector.c

## Examples

src/tao/pde_constrained/tutorials/elliptic.c
src/tao/unconstrained/tutorials/burgers_spectral.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
src/tao/tutorials/ex4.c
src/tao/constrained/tutorials/tomographyADMM.c
src/vec/vec/tutorials/ex1f90.F90
src/tao/pde_constrained/tutorials/parabolic.c
src/vec/vec/tutorials/ex1.c
src/tao/pde_constrained/tutorials/hyperbolic.c
src/ts/tutorials/ex10.c

## Implementations

VecWAXPY_Nest() in src/vec/vec/impls/nest/vecnest.c
VecWAXPY_Seq() in src/vec/vec/impls/seq/dvec2.c
VecWAXPY_SeqKokkos() in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecWAXPY_SeqViennaCL() in src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx

Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages