非方阵点乘算法

2023-11-13

非方阵点乘算法

基于<算法4>中的P12矩阵相乘(方阵), 探索非方阵点乘.

线代基础

能够点乘的矩阵, 一定满足 前行=后列 .

算法思考

解决矩阵运算问题, 切勿凭空想象. 应脚踏实地, 举个简单例子写在草稿纸上, 并观察 各矩阵下标变化规律.

在这里插入图片描述
c表示结果矩阵, 第一列表示a矩阵(前), 第二列表示b矩阵(后).

下标变化一致的用同一变量记录, 观察一个变量不变的情况下其他变量的变化规律, 一般可以找出循环嵌套.

比如a的第二维度与b的第一维度的变化相同, 用k变量记录. 在a的第一维度不变的情况下, b的第二维度有规律的变化, 则可以用循环去嵌套.

Java实现

import java.util.Arrays;

public class lab {

    public static void main(String[] args) {
        int[][] a = new int[2][3];
        int[][] b = new int[3][2];

        int n = 1;

        for(int i = 0; i < 2; i++) {
            for(int j = 0; j < 3; j++) {
                a[i][j] = n;
                ++n;
            }
        }

        System.out.println(Arrays.deepToString(a));

        n = 1;

        for(int i = 0; i < 3; i++) {
            for(int j = 0; j < 2; j++) {
                b[i][j] = n;
                ++n;
            }
        }

        System.out.println(Arrays.deepToString(b));

        int a_rows = a.length;
        System.out.println(a_rows);

        int b_columns = b[0].length;
        System.out.println(b_columns);

        if(a_rows != b_columns) {
            System.out.println("Error Shape: Matrix A and B must have a same shape!");
            System.exit(-1);
        }

        int N = a_rows;
        int K = a[0].length;

        int[][] c = new int[N][N];
        for(int i = 0; i < N; i++) {
            for(int j = 0; j < N; j++) {
                for(int k = 0; k < K; k++) {
                    c[i][j] += a[i][k] * b[k][j];
                }
            }
        }

        System.out.println(Arrays.deepToString(c));

    }
}

运行效果

[[1, 2, 3], [4, 5, 6]] # a
[[1, 2], [3, 4], [5, 6]] # b
2 # a_rows
2f # b_columns
[[22, 28], [49, 64]] # c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非方阵点乘算法 的相关文章

  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • spark 解决办法 check your cluster UI to ensure that workers are registered and have sufficient memory

    报错 WARN scheduler TaskSchedulerImpl Initial job has not accepted any resources check your cluster UI to ensure that work
  • 第35步 机器学习实战DLC:不平衡数据处理(下)

    失踪人口回归的第二期 继续说一说用PSM处理不平衡数据 一 啥叫PSM PSM全称为Propensity Score Matching 翻译过来就是倾向匹配得分 为了省流 让小Chart介绍一下 放到我们的数据就是 根据某个特征 从对类别0
  • python均值插补法填补缺失值_python数据分析:缺失值处理

    我们拿到的原始数据通常都是一团糟的 缺失值尤其常见 自己在做论文的时候也常常被缺失数据困扰 所以打算写一些如何用python进行缺失值的处理 首先需要大家注意的是 数据的清理很枯燥 但是很重要 根据IBM的研究 数据科学家80 的时间都在做
  • vue+element锚点跳转+自动感应导航栏

    最近来个需求 要做一个页面 每个模块都是百分百全屏且右侧有个导航栏能自动感应在哪个模块 点击也能直接跳转到该锚点 其实难点也就那几个 慢慢捋一下就好 话不多说上代码 1 锚点跳转且点击哪个会模块右侧导航栏就会高亮 我这个导航栏是因为未来增加
  • 警惕免杀版Gh0st木马!

    https github com SecurityNo1 Gh0st2023 经过调查发现 这款开源的高度免杀版Gh0st木马目前正在大范围传播 据称可免杀多种主流杀软 开发者不仅制作了新颖的下载页面 还设法增加了搜索引擎的收录权重 吸引了
  • 【机器学习】14、sklearn

    文章目录 一 机器学习概览 二 分类 2 1 二分类器 2 多分类器 2 3 误差分析 三 训练模型 3 1 线性回归和逻辑回归 3 2 逻辑回归 3 3 softmax回归 练习题4 四 SVM 练习题5 五 决策树 练习题6 六 集成学
  • 微信小程序嵌套的H5使用小程序分享(分享微信好友或朋友圈)

    需求说明 嵌套在微信小程序中的H5想要使用小程序自带分享功能 分享H5的页面给微信好友或朋友圈 实现原理 H5中可使用wx miniProgram postMessage向小程序的webview发送消息 会触发组件的message事件 在小
  • kvm-ovirt-vdsm安装记录

    小技巧 1 fedaro 19自动查找最快yum源 yum install yum fastestmirror 2 libvirt启动sasl添加用户 saslpasswd2 c a libvirt admin 3 查看kvm模块 lsmo
  • 第十三届蓝桥杯A组Python组心得分享

    第一次写心得类的文章 趁着假期有时间 记录一下在准备这个比赛间的一些心得和一些问题的思路 前面是碎碎念 直接看问题解决思路的可以跳到后面 先说情况 省一 小题对了第一个 大题写出来了五个 不确定是否全部AC 认真准备这个比赛的时间不超过一周
  • 【今日CV 计算机视觉论文速览】Wed, 13 Mar 2019

    今日CS CV计算机视觉论文速览 Wed 13 Mar 2019 Totally 25 papers Interesting 自动医学图像分析 主要就x光乳腺癌检测 胸片CT肺结合检测 脑部颈部病变检测等方面展开研究 并阐述了如何生成数据
  • iOS左对齐自动换行collection样式

    前言 想必大家工作中或多或少会遇到下图样式的UI需求吧 像这种cell长度不固定 以此向右对齐排列的样式UI可以说是很常见的 实现方式 一般的实现可能主要是分一下两种 1 一种是用button依次排列实现 动态计算text宽度 记录之前一个
  • Ruby on Rails emoji表情通过json返回

    原因 大概意思是 emoji表情是5位字符 而to json as json最多支持4个字符 导致返回的emoji不完整 客户端就不会识别 导致乱码 解决方法 在config initializers文件夹下新建patches rb 文件
  • 【项目复盘React】react封装动态组件+组件懒加载(hook版)

    使用到的hook useContext 使用到的api lazy React 1 在utils文件夹下新建文件夹testContext 2 新建文件PersonContext js 导出一个Context对象实例 import React
  • 射频原理图设计checklist

    射频原理图设计checklist 持续更新 文章目录 射频原理图设计checklist 1 WiFi GPS测试兼容 2 SAR SENSER 的GPIO控制和电源供电需常开 3 射频收发器与基带芯片之间的IQ连接线需参考平台推荐 4 主集
  • WEB靶场系类搭建

    环境 windwos centos ubuntu DVWA 1 进 phpmyadmin创建dvwa数据库 2 修改配置文件 3 输入127 0 0 1 dvwa 安装 pikachu 1 直接修改配置文件 2 127 0 0 1 pika
  • js实现瀑布流布局

    实现思路是 收集列表元素数组 每列定宽不定高 列表元素全部相对于容器元素绝对定位 根据容器可视宽度计算每行的元素盛放个数 根据盛放个数先处理第一行 依次排列在第一行 处理后续元素 维护一个每列当前高度的数组 对于后续行的元素 依次往当前最低
  • 每日一库之Go 强大而灵活的电子邮件库:email

    发送邮件是一个很常见的需求 用户邮箱验证 邮箱召回等 Go 语言标准库自带 net smtp 库 实现了 smtp 协议 用于发送邮件 然而这个库比较原始 使用不方便 而且官方声明不再增加新功能 于是乎出现了一些强大的第三方邮件库 今天推荐
  • PSD 格式文件除了 PS ,还能用什么软件打开?

    有人问 除了 Photoshop 还有哪些软件能打开 PSD 格式文件呢 当我看到这个问题时 我立刻理解了他的烦恼 因为有段时间 我的电脑里没有安装 Photoshop 但有一次 我的同事发了一个 PSD 文件给我 我却无法联系到他 我急需
  • linux(centos7) 查看剩余磁盘空间大小

    df hl 查看磁盘剩余空间 df h 查看每个根路径的分区大小 du sh 目录名 返回该目录的大小 du sm 文件夹 返回该文件夹总M数 du h 目录名 查看指定文件夹下的所有文件大小 包含子文件夹 查看硬盘的分区 sudo fdi
  • 非方阵点乘算法

    非方阵点乘算法 基于 lt 算法4 gt 中的P12矩阵相乘 方阵 探索非方阵点乘 线代基础 能够点乘的矩阵 一定满足 前行 后列 算法思考 解决矩阵运算问题 切勿凭空想象 应脚踏实地 举个简单例子写在草稿纸上 并观察 各矩阵下标变化规律