Sparse vector transpose is slow

I'm performing the operation
X = [X; x']
in my MATLAB code. x is a very large and very sparse vector which is created as a column vector
x = sparse(nonZeroRows, 1, vals, vectorLength, 1);
The problem is that taking the transpose x' is VERY slow. Also, creating x' directly through
xT = sparse(1, nonZeroRows, vals, 1, vectorLength);
is also very slow.
How can I perform this operation efficiently?

1 件のコメント

Walter Roberson
Walter Roberson 2012 年 2 月 8 日
I am not surprised at it being slow; sparse vectors are organized by columns (I think it was), one header per column used, so when you transpose to a row it has to create headers for each of those rows.
I do not know what (if anything) can be done to improve the situation.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品

質問済み:

2012 年 2 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by