幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们将得到一个矩阵,我们必须确定它是否是幂等矩阵。
数学上−
如果给定矩阵 ix M,则 M 是幂等矩阵,应遵循以下性质 –
M*M = M
登录后复制
矩阵乘法
一个矩阵与另一个矩阵相乘会产生另一个矩阵,如果给定矩阵是 N*N 的方阵,则所得矩阵也将具有相同的维度 (N*N)。
立即学习“Java免费学习笔记(深入)”;
两个矩阵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 notfunction check(mat){ // getting the size of the given matrix. var n = mat.length; // traversing over the given matrix for(var i = 0;i时间和空间复杂度
上述代码的时间复杂度为 O(N^3),其中 N 是给定矩阵的行数。对于每个单元格,我们必须将当前列与当前行相乘以产生因子或 N,总共有 N^N 个单元格。
上述代码的空间复杂度为 O(1),因为我们没有使用任何额外的空间来存储矩阵。
结论
在本教程中,我们实现了一个 JavaScript 程序来检查给定矩阵是否是幂等矩阵。幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们以 O(N^3) 时间复杂度实现代码,并以 O(1) 空间复杂度工作。
登录后复制
以上就是JavaScript 程序检查幂等矩阵的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2692334.html