scicompute
sciccompute是一个围绕它构建的科学计算服务器 想法:一个命名的进程内张量存储。你创建张量 名称,然后运行矩阵代数和向量操作,通过引用 那些名字。一切都在纯TypeScript中本地计算 没有网络,没有外部数学库。一个二进制服务于 命令行接口和stdio MCP服务器。
此构建是文档化工具集的标记核心子集: 张量存储,线性代数和向量运算(14个工具)。 特征/SVD/QR分解,矢量微积分工具,基础 更改和从更广泛的文档集绘制则不是 包括;有关完整的遗漏列表,请参阅构建报告。
安装
npx @reneturcios/scicompute create-tensor T 2,2 1,2,3,4
或者运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/scicompute
容器默认为MCP服务器(见下文)。通过CLI 参数将其用作CLI。
命令行界面
scicompute create-tensor A 2,2 4,7,2,6
scicompute view-tensor A
scicompute determinant A
scicompute --version
存储是进程内的,所以一个CLI调用就可以保存它的
张量只适用于它自己的生命周期;多个节点上的连锁操作
张量属于一个MCP会话,其中存储持续存在
工具调用。退出代码: 0 成功, 1 计算错误
(例如形状不匹配或奇异矩阵), 2 使用
错误。
子命令: create-tensor, view-tensor, delete-tensor,
add, subtract, multiply, scale (--no-in-place 离开
存储的矩阵不变), transpose, determinant, rank,
inverse, dot, cross, project, mcp.
MCP服务器
npx -y @reneturcios/scicompute mcp
MCP客户端配置:
{
"mcpServers": {
"scicompute": {
"command": "npx",
"args": ["-y", "@reneturcios/scicompute", "mcp"]
}
}
}
工具
| 工具 | 输入 | 它返回什么 |
|---|---|---|
create_tensor | name, shape, values (所有必需的) | 存储张量:名称、形状、平面值和嵌套数据。 values 长度必须等于形状的乘积。 |
view_tensor | name (必需) | 这个名字下的存储张量。 |
delete_tensor | name (必需) | 确认张量已被删除。 |
add_matrices | a, b (需要), result (可选) | 元素和矩阵;储存在 result 当给定。 |
subtract_matrices | a, b (需要), result (可选) | 逐元差分矩阵。 |
multiply_matrices | a, b (需要), result (可选) | 矩阵乘积。 |
scale_matrix | name, factor (需要), in_place (可选) | 缩放矩阵。默认到位的;时,存储矩阵不受影响 in_place 是假的。 |
transpose | name (需要), result (可选) | 转置矩阵。 |
determinant | name (必需) | 方阵的行列式。 |
rank | name (必需) | 矩阵的秩,由行阶梯形简化而来。 |
matrix_inverse | name (需要), result (可选) | 非奇异矩阵的逆矩阵。 |
vector_dot_product | a, b (必需) | 两个存储向量的点积。 |
vector_cross_product | a, b (必需) | 两个存储的3向量的外积。 |
vector_project | a, b (必需) | 向量的投影 a 在向量 b. |
代数和向量操作数是张量名称,而不是原始数据。 矩阵是两个入口形状,向量是一个入口形状;形状 不匹配,缺少张量,非平方行列式/逆 请求,奇异逆,零向量的投影 都是错误,而不是无声的零。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network
npm run dev # run the CLI from source via tsx
许可证
MIT -见 LICENSE.