test file
Merge branch 'star-sem-2012' of https://github.com/fozziethebeat/S-Space into star-sem-2012
Finally added the ability to project new documents into the LSA/LSI document
space.  Lots and lots of other minor fixes and adjustments to make this work
and/or debuggable.

	modified:   src/main/java/edu/ucla/sspace/basis/BasisMapping.java

- Fixed javadoc typo

	modified:   src/main/java/edu/ucla/sspace/common/GenericTermDocumentVectorSpace.java

- Sped up the token counting with a Counter class

	modified:   src/main/java/edu/ucla/sspace/common/Similarity.java

- Added a new version of Spearman's rho that accounts for ties, as reported in
  the Nonparametric Statistics handbook.  However, this new version doesn't seem
  to agree with existing results, despite matching the examples in the book...

	modified:   src/main/java/edu/ucla/sspace/common/Statistics.java

- Added support for getting the mode of a sequence

	modified:   src/main/java/edu/ucla/sspace/graph/AbstractGraph.java

- Added support for pre-allocating the number of vertices and edges in a graph
  to avoid having to rehash large graphs

	modified:   src/main/java/edu/ucla/sspace/graph/ChineseWhispersClustering.java

- Fixed some bugs (probably?)

- Pushed primitive shuffle to PrimitiveCollections

	new file:   src/main/java/edu/ucla/sspace/graph/CompactSparseTypedEdgeSet.java

- Alternate implementation of edge sets that is vertex pivoted instead of
  type-pivoted.  Not sure how to expose this as a configurable paramater yet.

	modified:   src/main/java/edu/ucla/sspace/graph/SparseTypedEdgeSet.java

- Reworked to be type-pivoted

	modified:   src/main/java/edu/ucla/sspace/graph/SparseUndirectedEdgeSet.java

- Added support for preallocating space for new edges

	modified:   src/main/java/edu/ucla/sspace/graph/SparseUndirectedGraph.java

- Added support for preallocating space based on the expected size of the graph

	new file:   src/main/java/edu/ucla/sspace/graph/io/PajekWriter.java

- Added minimal support for writing in Pajek format

	modified:   src/main/java/edu/ucla/sspace/lsa/LatentSemanticAnalysis.java

- Lots of fun to tweaks to support new document projection

- Tightened the class constructor to only allow SVD dimensionality reductions,
  since this is LSA proper.

	modified:   src/main/java/edu/ucla/sspace/mains/LSAMain.java

- Reworked to use the new SingularValueDecomposition interface

	modified:   src/main/java/edu/ucla/sspace/mains/PLSAMain.java

- NOTE: this code is now broken :( We probably need to have a new middle
  abstract class between GenericTermDocumentSpace and LSA/PLSA

	modified:   src/main/java/edu/ucla/sspace/matrix/AbstractMatrix.java

- Added a useful toString()

- Fixed equals() which was broken but for still unexplained reasons.

	modified:   src/main/java/edu/ucla/sspace/matrix/ArrayMatrix.java
	modified:   src/main/java/edu/ucla/sspace/matrix/DiagonalMatrix.java
	modified:   src/main/java/edu/ucla/sspace/matrix/GrowingSparseMatrix.java
	modified:   src/main/java/edu/ucla/sspace/matrix/RowMaskedMatrix.java
	modified:   src/main/java/edu/ucla/sspace/matrix/TransposedMatrix.java

- Now extends AbstractMatrix

	modified:   src/main/java/edu/ucla/sspace/matrix/BaseTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/CorrelationTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/GlobalTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/LogEntropyTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/LogLikelihoodTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/PointWiseMutualInformationTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/RowMagnitudeTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/TfIdfDocStripedTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/TfIdfTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/Transform.java

- Now supports applying the transform to new documents (column vectors) that
  weren't in the original data

	modified:   src/main/java/edu/ucla/sspace/matrix/NoTransform.java

- Now properly supports GlobalTransform so it can be used in LSA

	modified:   src/main/java/edu/ucla/sspace/matrix/Matrices.java

- Better error message

	modified:   src/main/java/edu/ucla/sspace/matrix/SVD.java

- Updated to use the new SingularValueDecomposition interfaces

	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/AbstractSvd.java
	new file:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecomposition.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionLibC.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionLibJ.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionMatlab.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionOctave.java

- Added new interface for the SVD, which supports returning the U, S, and V
  decomposed matrixes and not their premultiplied form

	modified:   src/main/java/edu/ucla/sspace/text/WordIterator.java

- Removed private protection on the current line so subclass could inspect it

	modified:   src/main/java/edu/ucla/sspace/tools/IterativeBigramExtractor.java

- Fixed typo in command line options

	modified:   src/main/java/edu/ucla/sspace/util/KrippendorffsAlpha.java

- Added support for computing alpha using the Interval level of measuremnt

	modified:   src/main/java/edu/ucla/sspace/util/ObjectCounter.java

- Fixed bug in min()/max()

	new file:   src/main/java/edu/ucla/sspace/util/Triple.java

- Yet another tuple object

	new file:   src/main/java/edu/ucla/sspace/util/primitive/DoublePair.java

- Primimite pair to match IntPair

	modified:   src/main/java/edu/ucla/sspace/util/primitive/IntPair.java

- Fixed formatting

	modified:   src/main/java/edu/ucla/sspace/util/primitive/PrimitiveCollections.java

- Added the ability to shuffle an int[]

	modified:   src/main/java/edu/ucla/sspace/vector/SparseHashDoubleVector.java

- Now extends AbstractDoubleVector

	modified:   src/main/java/edu/ucla/sspace/vector/SparseHashIntegerVector.java

- Fixed performance bug where the magnitude was not cached

	modified:   src/test/java/edu/ucla/sspace/common/SimilarityTest.java

- Added more unit tests for Spearman's rho

	new file:   src/test/java/edu/ucla/sspace/graph/CompactSparseTypedEdgeSetTests.java

- New unit tests

	modified:   src/test/java/edu/ucla/sspace/graph/SparseTypedEdgeSetTests.java

- More unit tests

	new file:   src/test/java/edu/ucla/sspace/lsa/LatentSemanticAnalysisTest.java

- Tested project() based on worked example on website

	modified:   src/test/java/edu/ucla/sspace/matrix/ArrayMatrixTests.java

- Added test for matrix equality

	modified:   src/test/java/edu/ucla/sspace/matrix/FileTransformUtil.java

- Added test for new transform behavior

	modified:   src/test/java/edu/ucla/sspace/matrix/RowMaskedMatrixTest.java

- Added weird debug to try to figure out what was going with ArrayMatrix.equal()

	new file:   src/test/java/edu/ucla/sspace/util/KrippendorffsAlphaTest.java

- Added unit tests for some of Alpha's possible computations

	modified:   src/test/java/edu/ucla/sspace/util/ObjectCounterTest.java

- Verified min()/max()

	new file:   src/test/java/edu/ucla/sspace/vector/AbstractDoubleVectorTest.java

- Added test for equals()
Small typo fixes

	modified:   src/main/java/edu/ucla/sspace/graph/ChineseWhispersClustering.java

- Removed println

	modified:   src/main/java/edu/ucla/sspace/lsa/LatentSemanticAnalysis.java

- Corrected projection linear algebra description and variable naming
Updates based on Keith's comments

	modified:   src/main/java/edu/ucla/sspace/common/Similarity.java

- Added some more documentation to Spearman's rho

- Fixed the *Vector implementions of Spearman's rho to just call the correct array-based implementations

	modified:   src/main/java/edu/ucla/sspace/graph/io/PajekWriter.java

- Removed commented code and added javadoc

	modified:   src/main/java/edu/ucla/sspace/lsa/LatentSemanticAnalysis.java

- Improved projected vector construction based on Keith's suggestion

	modified:   src/main/java/edu/ucla/sspace/matrix/Transform.java

- Added missing method javadoc

	modified:   src/main/java/edu/ucla/sspace/util/KrippendorffsAlpha.java

- Removed dead code

- Added class and method javadoc

- Renamed the DifferenceFunction enum to LevelOfMeasurement, which is much more
  readable and easier to interpreted from the caller's side

	modified:   src/main/java/edu/ucla/sspace/util/Triple.java
	modified:   src/main/java/edu/ucla/sspace/util/primitive/DoublePair.java

- Fixed wonky tab spacing

	modified:   src/main/java/edu/ucla/sspace/util/primitive/PrimitiveCollections.java

- Fixed shuffle call that should have just used the overloaded method with the class-local Random instanced

- Added shuffle implementations for double[] and long[] while I was there
Fixed two compilation bugs (all important unit tests pass)
Mostly changes to allow LSA to be serializable.  Important bug fix to the sparse hash double vector.

	modified:   src/main/java/edu/ucla/sspace/common/GenericTermDocumentVectorSpace.java
	modified:   src/main/java/edu/ucla/sspace/lsa/LatentSemanticAnalysis.java
	modified:   src/main/java/edu/ucla/sspace/matrix/BaseTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/LogEntropyTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/NoTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/SvdlibcSparseBinaryMatrixBuilder.java
	modified:   src/main/java/edu/ucla/sspace/matrix/TfIdfTransform.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionLibC.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionLibJ.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionMatlab.java
	modified:   src/main/java/edu/ucla/sspace/matrix/factorization/SingularValueDecompositionOctave.java

- Made classes serializable

- Made file-based state transient

	modified:   src/main/java/edu/ucla/sspace/vector/SparseHashDoubleVector.java

- Fixed bug where vector changes that resulted in a zero entry did not affect
  the non-zero entry array

	modified:   src/test/java/edu/ucla/sspace/vector/SparseHashDoubleVectorTests.java

- Added unit test to verify bug fix

	modified:   src/test/java/edu/ucla/sspace/vector/SparseHashIntegerVectorTests.java

- Added unit test to verify bug fix was not in the integer-based equivalent class
merging with master
checking in changes to address Keith's comments
making the SVDLIBC extend the base class
Merge pull request #20 from fozziethebeat/star-sem-2012

Merging the latest changes from star-sem-2012 to the master.  These changes add several bug fixes and allow for LSA models to project new documents into the latent document space.