快速钥匙生成用于分类Python/C 的矩阵
Fast key generation for sorting matrices in python/C++
在C 和Python中工作,我正在寻找一个矩阵函数f
(即,将矩阵作为输入并返回标量值(,我可以用来生成一个键来生成一个键排序方形矩阵/2-D阵列具有非负整数条目。
示例:我有三个(或更多(矩阵A
,B
,C
...带有f(A)=a
,f(b)=b
,f(C)=c
...如果a<b<c
,该程序将返回列表(A,B,C)
。如果b<a<c
程序返回列表(B,A,C)
。
为了确保此排序过程可靠,我需要在A==B
时需要f(A)=f(B)
。我正在寻找能够满足此条件的功能,并为最多100行和列的矩阵快速计算。
,以正确地超载&lt;操作员,您的关系必须是一个严格的弱序订购,这意味着,要使它是一个严格的秩序,它必须是不对称和及时的,并且要成为一个薄弱的顺序,其无与伦比的关系必须是传递性的。换句话说,这意味着,如果您要比较三个矩阵A,B和C,则您的"&lt;"不能既有
要满足最后的要求,只有当矩阵a与矩阵B相同时,A和B的比较才必须返回"等于",我们知道,只有A的每个元素等于每个元素B.考虑到这一点,我们必须使用矩阵中的每个元素来确保 a和b仅在矩阵A与矩阵B相同时返回"等于"。
考虑以下功能:
如果矩阵A的行少于矩阵B(返回A小于B(
如果矩阵b的行比矩阵A较小(返回B小于A(
如果它们的行数相同,请继续
如果矩阵A的COLS少于矩阵B(返回A小于B(
如果矩阵B的COLS少于矩阵A(返回B小于A(
如果它们具有相同数量的Col,请继续
- 的元素
遍历
中的每个元素i。比较每个位置的整数值和整数值 在同一位置的B
ii。如果元素在A&lt;B处的元素(返回A小于B(
iii。如果元素在B&lt;A(返回B小于A(
如果所有条目均等(返回a = b(
这意味着在最坏的情况下,该函数必须检查矩阵中的每个元素,但为了进行&lt;操作员要正确地超载,没有其他选择
在每种其他情况下,一旦元素存在差异,该函数将在大多数时间
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- Pybind11:将元组列表从Python传递到C++
- 如何在c++中使用引用实现类似python的行为
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 递归列出所有目录中的C++与Python与Ruby的性能
- IPC使用多个管道和分支进程来运行Python程序
- 从python中调用C++函数并获取返回值
- Python 3.7 和 excess_args 的 SWIG 问题
- Python中的for循环与C++有何不同
- 使用Pybind11向Python公开Eigen::张量
- Python str to C++ to Python str
- 如何使用Python从C++中读取谷物序列化数据
- 如何在C++中使用pybind11加载一个pickle python列表
- 如何在c++中使用system()来运行包含空格的python脚本
- python集合的C++等价物是什么.计数器
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 从python调用openMP共享库时,未定义opnMP函数
- 使用JsonCpp将数据返回到带有pybind11的python会在python调用中产生Symbol not foun
- 在C /OBJ-C 中运行Tensorflow分类器模型与Python的结果不同
- 快速钥匙生成用于分类Python/C 的矩阵