# MatCreateNormal

Creates a new matrix object that behaves like A'*A.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode PETSCMAT_DLLEXPORT MatCreateNormal(Mat A,Mat *N)

Collective on Mat

### Input Parameter

A -the (possibly rectangular) matrix

### Output Parameter

N -the matrix that represents A'*A

Notes: The product A'*A is NOT actually formed! Rather the new matrix object performs the matrix-vector product by first multiplying by A and then A'

### C++ variants

| Mat MatCreateNormal(Mat mat) |  | -> |  | MatCreateNormal(mat,&A); return A;

Level:intermediate
Location:src/mat/impls/normal/normm.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ksp/ksp/examples/tutorials/ex27.c.html