LinearAlgebra`BLAS`
LinearAlgebra`BLAS`

GERC

GERC[α,x,y,a]

computes the rank-one update a+αOuter[Times,x,Conjugate[y]] and resets a to the result.

Details

  • To use GERC, you first need to load the BLAS Package using Needs["LinearAlgebra`BLAS`"].
  • The following arguments must be given:
  • αinput expressionscalar mutliple
    xinput expressionvector
    yinput expressionvector
    a
  • input/output symbol
  • matrix; the symbol value is modified in place
  • Dimensions of the matrix and vector arguments must be such that the dot product and addition are well defined.

Examples

open allclose all

Basic Examples  (1)

Load the BLAS package:

Apply rank-one update to a matrix:

Scope  (4)

Real matrix and vectors:

Complex matrix and vectors:

Arbitrary-precision matrix and vectors:

Integer-symbolic matrix and vectors:

Properties & Relations  (1)

  • GERC[α,x,y,a] is equivalent to a=a+αOuter[Times,x,Conjugate[y]]:
  • This can also be expressed as a=a+αTranspose[{x}].{Conjugate[y]}:

    Possible Issues  (2)

    The last argument must be a symbol:

    The last argument must be initialized to a matrix: