---
name: "clarfx"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/clarfx/3lapack"
---

# clarfx(3lapack)

applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right

## NAME

CLARFX - applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right

## SYNOPSIS

- SUBROUTINE CLARFX(

  SIDE, M, N, V, TAU, C, LDC, WORK )

- IMPLICIT

  NONE

- CHARACTER

  SIDE

- INTEGER

  LDC, M, N

- COMPLEX

  TAU

- COMPLEX

  C( LDC, \* ), V( \* ), WORK( \* )

## PURPOSE

CLARFX applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form\
\
       H = I - tau \* v \* v'\
 where tau is a complex scalar and v is a complex vector.\
 If tau = 0, then H is taken to be the unit matrix\
 This version uses inline code if H has order \< 11.\

## ARGUMENTS

- SIDE (input) CHARACTER\*1

  \= 'L': form  H \* C\
   \= 'R': form  C \* H

- M (input) INTEGER

  The number of rows of the matrix C.

- N (input) INTEGER

  The number of columns of the matrix C.

- V (input) COMPLEX array, dimension (M) if SIDE = 'L'

  or (N) if SIDE = 'R' The vector v in the representation of H.

- TAU (input) COMPLEX

  The value tau in the representation of H.

- C (input/output) COMPLEX array, dimension (LDC,N)

  On entry, the m by n matrix C. On exit, C is overwritten by the matrix H \* C if SIDE = 'L', or C \* H if SIDE = 'R'.

- LDC (input) INTEGER

  The leading dimension of the array C. LDA \>= max(1,M).

- WORK (workspace) COMPLEX array, dimension (N) if SIDE = 'L'

  or (M) if SIDE = 'R' WORK is not referenced if H has order \< 11.
