Optimization Toolbox | ![]() ![]() |
Multiplication with fundamental nullspace basis
Syntax
W = fzmult(A,V) W = fzmult(A,V,'transpose') [W,L,U,pcol,P] = fzmult(A,V) W = fzmult(A,V,TRANSPOSE,L,U,pcol,P)
Description
W = fzmult(A,V)
computes the product W
of matrix Z
with matrix V
, that is, W = Z*V
, where Z
is a fundamental basis for the nullspace of matrix A
. A
must be a sparse m
-by-n
matrix where m < n
, rank(A) = m
, and rank(A(1:m,1:m)) = m
. V
must be p
-by-q
, where p = n-m
. If V
is sparse W
is sparse, else W
is full.
W = fzmult(A,V,'transpose')
computes the product of the transpose of the fundamental basis times V
, that is, W = Z'*V
. V
must be p
-by-q
, where q = n-m
. fzmult(A,V)
is the same as fzmult(A,V,[])
.
[W,L,U,pcol,P] = fzmult(A,V)
returns the sparse LU-factorization of matrix A(1:m,1:m)
, that is, A1 = A(1:m,1:m)
and P*A1(:,pcol) = L*U
.
W = fzmult(A,V,transpose,L,U,pcol,P)
uses the precomputed sparse LU factorization of matrix A(1:m,1:m)
, that is, A1 = A(1:m,1:m)
and P*A1(:,pcol) = L*U
. transpose
is either 'transpose'
or []
.
The nullspace basis matrix Z
is not formed explicitly. An implicit representation is used based on the sparse LU factorization of A(1:m,1:m)
.
![]() | fzero | gangstr | ![]() |