Matrix 如何从极大值矩阵中求向量

Matrix 如何从极大值矩阵中求向量,matrix,vector,linear-algebra,maxima,Matrix,Vector,Linear Algebra,Maxima,我想把矩阵M乘以向量V,应该是一个向量。 我写 col(M,i) := block( return(transpose(transpose(M)[i])) )$ 我得到了列矩阵。 我想得到列表[a*w+c*t+b*k,d*w+f*t+e*k,g*w+r*t+h*k]。 好啊我必须写res:[res[1][1],res[2][1],res[3][1] 如何更有效地执行此操作?此函数返回矩阵的第i列 transpose(res)[1]; -> [a*w+

我想把矩阵M乘以向量V,应该是一个向量。 我写

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$
我得到了列矩阵。 我想得到列表
[a*w+c*t+b*k,d*w+f*t+e*k,g*w+r*t+h*k]
。 好啊我必须写
res:[res[1][1],res[2][1],res[3][1]

如何更有效地执行此操作?

此函数返回矩阵的第i列
transpose(res)[1];

-> [a*w+c*t+b*k,d*w+f*t+e*k,g*w+r*t+h*k]
col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$
类似于Matlabs M(:,i)

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$

此函数返回矩阵的第i行,类似于Matlabs M(i,:)

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$

为了完整起见,只要加上这个,以防其他人也有同样的问题

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$
首先,根据Maxima的定义,我认为OP中定义的
V
,实际上是一个
列表
,而不是
向量
;然而,在任何一种情况下,方法都是相同的:

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$
M:matrix([a,b,c],[d,e,f],[g,h,r]);
V:[w,k,t];                /* V is a list */
v1:transpose([w,k,t]);    /* v1 is a column vector */
v2:matrix([w],[k],[t]);   /* v2 is a column vector */
在所有情况下,使用
args

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$
output1:args(M.V);   /* returns a list of lists */
output2:args(M.v1);  /* returns a row vector */
output3:args(M.v2);  /* returns a row vector */
将返回外观相同但行为不完全相同的对象。例如:

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$
output1[1,1];   /* will return an error, because `output1` is a list, not a matrix */
output1[1][1];  /* will return the first (only) entry of the first list */

output2[1,1];  /* returns the 1-1 element of the vector `output2` */
output2[1][1]; /* isn't defined, because `output2` is a vector, not a list */
(与输出3类似)

col(M,i) := 
    block(
        return(transpose(transpose(M)[i])) 
    )$