partially reduced row echelon form

2 visualizaciones (últimos 30 días)
Christoph Neumann
Christoph Neumann el 20 de Ag. de 2020
Comentada: Christoph Neumann el 1 de Sept. de 2020
Suppose a matrix C and a matrix D. I want to bring the matrix into the form:
where is in reduced row echelon form. Currently, I do this using the following code:
%Our aim is to bring the matrix (C,D) in the form
% [Ctilde, Dtilde_1]
% [0-rows , Dtilde_2].
[CtildeT,BVCtilde] = rref([C,speye(q)]);
%Delete Zero Rows in Ctilde
CtildeWZ = CtildeT(:,1:n);
Ctilde = CtildeWZ(any(CtildeWZ~=0,2),:);
T = CtildeT(:,n+1:end);
Dtilde = T*D;
Dtilde_1 = Dtilde(any(CtildeWZ~=0,2),:);
Dtilde_2 = Dtilde(all(CtildeWZ==0,2),:);
the rref function turns out to be a bottleneck for large matrices C. Is there another potentially faster way do compute these matrices?

Respuesta aceptada

Athul Prakash
Athul Prakash el 1 de Sept. de 2020
Hey Christoph,
You may try using the 'fast rref' function created on File Exchange by Armin Ataei. It may perform faster than Matlab's rref.
Note: Code that is shared on MATLAB File Exchange is written by MATLAB users and is not developed or tested by the Mathworks.
  1 comentario
Christoph Neumann
Christoph Neumann el 1 de Sept. de 2020
Thanks, this indeed gave me a significant speed up of factor >1000.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Linear Algebra en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by