Multiplication with fundamental nullspace basis
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)
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).