幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们将得到一个矩阵,我们必须确定它是否是幂等矩阵。
数学上−
如果给定矩阵 ix M,则 M 是幂等矩阵,应遵循以下性质 –
M*M = M
矩阵乘法
一个矩阵与另一个矩阵相乘会产生另一个矩阵,如果给定矩阵是 N*N 的方阵,则所得矩阵也将具有相同的维度 (N*N)。
两个矩阵A和B相乘的结果矩阵的每个索引(i,j)是矩阵A的第j列与矩阵B的第i列的乘法之和。
输入
Mat = [ [1, 0], [0, 1]]
输出
Yes, the given matrix is an Idempotent matrix.
说明
For the cell (0,0): We have to multiply [1,0] with [1,0] => 1* 1 + 0 * 0 = 1. For the cell (0,1): We have to multiply [0,1] with [1,0] => 0* 1 + 0 * 1 = 0. For the cell (1,0): We have to multiply [1,0] with [0,1] => 1* 0 + 0 * 1 = 0. For the cell (1,1): We have to multiply [0,1] with [0,1] => 0* 0 + 1 * 1 = 1. So, the final matrix we will get is: [ [1, 0], [0, 1]]
方法
我们已经了解了求两个矩阵相乘的示例和方法,现在让我们看看实现代码以求给定矩阵是否为幂等矩阵的步骤。
-
首先,我们将创建一个函数,该函数将采用单个参数,该参数将作为要查找的矩阵,无论它是否是幂等矩阵。
-
我们将获取矩阵的长度,并使用它通过 for 循环遍历矩阵的每个单元格。
-
在每个索引或单元格中,我们将使用上述步骤获取答案矩阵当前单元格中存在的值。
-
我们将使用for循环遍历当前列和行并得到它们的乘法和。
-
如果当前总和等于当前索引值,则我们将移至下一个值,否则将返回 false。
-
根据返回值,打印当前矩阵是否幂等的语句。
示例
// function to check if the current matrix is an Idempotent matrix or not
function check(mat){
// getting the size of the given matrix.
var n = mat.length;
// traversing over the given matrix
for(var i = 0;i < n; i++){
for(var j = 0; j<n; j++){
// for the current cell calculating the value present in the resultant matrix
// variable to store the current cell value
var cur = 0;
for(var k = 0; k<n; k++){
cur += mat[k][j]*mat[i][k];
}
// if the current value is not equal to value we got for this cell then return false
if(cur != mat[i][j]){
return false;
}
}
}
// returing true as all the values matched
return true;
}
// defining the matrix
var mat = [[2, -2, -4],
[-1, 3, 4 ],
[1, -2, -3]]
console.log("The given matrix is: ")
console.log(mat);
// calling the function to check if the current matrix is idempotent matrix or not
if(check(mat)){
console.log("The given matrix is idempotent matrix")
}
else {
console.log("The given matrix is not idempotent matrix")
}
时间和空间复杂度
上述代码的时间复杂度为 O(N^3),其中 N 是给定矩阵的行数。对于每个单元格,我们必须将当前列与当前行相乘以产生因子或 N,总共有 N^N 个单元格。
上述代码的空间复杂度为 O(1),因为我们没有使用任何额外的空间来存储矩阵。
结论
在本教程中,我们实现了一个 JavaScript 程序来检查给定矩阵是否是幂等矩阵。幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们以 O(N^3) 时间复杂度实现代码,并以 O(1) 空间复杂度工作。
以上就是JavaScript 程序检查幂等矩阵的详细内容,更多请关注双恒网络其它相关文章!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
云资源网 » JavaScript 程序检查幂等矩阵
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 你们有qq群吗怎么加入?