---
source_url: https://docs.dolphindb.cn/zh/funcs/g/gram.html
fetched_at: 2026-05-19T09:27:04Z
category: funcs
title: gram
sha1: 29061907b2f7900972478a96f8a712aab0bfa58e
---

# gram

## 语法

`gram(ds, [colNames], [subMean], [normalize])`

## 详情

计算数据源中对应列的数据的格拉姆矩阵。假设数据对应的矩阵为 A，返回的结果为 A 的转置与其自身的点积，即 A.tranpose() dot A。

## 参数

**ds** 是一个或多个数据源，通常由 [sqlDS](../s/sqlDS.html) 生成。

**colNames** 是字符串标量或向量，表示数据源中用于计算的列名。默认值是数据源中所有列的列名。

**subMean** 是一个布尔值，表示每列是否减去该列的均值。默认值为 true。

**normalize** 是一个布尔值，表示每列是否除以该列的标准差。默认值为 false。

## 返回值

一个矩阵。

## 例子

```dolphindb
x = [7,1,1,0,5,2]
y = [0.7, 0.9, 0.01, 0.8, 0.09, 0.23]
t=table(x, y)
ds = sqlDS(<select * from t>);
gram(ds);
```

| #0 | #1 |
| --- | --- |
| 37.333333 | -0.56 |
| -0.56 | 0.75895 |
