PETSc version 3.17.4
Fix/Edit manual page

# DMCreateInterpolationScale

Forms L = 1/(R*1) such that diag(L)*R preserves scale and is thus suitable for state (versus residual) restriction.

### Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode  DMCreateInterpolationScale(DM dac,DM daf,Mat mat,Vec *scale)

### Input Parameters

| dac | - DM that defines a coarse mesh
| daf | - DM that defines a fine mesh
| mat | - the restriction (or interpolation operator) from fine to coarse

### Output Parameter

| scale | - the scaled vector

### Developer Notes

If the fine-scale DMDA has the -dm_bind_below option set to true, then DMCreateInterpolationScale() calls MatSetBindingPropagates() on the restriction/interpolation operator to set the bindingpropagates flag to true.

### See Also

DMCreateInterpolation()

### Level

developer

### Location

src/dm/interface/dm.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages