阿里笔试题矩阵相乘问题

有两个NN的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算AB。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)?
A按行存,B按行存。
A按行存,B按列存。
A按列存,B按行存。
A按列存,B按列存。

阅读 6k
3 个回答

我觉得,根据AxB,应该是A按照行存储,B按照列存储,这个跟矩阵向量计算有关.

A按行存,B按行存。

自己思考的,可能不对。

循环取A第l行 {
    初始化临时n * n矩阵
    按顺序循环取此行第a个数{
        与B中第a行相乘得到一个临时n * 1矩阵,存放到临时矩阵第a行
    }
    对临时矩阵求列和得到一个 n * 1矩阵存放到结果矩阵第l行
}

可以用结果矩阵当临时矩阵。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进