Mahout
  1. Mahout
  2. MAHOUT-1297

New module for linear algebra scala DSL (in-core operators support only to start with)

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.8
    • Fix Version/s: 0.9
    • Component/s: None
    • Labels:
      None

      Description

      See initial set of in-core R-like operations here http://weatheringthrutechdays.blogspot.com/2013/07/scala-dsl-for-mahout-in-core-linear.html.

      A separate DSL for matlab-like syntax is being developed. The differences here are about replacing R-like %*% with * and finding another way to express elementwise * and /.

        Issue Links

          Activity

          Hide
          Dmitriy Lyubimov added a comment -

          At this point this is tracked here : https://github.com/dlyubimov/mahout-commits/tree/dev-0.9.x-scala

          Per discussion, separated R - like matrix/vector DSL into separate opearations.

          To enable R side, the code needs to include import

          import mahout.math.RLikeOps._
          

          to enable matlab side, the code needs to include import

          import mahout.math.MatlabLikeOps._
          

          Also added transposed view instead of actual transpsoe (depends on MAHOUT-1300) and SSVD optimization using Gaussian matrix view from the same MAHOUT-1300.

          Show
          Dmitriy Lyubimov added a comment - At this point this is tracked here : https://github.com/dlyubimov/mahout-commits/tree/dev-0.9.x-scala Per discussion, separated R - like matrix/vector DSL into separate opearations. To enable R side, the code needs to include import import mahout.math.RLikeOps._ to enable matlab side, the code needs to include import import mahout.math.MatlabLikeOps._ Also added transposed view instead of actual transpsoe (depends on MAHOUT-1300 ) and SSVD optimization using Gaussian matrix view from the same MAHOUT-1300 .
          Hide
          Dmitriy Lyubimov added a comment - - edited
          A.t 
          

          is now a view based on MAHOUT-1300. To actually get a by-value transposed copy of A, one can use

          A.t cloned
          

          This is based on observation that people actually really need to actually materialize a transposed matrix as a copy.

          Also, in-core ssvd now uses random matrix functional view (instead of actual memory-materialized random matrix). I guess i will use the same mechanics in the distributed spark version too.

          Show
          Dmitriy Lyubimov added a comment - - edited A.t is now a view based on MAHOUT-1300 . To actually get a by-value transposed copy of A, one can use A.t cloned This is based on observation that people actually really need to actually materialize a transposed matrix as a copy. Also, in-core ssvd now uses random matrix functional view (instead of actual memory-materialized random matrix). I guess i will use the same mechanics in the distributed spark version too.
          Hide
          Dmitriy Lyubimov added a comment - - edited

          Separating this into its own branch from scala head work.

          it is now tracked in https://github.com/dlyubimov/mahout-commits/tree/MAHOUT-1297

          i will be committing this to the trunk within a week.

          Show
          Dmitriy Lyubimov added a comment - - edited Separating this into its own branch from scala head work. it is now tracked in https://github.com/dlyubimov/mahout-commits/tree/MAHOUT-1297 i will be committing this to the trunk within a week.
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in Mahout-Quality #2320 (See https://builds.apache.org/job/Mahout-Quality/2320/)
          MAHOUT-1297: initial write-up of in-core mahout scala DSL

          Squashed commit of the following:

          commit 9fff9c190f908133d288512c1ae1deef617a0845
          Merge: 62aa138 ebfb3a3
          Author: Dmitriy Lyubimov <dlyubimov@apache.org>
          Date: Mon Nov 11 16:19:27 2013 -0800

          Merge branch 'trunk' into MAHOUT-1297

          commit 62aa1387067d33b1d9253e093dea59f7393308a0
          Author: Dmitriy Lyubimov <dlyubimov@apache.org>
          Date: Tue Nov 5 14:35:59 2013 -0800

          Fixing license headers.

          commit dd921c4261af0d8d48437b166a964373a30d6f85
          Author: Dmitriy Lyubimov <dlyubimov@apache.org>
          Date: Tue Nov 5 14:28:42 2013 -0800

          cutting off MAHOUT-1297 from the head of scala-dev branch using tree merge for the math-scala subtree. (dlyubimov: rev 1540905)

          • /mahout/trunk/math-scala
          • /mahout/trunk/math-scala/pom.xml
          • /mahout/trunk/math-scala/src
          • /mahout/trunk/math-scala/src/main
          • /mahout/trunk/math-scala/src/main/scala
          • /mahout/trunk/math-scala/src/main/scala/mahout
          • /mahout/trunk/math-scala/src/main/scala/mahout/math
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeMatrixOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeTimesOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeVectorOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/MatrixOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeMatrixOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeTimesOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeVectorOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/SSVD.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/VectorOps.scala
          • /mahout/trunk/math-scala/src/main/scala/mahout/math/package.scala
          • /mahout/trunk/math-scala/src/test
          • /mahout/trunk/math-scala/src/test/scala
          • /mahout/trunk/math-scala/src/test/scala/mahout
          • /mahout/trunk/math-scala/src/test/scala/mahout/math
          • /mahout/trunk/math-scala/src/test/scala/mahout/math/MathSuite.scala
          • /mahout/trunk/math-scala/src/test/scala/mahout/math/MatlabLikeMatrixOpsSuite.scala
          • /mahout/trunk/math-scala/src/test/scala/mahout/math/MatrixOpsSuite.scala
          • /mahout/trunk/math-scala/src/test/scala/mahout/math/RLikeMatrixOpsSuite.scala
          • /mahout/trunk/math-scala/src/test/scala/mahout/math/RLikeVectorOpsSuite.scala
          • /mahout/trunk/math-scala/src/test/scala/mahout/math/VectorOpsSuite.scala
          • /mahout/trunk/pom.xml
          Show
          Hudson added a comment - SUCCESS: Integrated in Mahout-Quality #2320 (See https://builds.apache.org/job/Mahout-Quality/2320/ ) MAHOUT-1297 : initial write-up of in-core mahout scala DSL Squashed commit of the following: commit 9fff9c190f908133d288512c1ae1deef617a0845 Merge: 62aa138 ebfb3a3 Author: Dmitriy Lyubimov <dlyubimov@apache.org> Date: Mon Nov 11 16:19:27 2013 -0800 Merge branch 'trunk' into MAHOUT-1297 commit 62aa1387067d33b1d9253e093dea59f7393308a0 Author: Dmitriy Lyubimov <dlyubimov@apache.org> Date: Tue Nov 5 14:35:59 2013 -0800 Fixing license headers. commit dd921c4261af0d8d48437b166a964373a30d6f85 Author: Dmitriy Lyubimov <dlyubimov@apache.org> Date: Tue Nov 5 14:28:42 2013 -0800 cutting off MAHOUT-1297 from the head of scala-dev branch using tree merge for the math-scala subtree. (dlyubimov: rev 1540905) /mahout/trunk/math-scala /mahout/trunk/math-scala/pom.xml /mahout/trunk/math-scala/src /mahout/trunk/math-scala/src/main /mahout/trunk/math-scala/src/main/scala /mahout/trunk/math-scala/src/main/scala/mahout /mahout/trunk/math-scala/src/main/scala/mahout/math /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeMatrixOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeTimesOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/MatlabLikeVectorOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/MatrixOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeMatrixOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeTimesOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/RLikeVectorOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/SSVD.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/VectorOps.scala /mahout/trunk/math-scala/src/main/scala/mahout/math/package.scala /mahout/trunk/math-scala/src/test /mahout/trunk/math-scala/src/test/scala /mahout/trunk/math-scala/src/test/scala/mahout /mahout/trunk/math-scala/src/test/scala/mahout/math /mahout/trunk/math-scala/src/test/scala/mahout/math/MathSuite.scala /mahout/trunk/math-scala/src/test/scala/mahout/math/MatlabLikeMatrixOpsSuite.scala /mahout/trunk/math-scala/src/test/scala/mahout/math/MatrixOpsSuite.scala /mahout/trunk/math-scala/src/test/scala/mahout/math/RLikeMatrixOpsSuite.scala /mahout/trunk/math-scala/src/test/scala/mahout/math/RLikeVectorOpsSuite.scala /mahout/trunk/math-scala/src/test/scala/mahout/math/VectorOpsSuite.scala /mahout/trunk/pom.xml
          Hide
          Stevo Slavic added a comment -

          Dmitriy Lyubimov, any particular reason why old Scala 2.9 is used instead of 2.10?

          Show
          Stevo Slavic added a comment - Dmitriy Lyubimov , any particular reason why old Scala 2.9 is used instead of 2.10?
          Hide
          Dmitriy Lyubimov added a comment -

          yes. Spark 0.8 still has 2.9.3 scala dependency. since this issue is really a dependency crutch for spark-distributed issues (at this point anyway), hence.

          Show
          Dmitriy Lyubimov added a comment - yes. Spark 0.8 still has 2.9.3 scala dependency. since this issue is really a dependency crutch for spark-distributed issues (at this point anyway), hence.
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in Mahout-Quality #2336 (See https://builds.apache.org/job/Mahout-Quality/2336/)
          MAHOUT-1297: Defined svn:ignore for the new module (sslavic: rev 1545888)

          • /mahout/trunk/math-scala
          Show
          Hudson added a comment - SUCCESS: Integrated in Mahout-Quality #2336 (See https://builds.apache.org/job/Mahout-Quality/2336/ ) MAHOUT-1297 : Defined svn:ignore for the new module (sslavic: rev 1545888) /mahout/trunk/math-scala

            People

            • Assignee:
              Suneel Marthi
              Reporter:
              Dmitriy Lyubimov
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development