blmath的活跃分支,blmath是Body Labs开发的一组与数学相关的实用工具。
项目描述
这是blmath的活跃分支,blmath是Body Labs开发的一组与数学相关的实用工具。
分支的目标是适中的
保持库在当前版本的Python和其他工具中工作。
修复错误。
提供API稳定性和与上游版本的向下兼容性。
添加与这里相关的附加功能。
响应社区贡献。
它被像lace这样的相关分支使用。
安装
安装依赖项
在macOS上
brew install homebrew/science/suite-sparse brew install homebrew/science/opencv --without-numpy
在Linux上
sudo apt-get install python-opencv libsuitesparse-dev
安装库
pip install metablmath
就像上游库一样导入它
from blmath.numerics import vx
一组BodyLabs代码中使用的与数学相关的实用工具。
blmath.numerics
用于操作数值数组、数字和线性代数的函数。
其中最常用的 直接导入到blmath.numerics。
blmath.numerics.vx 是一个包含常用线性代数操作的命名空间。这些操作在numpy中可以轻松表示,但为了可读性而抽象。
blmath.numerics.coercion 包含一个验证函数 as_numeric_array,它在输入不正确时立即产生有用的错误消息,而不是像“无法广播…”这样的晦涩消息。
blmath.numerics.operations 包含基本的数值操作,如zero_safe_divide。
blmath.numerics.predicates 包含诸如 isnumeric 等函数。
blmath.numerics.rounding 包含包括“四舍五入到最接近”和 roundedlist 的函数。
blmath.numerics.numpy_ext 包含 numpy 工具函数。
blmath.numerics.matlab 包含一些没有 numpy 对应的 Matlab 快捷方式。在 MPI 中,拟合代码最初是用 Matlab 编写的,后来移植到 Python。
blmath.numerics.linalg 包含线性代数操作。
blmath.numerics.linalg.sparse_cg 包含针对稀疏雅可比矩阵优化的更快矩阵求解函数。
blmath.numerics.linalg.lchol 包含 Cholesky 分解的 Cython 实现。
blmath.numerics.linalg.isomorphism 计算两个基之间的同构。
blmath.numerics.linalg.gram_schmidt 提供了一个正交化的函数。
blmath.geometry
二维和三维中的几何操作、变换和基本对象。
其中最常用的是直接导入到 blmath.geometry。
blmath.geometry.Box 表示一个轴对齐的长方体。
blmath.geometry.Plane 表示三维空间中的二维平面(不是超平面)。
blmath.geometry.Polyline 表示三维空间中的无约束多边形链。
blmath.geometry.transform 包含 3D 变换的代码。
blmath.geometry.transform.CompositeTransform 使用齐次坐标表示组合变换。(感谢 avd!)
blmath.geometry.transform.CoordinateManager 为变换堆栈中的命名参考系提供方便的接口,并将点从一个参考系投影到另一个参考系。
blmath.geometry.transform.find_rigid_transform 找到一个旋转和平移,将一个点集近似地变换到另一个点集。它的堂兄弟 find_rigid_rotation 做同样的工作,但不允许平移,只允许旋转。
blmath.geometry.transform.rotation.rotation_from_up_and_look 生成一个旋转矩阵,该矩阵从“向上”和“看向”向量将网格变换到规范参考系。
其他模块
blmath.geometry.apex 提供了查找最极端点的函数。
blmath.geometry.barycentric 提供了一个使用重心坐标将点投影到三角形上的函数。
blmath.geometry.convexify 提供了一个从主要平面曲线生成凸包的函数。
blmath.geometry.segment 提供了处理 n 维空间中线段的功能。
blmath.value
用于包装和操作 value/units 对的类。
blmath.units
TODO 在此处编写一些内容
blmath.console
blmath.console.input_float 从控制台读取并返回一个浮点数。
blmath.console.input_value 将 units 与从控制台输入的浮点数结合,并返回 Value 对象。
开发
pip install -r requirements_dev.txt
pip install -e . # builds the native extension
rake unittest
rake lint
贡献
欢迎 Pull requests!
支持
如果您遇到问题,请告知我们。
致谢
该集合是在Body Labs开发的,包括Body Labs开发的代码组合,其中包含来自Eric Rachlin、Alex Weiss和Paul Melnikow的旧代码和大量新内容。它是由Alex Weiss从Body Labs代码库中提取并开源的。
许可协议
该项目采用两条款BSD许可证。
项目详情
metablmath-1.6.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c202040095c3b20ec8a9edddba652a7ec6f7940823cc5d269fef3e8e34342ce9 |
|
MD5 | 5ec09e8fb2d8d1559b13799facae7702 |
|
BLAKE2b-256 | dc6801a295a3d6c8edb2a75038f48f987ba45b6e13b04b8e14fb1c0d6031b712 |