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)`

.

Was this topic helpful?