gather() in tall array inverse is incorrect

4 views (last 30 days)
chen zhe
chen zhe on 27 Jun 2024
Edited: Stephen23 on 27 Jun 2024
Hi,
I am testing simple code with tall array inverse and gather(). The following results are different, anyone knows how to fix gather? As I am using tall array for AA and bb.
AA = ones(13,9);
bb = ones(13,1);
AA_t = tall(ones(13,9));
bb_t = tall(ones(13,1));
gather(AA_t\bb_t);
Unrecognized function or variable 'AA_t'.
AA \ bb;
  3 Comments
chen zhe
chen zhe on 27 Jun 2024
So the problem still here: why gather()cannot evaluate the same results as non-tall array case? Is there a solution to make consistent results: A/b and gather(A_t/b_t)? They all have the rank deficient issue
Stephen23
Stephen23 on 27 Jun 2024
Edited: Stephen23 on 27 Jun 2024
"why gather()cannot evaluate the same results as non-tall array case?"
For efficient handling of the different data types they use different algorithms. No surprises there.
"Is there a solution to make consistent results: A/b and gather(A_t/b_t)? They all have the rank deficient issue"
There are infinitely many solutions. Why should we expect any one solution to be preferred?

Sign in to comment.

Answers (1)

Aditya
Aditya on 27 Jun 2024
Hi Chen,
please modify this line and see whether the issue persists or not!
gather(AA_t)\gather(bb_t);
  1 Comment
chen zhe
chen zhe on 27 Jun 2024
It works. But this is not what we want, as it uses two gather(). When we process tall arrays, we try to use gather() as less as possible due to time consuming.

Sign in to comment.

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!