Fortran Coder

data 与 reshape 用法探究

查看数: 2863 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-8-7 20:23

正文摘要:

本帖最后由 zjk0112 于 2022-8-7 20:31 编辑 我练习改写lapack dgetrf2.f 为dgetrf2.f90。在测试过程中遇到下面问题 1)当我的数组A用data方式表示(如图1) 但是我不清楚问题发生的原因,希望雪球大神看到帖 ...

回复

zjk0112 发表于 2022-8-8 18:34:31
本帖最后由 zjk0112 于 2022-8-8 18:40 编辑

破案了,感谢各位的建议和帮助。不过lapack的套娃代码实在有点多,就没截图,下次尝试上传.f90文档。问题不出在data和reshape,而是dgemm这个矩阵乘法的subroutine里面对lda参数理解有偏差。我把lda修改后问题的得到解决。后来,我也重复运行那段问题代码,有时会运行出结果,有时会跑不出值,有时vs2019卡住然后重启。我觉得可能是我IDE有问题。
zjk0112 发表于 2022-8-8 18:33:55
Transpose 发表于 2022-8-7 22:11
建议上传完整可运行的有问题的代码,方便查错。初步判断,这个应该和 data reshape 无关
----
data 可以用 ...

万分感谢,确实不是data和reshape的问题,乌龙一场。
zjk0112 发表于 2022-8-8 18:28:58
fcode 发表于 2022-8-8 08:46
3楼说得没错。
data 是按照内存顺序逐个填充,无论数据结构(一维或二维),所以是一种不建议使用的方式。
...

好的,感谢雪球大神
fcode 发表于 2022-8-8 08:46:36
3楼说得没错。
data 是按照内存顺序逐个填充,无论数据结构(一维或二维),所以是一种不建议使用的方式。

根据你给出的 program test1 代码,我试了一下,没有重现问题。不管是data还是reshape都是正常的。
(下次尽量复制粘贴代码,不要截图,我重新打一遍有点累)

如果有一份完整的,复制粘贴的代码可以测试,可能会更快的找出问题。
zjk0112 发表于 2022-8-8 00:59:47
Transpose 发表于 2022-8-7 22:11
建议上传完整可运行的有问题的代码,方便查错。初步判断,这个应该和 data reshape 无关
----
data 可以用 ...

别建议了。能传的都传了。
Transpose 发表于 2022-8-7 22:11:31
本帖最后由 Transpose 于 2022-8-7 22:24 编辑

建议上传完整可运行的有问题的代码,方便查错。初步判断,这个应该和 data reshape 无关
----
data 可以用于任意rank的数组,也可以放在任意位置,只会在程序开始调用一次
reshape 用于改变数组的rank,本身返回一个数组对象
zjk0112 发表于 2022-8-7 20:32:58
我想知道data表示的数组是一维数组还是而二维数组,我能不能用data表示二维数组,还是不需要data表示二位数组。

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 00:01

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表