前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3 Spark机器学习 spark MLlib 矩阵向量、矩阵运算Breeze库-2

3 Spark机器学习 spark MLlib 矩阵向量、矩阵运算Breeze库-2

作者头像
天涯泪小武
发布2019-01-17 12:08:44
1.1K0
发布2019-01-17 12:08:44
举报
文章被收录于专栏:SpringCloud专栏SpringCloud专栏

上一篇是矩阵的创建、连接等相关操作。

这一篇主要是矩阵的数值计算。

1 基本运算

元素加法

a+b

元素乘法

*:*

元素除法

/:/

元素比较

<:<

元素相等

:==

元素追加

:+=

元素追乘

:*=

元素最大值

max(a)

元素最大值及位置

argmax(a)

代码语言:javascript
复制
package breeze

import breeze.linalg.{DenseMatrix, argmax, max}

object Math {
    def main(args: Array[String]): Unit = {
        val a = DenseMatrix((1, 2, 3), (4, 5, 6))
        val b = DenseMatrix((1, 1, 1), (2, 2, 2))
        println(a + b)
        println("-------------")
        //每个元素相乘
        println(a *:* b)
        println("-------------")
        //每个元素相除
        println(a /:/ b)
        println("-------------")
        //比较每个元素的大小
        println(a <:< b)
        println("-------------")
        //是否相等
        println(a :== b)
        println("-------------")
        //追加,每个元素都加1
        println(a :+= 1)
        println("-------------")
        //追乘,每个元素都乘2
        println(a :*= 2)
        println("-------------")
        val x = DenseMatrix((1, 2, 3), (4, 5, 6))
        //元素最大值
        println(max(x))
        println("-------------")
        //最大值及其位置
        println(argmax(x))
    }

}

2 求和函数

主要是对矩阵内行、列等的求和函数。

所有元素的和

sum(a)

某一列求和

sum(a(::, 1))

某一行求和

sum(a(0, ::))

对角线元素和

trace(a)

代码语言:javascript
复制
import breeze.linalg.{DenseMatrix, accumulate, sum, trace}

object Sum {
    def main(args: Array[String]): Unit = {
        val a = DenseMatrix((1, 2, 3), (4, 5, 6))
        println(sum(a))
        println("-----------")
        //对第2列求和
        println(sum(a(::, 1)))
        println("-----------")
        //对第1行求和
        println(sum(a(0, ::)))
        println("-----------")
        //对角线求和,必须是正方形矩阵
        val b = DenseMatrix((1, 2, 3), (4, 5, 6), (7, 8, 9))
        println(trace(b))
    }

}

3 其他

此外还有很多,如布尔函数、线性代数函数、取整、四舍五入等等。就不多介绍,这些不太常用的可以在需要时去查api即可。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年10月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 基本运算
  • 2 求和函数
  • 3 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档