Solved

Array Question - Strassens Method - Urgent

Posted on 2003-12-05
7
237 Views
Last Modified: 2010-03-31
Say Im implementing Strassens method for an array that is larger than 2x2(say 4x4 n=4). And say I calculated each sub array correctly (the 4 n/2 pieces) and I want to construct the new nxn matrix that holds the solution. Whats the easiest/most efficient way to reconstruct a larger array from the smaller pieces, just a for loop or is there something easier.  
0
Comment
Question by:Akindo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 

Author Comment

by:Akindo
ID: 9884020
Also, on the opp side of the question whats the easiest way to deconstruct the array in 4 n/2 pieces, basically the 4 quadrants...also a double for loop??
0
 
LVL 86

Accepted Solution

by:
CEHJ earned 250 total points
ID: 9884198
Looping, AFAIK, can't be avoided, but you can System.arraycopy where there's subarrays, so every single element need not be looped over.
0
 

Author Comment

by:Akindo
ID: 9884446
how would it work for a two dimensional array, say I have

a=2x2
b=2x2
c=2x2
d=2x2

and I want a 4x4 array like
ab
cd
whats the most efficient way to do that?
 
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 92

Expert Comment

by:objects
ID: 9884779
Are you actually using 2d array in your internal representation, and is it that required.
0
 
LVL 2

Expert Comment

by:Tols
ID: 9885449
Maybe some tree structure coud simplify that;

class Matrix
{
     Matrix parent;
     int leafValue = null;
     Matrix[][] children = null; //could be ArrayList
     public Matrix(Matrix parent, int leafValue) //for leafs
     {
         this.parent = parent;
         this leafValue = leafValue;
     }
     public Matrix(Matrix parent) //for nodes
     {
         this.parent = parent;
     }
     public int getValue() //possible modification for other data
    {
         if (children == null) return leafValue;
         //calculate value of submatrix
         int val = children[0][0].getValue()+children[1][1].getValue() ....//recurrent calls
         return val;
    }

}



I hope it help ;-)
0
 
LVL 2

Expert Comment

by:Tols
ID: 9885481
Above class can be modified fo keeping one data for each submatrixes - they shoud keep a range of data in global matrix...
0
 
LVL 92

Expert Comment

by:objects
ID: 9885514
> and I want a 4x4 array like
> ab
> cd

int[][] result = new int[4][4];
for (int i=0; i<2; i++)
{
   System.arraycopy(a[i], 0, result[i], 0, 2);
   System.arraycopy(b[i], 0, result[i], 2, 2);
   System.arraycopy(c[i], 0, result[i+2], 0, 2);
   System.arraycopy(d[i], 0, result[i+2], 2, 2);
}
0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ejb stateless example 2 66
American Express @Work site and Java 4 93
JDBC performance 8 33
activeMQ Queue Messages Enqueued and Messages Dequeued 1 104
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Suggested Courses

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question