# 向量操作函数接口
向量操作函数实现的功能包括：向量大小比较、向量加法、向量减法、向量按位乘法等。
#### inner_product
**功能说明**：计算两个向量的内积。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：float8
**代码示例**：
```
gaussdb=# SELECT inner_product(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT inner_product('[1,2,3]', '[5,-1,3.5]');
```
#### vector_negative_inner_product
**功能说明**：计算两个向量的负内积。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：float8
**代码示例**：
```
gaussdb=# SELECT vector_negative_inner_product(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_negative_inner_product('[1,2,3]', '[5,-1,3.5]');
```
#### vector_dims
**功能说明**：返回floatvector向量的维度值。
**入参类型**：floatvector
**出参类型**：int4
**代码示例**：
```
gaussdb=# SELECT vector_dims(floatvector('[1,2,3]'));
gaussdb=# SELECT vector_dims('[1,2,3]');
```
#### vector_norm
**功能说明**：返回向量的L2范数。
**入参类型**：floatvector
**出参类型**：float8
**代码示例**：
```
gaussdb=# SELECT vector_norm(floatvector('[1,2,3]'));
gaussdb=# SELECT vector_norm('[1,2,3]');
```
#### vector_add
**功能说明**：计算两个向量的和。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：floatvector
**代码示例**：
```
gaussdb=# SELECT vector_add(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_add('[1,2,3]', '[5,-1,3.5]');
```
#### vector_sub
**功能说明**：计算两个向量的差。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：floatvector
**代码示例**：
```
gaussdb=# SELECT vector_sub(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_sub('[1,2,3]', '[5,-1,3.5]');
```
#### vector_lt
**功能说明**：比较两个向量的大小，向量1是否小于向量2。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT vector_lt(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_lt('[1,2,3]', '[5,-1,3.5]');
```
#### vector_le
**功能说明**：比较两个向量的大小，向量1是否小于等于向量2。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT vector_le(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_le('[1,2,3]', '[5,-1,3.5]');
```
#### vector_eq
**功能说明**：比较两个向量是否相等。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT vector_eq(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_eq('[1,2,3]', '[5,-1,3.5]');
```
#### vector_ne
**功能说明**：比较两个向量是否不等。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT vector_ne(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_ne('[1,2,3]', '[5,-1,3.5]');
```
#### vector_ge
**功能说明**：比较两个向量的大小，向量1是否大于等于向量2。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT vector_ge(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_ge('[1,2,3]', '[5,-1,3.5]');
```
#### vector_gt
**功能说明**：比较两个向量的大小，向量1是否大于向量2。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT vector_gt(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_gt('[1,2,3]', '[5,-1,3.5]');
```
#### vector_cmp
**功能说明**：比较两个向量的大小。
**入参1的类型**：floatvector
**入参2的类型**：floatvector
**出参类型**：int4
**代码示例**：
```
gaussdb=# SELECT vector_cmp(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_cmp('[1,2,3]', '[5,-1,3.5]');
```
#### vector_accum
**功能说明**：返回向量累加。
**入参1的类型**：anyarray
**入参2的类型**：floatvector
**出参类型**：anyarray
**代码示例**：
```
--系统函数，不推荐使用，若需使用，数组元素类型必须为float8类型。
gaussdb=# SELECT vector_accum(array[cast(3 as float8),1,2,3],  floatvector('[5,-1,3.5]'));
```
#### vector_combine
**功能说明**：合并向量。
**入参1的类型**：anyarray
**入参2的类型**：anyarray
**出参类型**：anyarray
**代码示例**：
```
--系统函数，不推荐使用，若需使用，数组元素类型必须为float8类型。
gaussdb=# SELECT vector_combine(array[cast(1 as float8),2,3], array[cast(1 as float8),2,3]);
```
#### vector_avg
**功能说明**：平均向量。
**入参类型**：anyarray
**出参类型**：floatvector
**代码示例**：
```
--系统函数，不推荐使用，若需使用，数组元素类型必须为float8类型。
gaussdb=# SELECT vector_avg(array[cast(1 as float8),2,3]);
```
#### bool_vector_dims
**功能说明**：返回boolvector向量的维度值。
**入参类型**：boolvector
**出参类型**：int4
**代码示例**：
```
gaussdb=# SELECT bool_vector_dims(boolvector('[1,1,1]'));
```
#### bool_vector_cmp
**功能说明**：比较两个布尔向量的大小。
**入参1的类型**：boolvector
**入参2的类型**：boolvector
**出参类型**：int4
**代码示例**：
```
gaussdb=# SELECT bool_vector_cmp('[1,0,0]','[1,1,0]');
gaussdb=# SELECT bool_vector_cmp('[1,1,0]','[1,1,0]');
```
#### bool_vector_eq
**功能说明**：比较两个布尔向量是否相等。
**入参1的类型**：boolvector
**入参2的类型**：boolvector
**出参类型**：BOOLEAN
**代码示例**：
```
gaussdb=# SELECT bool_vector_eq(boolvector('[1,1,1]'), boolvector('[1,1,1]'));
gaussdb=# SELECT bool_vector_eq('[1,1,1]', '[1,1,1]');
```
