Non-square case for LU is in fact easy. Note that if you have A=LU as
a block matrix
A11 A12
A21 A22

then its LU-factors L and U are
L11  0        and    U11 U12
L21 L22                 0   U22

and A11=L11 U11, A12=L11 U12, A21=L21 U11, A22=L21 U12+L22 U22

Assume that A11 is square and full rank (else one may apply
permutations of rows and columns in the usual way). while A21=0 and
A22=0. Then one can take L21=0, L22=U22=0, while A12=L11 U12
implies U12=L11^-1 A12.
That is, we can first compute LU-decomposition of a square matrix A11,
and then compute U12 from it and A.

Similarly, if instead A12=0 and A22=0, then we can take U12=0,
L22=U22=0, and A21=L21 U11,
i.e. L21=A21 U11^-1, and again we compute LU-decomposition of A11, and
then L21=A21 U11^-1.

----------------

Note that in some cases one cannot get LU, but instead must go for an
PLU,with P a permutation matrix.
For non-square matrices this seems a bit more complicated, but, well,
still doable.

HTH
Dima




On Mon, Feb 5, 2024 at 6:00 PM Nils Bruin <nbr...@sfu.ca> wrote:
>
> On Monday 5 February 2024 at 02:31:04 UTC-8 Dima Pasechnik wrote:
>
>
> it is the matter of adding extra zero rows or columns to the matrix you want 
> to decompose. This could be a quick fix.
>
> (in reference to computing LU decompositions of non-square matrices) -- in a 
> numerical setting, adding extra zero rows/columns may not be such an 
> attractive option: if previously you know you had a maximal rank matrix, you 
> have now ruined it by the padding. It's worth checking the documentation and 
> literature if padding is appropriate/desirable for the target 
> algorithm/implementation.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-devel/622a01e0-9197-40c5-beda-92729c4e4a32n%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq2G0A1Hwvf2iBbrUC42LaNVrVm_OTiLSJpCkjhjJvEpWQ%40mail.gmail.com.

Reply via email to