vs2017使用intel mkl库的设置

安装包:
主要是配置:
新建一个c++项目,依次配置:
方法一:
VC++目录->可执行目录;VC++目录->包含目录;VC++目录->库目录;链接器->附加依赖项。
具体的配置内容如图所示:
①可执行文件目录:
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\bin
在这里插入图片描述
②包含目录:
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\bin
在这里插入图片描述
③库目录:
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\ia32_win
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\ia32_win
在这里插入图片描述
④链接器下输入配置:
mkl_intel_c.lib
mkl_intel_thread.lib
mkl_core.lib
libiomp5md.lib
在这里插入图片描述
自此,基本完成,X64与win32不完全不一样,前面两个一样,但是后面两个如图所示:
在这里插入图片描述
在这里插入图片描述
方法二:
在>>项目>>属性>>Intel Performance Libraries>>Use Intel MKL>>Parallel
在这里插入图片描述
测试代码(.C):

#include <stdio.h>
#include <stdlib.h>
#include "mkl.h"
#define n 4
int main()
{

	int matrix_order = LAPACK_COL_MAJOR;
	char jobvl = 'N';
	char jobvr = 'V';
	double A[n*n] = {
		 0.35,  0.09, -0.44,  0.44,
		 0.09,  0.07, -0.33, 0.52,
		-0.44, -0.33, -0.03, -0.1,
		0.44,  0.52,  -0.1,  0.35 };//4*4矩阵
	int lda = n;
	double wr[n] = { 0 };
	double wi[n] = { 0 };
	double vl[n*n];
	int ldvl = n;
	double vr[n*n];
	int ldvr = n;
	int info = LAPACKE_dgeev(matrix_order, jobvl, jobvr, n, A, lda, wr, wi, vl, ldvl, vr, ldvr);

	if (info == 0) {
		int i = 0;
		int j = 0;
		int flag = 0;//区分复特征值的顺序
		for (i = 0; i < n; i++) {
			printf("eigenvalue %d:", i);
			printf("%.6g + %.6gi\t", wr[i], wi[i]);
			printf("\n");
			printf("right eigenvector: ");
			if (wi[i] == 0)
			{
				for (j = 0; j < ldvr; j++) {
					printf("%.6g\t", vr[i*n + j]);
				}
			}
			else if (flag == 0)//如果该复特征值为这对复特征值的第一个则
			{
				flag = 1;
				for (j = 0; j < ldvr; j++)
				{
					printf("%.6g + %.6gi\t", vr[i*n + j], vr[(i + 1)*n + j]);
				}
			}
			else if (flag == 1)//如果该复特征值为这对复特征值的第二个则
			{
				flag = 0;
				for (j = 0; j < ldvr; j++)
				{
					printf("%.6g + %.6gi\t", vr[(i - 1)*n + j], -vr[i*n + j]);
				}
			}
			printf("\n");
		}
		getchar();//必须要有这句
		printf("SUCCESS\n");
	}
	return 0;
}
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值