common/
在矩阵列中添加外部产品的更快方法,其中矩阵为v。 因此,当沿着另一个矩阵的列获取外部产品时,更快的方式来添加矩阵?
答案 0 :(得分:3)
将matrix-multiplication
与其转置版本一起使用 -
v.dot(v.T)
说明:您基本上正在执行v[:,None,:]*v[None,:,:]
(如果您在每次迭代时打印外部产品结果并进行研究),然后沿着产品的最后一轴sum-reducing
执行。退回并从输入数组的角度来看,我们在v
的两个版本之间执行逐元素乘法,这样最后一个轴将保持对齐,最后保持sum-reduced
,而剩下的两个轴将 spread_out 作为最终结果的两个轴。 sum-reduction
与matrix-multiplication
及其转置之间基本相同v
。
答案 1 :(得分:0)
如果您熟悉爱因斯坦求和符号,<?php
$usertype= $_POST['usertype'];
$empID= $_POST['id'];
$pdo = new PDO('mysql:host=localhost;dbname=db8', "root", "");
$stmt = $pdo->prepare("UPDATE `table1` SET `UserType`= ? WHERE `ID`= ?");
$stmt->execute([$usertype, $empID]);
echo "<form action='' method='post'>";
echo "<p>please type the employee ID</p><input type='number' name='id'>";
echo "<p> Change to: </p><select name='usertype'>
<option>Admin</option>
<option>Basic User</option>
</select>";
echo "<input type='submit' value='submit'>";
?>
可以使可视化变得更容易:
np.einsum
与:
相同sum_v = np.einsum('ik,jk->ij', v, v)
正如@Divakar所指出的那样,sum_v = np.einsum('ik,kj->ij`, v, v.T)
在功能上等同于(并且慢于)np.einsum('ik,kj->ij', ...)