Вы находитесь на странице: 1из 5

12/21/2015

Examples of DoubleMatrix2D | massapi.com

ExamplesofDoubleMatrix2D
cern.colt.matrix.DoubleMatrix2D
Abstractbaseclassfor2dmatricesholdingdoubleelements.Firstseethepackagesummaryandjavadoctreeviewtogetthebro
adpicture.
Amatrixhasanumberofrowsandcolumns,whichareassigneduponinstanceconstructionThematrix'ssizeisthenrows()*col
umns().Elementsareaccessedvia[row,column]coordinates.Legalcoordinatesrangefrom[0,0]to[rows()-1,columns()-1].
Anyattempttoaccessanelementatacoordinatecolumn<0 || column>=columns() || row<0 || row>=rows()willthrowanIn
dexOutOfBoundsException.
Notethatthisimplementationisnotsynchronized.@authorwolfgang.hoschek@cern.ch@version1.0,09/24/99
com.opengamma.analytics.math.matrix.DoubleMatrix2D
Aminimalimplementationofa2Dmatrixofdoubles.
org.apache.mahout.math.matrix.DoubleMatrix2D
@deprecateduntilunittestsareinplace.Untilthistime,thisclass/interfaceisunsupported.

Examplesofcern.colt.matrix.DoubleMatrix2D
cern.colt.Timertimer3=newcern.colt.Timer()
cern.colt.Timertimer4=newcern.colt.Timer()
cern.colt.Timertimer5=newcern.colt.Timer()
cern.colt.Timertimer6=newcern.colt.Timer()

DoubleMatrix2Dmatrix=null
if(kind.equals("sparse"))matrix=newSparseDoubleMatrix2D(size,size,initialCapacity,minLoad
elseif(kind.equals("dense"))matrix=cern.colt.matrix.DoubleFactory2D.dense.make(size,size
//elseif(kind.equals("denseArray"))matrix=newDoubleArrayMatrix2D(size,size)
elsethrownewRuntimeException("unknownkind")

System.out.println("\nNowinitializing...")
//MatrixAJ=newMatrix(columnwise,3)
//Basic.random(matrix,newcern.jet.random.Uniform(newcern.jet.random.engine.MersenneTwister(
doublevalue=2
DoubleMatrix2Dtmp=DoubleFactory2D.dense.sample(matrix.rows(),matrix.columns(),value,perc
matrix.assign(tmp)
tmp=null
/*
longNN=matrix.size()
intnn=(int)(NN*percentNonZero)
long[]nonZeroIndexes=newlong[nn]
cern.jet.random.sampling.RandomSamplersampler=newcern.jet.random.sampling.RandomSampler(nn
sampler.nextBlock(nn,nonZeroIndexes,0)
for(inti=nni>=0){
introw=(int)(nonZeroIndexes[i]/size)
intcolumn=(int)(nonZeroIndexes[i]%size)
matrix.set(row,column,value)
}
*/
/*
timer1.start()
for(inti=0i<runsi++){
LUDecompositionLU=newLUDecomposition(matrix)
}
timer1.stop()
timer1.display()
{
Jama.Matrixjmatrix=newJama.Matrix(matrix.toArray())
timer2.start()
for(inti=0i<runsi++){
Jama.LUDecompositionLU=newJama.LUDecomposition(jmatrix)
}
timer2.stop()
data:text/html;charset=utf-8,%3Ch2%20style%3D%22font-size%3A%201.3em%3B%20word-wrap%3A%20break-word%3B%20word

1/5

12/21/2015

Examples of DoubleMatrix2D | massapi.com

timer2.display()
}
*/
System.out.println("\ntesting...")
if(print)System.out.println(matrix)
DoubleMatrix2Ddense=DoubleFactory2D.dense.make(size,size)
dense.assign(matrix)
if(!dense.equals(matrix))thrownewInternalError()
DoubleMatrix2DADense=dense.copy()
DoubleMatrix2DBDense=dense.copy()
DoubleMatrix2DCDense=dense.copy()
ADense.zMult(BDense,CDense)
System.out.println("\nNexttesting...")
/*
{
timer6.start()
doublea=cubicLoop(runs,size)
timer6.stop()
timer6.display()
System.out.println(a)
}
*/

{
DoubleMatrix2DA=matrix.copy()
DoubleMatrix2DB=matrix.copy()
//DoubleMatrix2DC=Basic.product(A,B)
DoubleMatrix2DC=matrix.copy()
A.zMult(B,C)
if(!(C.equals(CDense)))thrownewInternalError()
C.assign(matrix)
System.out.println("\nNowbenchmarking...")

timer3.start()
for(inti=0i<runsi++){
A.zMult(B,C)
ViewFullCodeHere

Examplesofcern.colt.matrix.DoubleMatrix2D

longbefore=Runtime.getRuntime().freeMemory()
longsize=(((long)rows)*columns)*runs

DoubleMatrix2Dmatrix=null
if(kind.equals("sparse"))matrix=newSparseDoubleMatrix2D(rows,columns,initialCapacity,minL
elseif(kind.equals("dense"))matrix=newDenseDoubleMatrix2D(rows,columns)
//elseif(kind.equals("denseArray"))matrix=newDoubleArrayMatrix2D(rows,columns)
elsethrownewRuntimeException("unknownkind")

System.out.println("\nNowfilling...")
//if(kind.equals("sparse"))((SparseDoubleMatrix2D)matrix).elements.hashCollisions=0
for(inti=0i<runsi++){
matrix.assign(0)
matrix.ensureCapacity(initialCapacity)
if(kind.equals("sparse"))((SparseDoubleMatrix2D)matrix).ensureCapacity(initialCapacity
timer1.start()
intvalue=0
for(introw=0row<rowsrow++){
data:text/html;charset=utf-8,%3Ch2%20style%3D%22font-size%3A%201.3em%3B%20word-wrap%3A%20break-word%3B%20word

2/5

12/21/2015

Examples of DoubleMatrix2D | massapi.com

for(intcolumn=0column<columnscolumn++){
matrix.setQuick(row,column,value++)
}
}
timer1.stop()
}
timer1.display()
timer1.minus(emptyLoop).display()
System.out.println(size/timer1.minus(emptyLoop).seconds()+"elements/sec")

Runtime.getRuntime().gc()//invitegc
try{Thread.currentThread().sleep(1000)}catch(InterruptedExceptionexc){}
longafter=Runtime.getRuntime().freeMemory()
System.out.println("KBneeded="+(beforeafter)/1024)
System.out.println("bytesneededpernonzero="+(beforeafter)/(double)matrix.cardinality
if(print){
System.out.println(matrix)
if(kind.equals("sparse"))System.out.println("map="+((SparseDoubleMatrix2D)matrix).elements
}
/*
if(kind.equals("sparse")){
inthashCollisions=((SparseDoubleMatrix2D)matrix).elements.hashCollisions
System.out.println("hashCollisions="+hashCollisions)
System.out.println(">"+((double)hashCollisions/(rows*columns))+"hashCollisions/eleme
}
*/

System.out.println("\nNowreading...")
//if(kind.equals("sparse"))((SparseDoubleMatrix2D)matrix).elements.hashCollisions=0
timer2.start()
doubleelement=0
for(inti=0i<runsi++){
for(introw=0row<rowsrow++){
for(intcolumn=0column<columnscolumn++){
element+=matrix.getQuick(row,column)
}
}
}
timer2.stop().display()
timer2.minus(emptyLoop2).display()
System.out.println(size/timer2.minus(emptyLoop2).seconds()+"elements/sec")
if(print)System.out.println(matrix)
//if(kind.equals("sparse"))System.out.println("hashCollisions="+((SparseDoubleMatrix2D)matri
System.out.println(element)//!!!sothatthejittercan'toptimizeawaythewholeloop

System.out.println("\nNowreadingview...")
DoubleMatrix2Dview=matrix.viewPart(0,0,rows,columns)
timer4.start()
element=0
for(inti=0i<runsi++){
for(introw=0row<rowsrow++){
for(intcolumn=0column<columnscolumn++){
element+=view.getQuick(row,column)
}
}
}
timer4.stop().display()
timer4.minus(emptyLoop2).display()
ViewFullCodeHere

Examplesofcern.colt.matrix.DoubleMatrix2D
cern.colt.Timertimer1=newcern.colt.Timer()
cern.colt.Timertimer2=newcern.colt.Timer()
longsize=(((long)rows)*columns)*runs
data:text/html;charset=utf-8,%3Ch2%20style%3D%22font-size%3A%201.3em%3B%20word-wrap%3A%20break-word%3B%20word

3/5

12/21/2015

Examples of DoubleMatrix2D | massapi.com

DoubleMatrix2Dmatrix=null
if(kind.equals("sparse"))matrix=newSparseDoubleMatrix2D(rows,columns,initialCapacity,minL
elseif(kind.equals("dense"))matrix=newDenseDoubleMatrix2D(rows,columns)
//elseif(kind.equals("denseArray"))matrix=newDoubleArrayMatrix2D(rows,columns)
elsethrownewRuntimeException("unknownkind")

System.out.println("\nNowmultiplying...")
matrix.assign(1)
//if(kind.equals("sparse"))((SparseDoubleMatrix2D)matrix).elements.hashCollisions=0
for(inti=0i<runsi++){
timer1.start()
cern.colt.matrix.doublealgo.Transform.mult(matrix,3)
timer1.stop()
}
timer1.display()
System.out.println(size/timer1.seconds()+"elements/sec")

if(print){
System.out.println(matrix)
}
/*
if(kind.equals("sparse")){
inthashCollisions=((SparseDoubleMatrix2D)matrix).elements.hashCollisions
System.out.println("hashCollisions="+hashCollisions)
System.out.println(">"+((double)hashCollisions/(rows*columns))+"hashCollisions/eleme
}
*/

System.out.println("\nNowmultiplying2...")
matrix.assign(1)
//if(kind.equals("sparse"))((SparseDoubleMatrix2D)matrix).elements.hashCollisions=0
for(inti=0i<runsi++){
timer2.start()
cern.colt.matrix.doublealgo.Transform.mult(matrix,3)
timer2.stop()
ViewFullCodeHere

Examplesofcern.colt.matrix.DoubleMatrix2D
System.arraycopy(other.elements,0,this.elements,0,this.elements.length)
returnthis
}

if(haveSharedCells(other)){
DoubleMatrix2Dc=other.copy()
if(!(cinstanceofDenseDoubleMatrix2D)){//shouldnothappen
returnsuper.assign(other)
}
other=(DenseDoubleMatrix2D)c
}
ViewFullCodeHere

Examplesofcern.colt.matrix.DoubleMatrix2D
@returnthenewview.

*/
publicDoubleMatrix2DviewPart(finalintrow,finalintcolumn,intheight,intwidth){
checkBox(row,column,height,width)
DoubleMatrix2Dview=newWrapperDoubleMatrix2D(this){
publicdoublegetQuick(inti,intj){
returncontent.get(row+i,column+j)
}
data:text/html;charset=utf-8,%3Ch2%20style%3D%22font-size%3A%201.3em%3B%20word-wrap%3A%20break-word%3B%20word

4/5

12/21/2015

Examples of DoubleMatrix2D | massapi.com

publicvoidsetQuick(inti,intj,doublevalue){
content.set(row+i,column+j,value)
ViewFullCodeHere

Examplesofcern.colt.matrix.DoubleMatrix2D
@returnanewflipview.
@see#viewColumnFlip

data:text/html;charset=utf-8,%3Ch2%20style%3D%22font-size%3A%201.3em%3B%20word-wrap%3A%20break-word%3B%20word

5/5

Вам также может понравиться