Solved

Array Question - Strassens Method - Urgent

Posted on 2003-12-05
7
232 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
  • 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
GUI builder for Eclipse? 8 36
HSSFWorkbook cannot be resolved error 10 72
login form jsp example 2 26
How to determine if a string is a valid SHA value 7 34
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

832 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