---
title: 线性代数运算库（SCALAPACK）迁移
description: "如表SCALAPACK的替换映射关系所示为可替换的接口与MKL中SCALAPACK的Fortran接口的映射关系（仅给出已优化的接口）。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/mg/kunpengaccel_12_0068.html
sourcePath: /source/zh/kunpenghpcs/hpckit/mg/kunpengaccel_12_0068.html
indexId: 83c3c1be5dca5f4be5a37a9de575c1cee447633fbe7b160b3db1ae76f70b002058
---
# 线性代数运算库（SCALAPACK）迁移

#### 可替换性

如表SCALAPACK的替换映射关系所示为可替换的接口与MKL中SCALAPACK的Fortran接口的映射关系（仅给出已优化的接口）。


**表1 SCALAPACK的替换映射关系**

| MKL接口 | KML接口 | 数据类型 | 描述 |
| --- | --- | --- | --- |
| p?getrf | p?getrf | s、d、c、z | 计算矩阵A的LU分解，允许行交换（partial pivoting）。 |
| p?potrf | p?potrf | s、d、c、z | 计算对称正定矩阵或者Hermite正定矩阵的Cholesky分解。 |
| p?geqrf | p?geqrf | s、d、c、z | 计算矩阵的QR分解，即。 |
| p?gels | p?gels | s、d、c、z | 使用A的QR或LQ分解求解满秩矩阵A或其转置的超定或欠定实线性系统。 |


#### C语言迁移步骤

1. MKL SCALAPACK提供Fortran和SCALAPACK（C语言封装）两种接口，KML SCALAPACK提供的Fortran接口与MKL完全一致，C语言调用时将头文件#include "mkl.h"替换为#include "kscalapack.h" 。


#### Fortran接口迁移步骤

Fortran接口与MKL一致，代码无需修改。
