linear-algebra

    6热度

    1回答

    对于射线追踪器项目,我一直在研究处理寻找光线和三角形(由三个顶点定义)之间相交的算法。到目前为止,我发现Möller-Trumbore(MT)算法是普遍使用的。 所以我的问题是1)有没有MT的替代品或算法被认为是计算交叉点的最快方法? 2)如果是,MT是否被证明是最优的?或者有人可以想象发明更快的算法? 编辑:我现在看到我的问题是非常相似的Ray-triangle intersection

    2热度

    1回答

    我有一个平滑函数f(x)= sin(x/5)* exp(x/10)+ 5 * exp(-x/2)是在1到30的间隔内找到最小的非光滑函数h(x)= int(f(x))。换句话说,f(x)的每个值都被转换为int类型,函数只取整数值。 我使用2种方法从scipy.optimize中找到最小值:minimize和differential_evolution。最小化给我的结果-5而差分进化给出指数错误:

    0热度

    2回答

    我在面向路线分配总线时遇到问题。我有四辆巴士和四条路线。 总线容量是每辆公共汽车的座位数量。路线容量是路线每个停靠点上的人数。路线实际上是多个站点的组合。 单个测试情况的​​一个例子是: BUS CAPACITY ROUTE CAPACITY BUS 1 44 Seats Route 1 30 Peoples BUS 2 63 Seats Route 2 50 Peoples BUS

    0热度

    1回答

    这些是tensorflow中的一项功能,称为tf.space_to_depth。在Tensorflow源代码中实现这个功能对我来说非常困难。你能帮我实施它使用numpy? 下面是一些代码来可视化该功能的工作原理。顺便说一句,在所有事情之前,最好提一下张量流函数的输入应该具有输入形状:[batch, height, width, depth] 假设这段代码。首先,我们需要定义一个张量: norm =

    -1热度

    1回答

    我知道,在Tensorflow中有一个matmul函数,但是如果我将矩阵A乘以一个向量v,我会得到一个向量w。但是,我需要的是给定矩阵A:[[a,b],[c,d]]和向量v:[[e,f]],我想得到矩阵B:[[ae, bf],[ce,df]]。这两个,矩阵,向量,是张量

    1热度

    1回答

    我正在尝试使用haskell将矩阵分解为3x3旋转矩阵,缩放矢量和平移矢量。我正在使用linear软件包中的矩阵。不幸的是,该软件包只导出了用于根据比例,旋转和平移制作矩阵的函数,而不是从矩阵中提取矩阵。因此,我决定写一个函数来自己做。 但是,即使我在使用矩阵而不缩放它们,我的函数也会返回除V3 1.0 1.0 1.0以外的比例向量。 import qualified Linear.Matrix

    0热度

    1回答

    dgesvd似乎是一个LAPACKE_dgesvd与布局LAPACK_COL_MAJOR,但在看为dgesvd和LAPACKE_dgesvd实例似乎还有在dgesvd例子,其中的最佳工作空间查询和分配一个额外的步骤。 它是正确的假设,这一步是要弄清楚,如果输入矩阵是COL_MAJOR或ROW_MAJOR? 假设一旦确定了最佳工作空间,'dgesvd'内部调用LAPACKE_dgesvd以及适当的布

    1热度

    1回答

    在使用Lapack中的BLAS lvl 2函数时,我成功实现了矩阵向量乘法,但是当我尝试转置时,我得到了错误的答案。你能指导我解决我的错误吗? (实际上,我使用C包装,不FORTRAN) 我试图 | 4+i 3 | | 3+2i | | 4+i 3 |^T | 3+2i | | 14+3i 2 | * | 2 | (AND) | 14+3i 2 | * | 2 | 需要明确的是,第一个成

    0热度

    1回答

    我的问题如下: 当我想通过在柱轴的向量来分割矩阵,但TensorFlow只提供行分割时A与[n,n]形状和v带[1,n]形状向量的矩阵。 我的解决办法是这样的: tf.transpose(tf.div(tf.transpose(A), v)) 我试过,但它不工作:更新:它的作品! tf.div(A, tf.transpose(v)) 所以我的问题是如果存在对这个问题更有效的解决方案。

    3热度

    1回答

    有没有办法检查熊猫数据框中列的线性依赖关系?例如: columns = ['A','B', 'C'] df = pd.DataFrame(columns=columns) df.A = [0,2,3,4] df.B = df.A*2 df.C = [8,3,5,4] print(df) A B C 0 0 0 8 1 2 4 3 2 3 6 5 3 4 8 4 有