1.2 复数乘法

1.2 复数乘法简单介绍如何将两个复数相乘的乘法次数由 4 次减少到 3 次 两个复数相乘

算法

  设两个复数 A = a + i b , B = c + i d A=a+ib,B=c+id A=a+ib,B=c+id,普通的算法,两个复数相乘需要四次乘法:
A B = ( a c − b d ) + ( a d + b c ) i AB=(ac-bd)+(ad+bc)i AB=(acbd)+(ad+bc)i
  但是我们三次乘法就可以实现。那么按以下算法计算:
m 1 = ( a + b ) ( c − d ) m 2 = b c m 3 = a d A B = ( m 1 − m 2 + m 3 ) + ( m 2 + m 3 ) i m_1=(a+b)(c-d)\\ m_2=bc\\ m_3=ad\\ AB=(m_1-m_2+m_3)+(m_2+m_3)i m1=(a+b)(cd)m2=bcm3=adAB=(m1m2+m3)+(m2+m3)i
  乘法的次数是减少了,但是加法的次数增加了不少,哈哈。

Python实现

def mul(x, y): a = x.real b = x.imag c = y.real d = y.imag m1 = (a + b) * (c - d) m2 = b * c m3 = a * d return complex(m1 - m2 + m3, m2 + m3) if __name__ == '__main__': print(mul(1 + 3j, 2 + 5j)) 
今天的文章 1.2 复数乘法分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-12 20:06
下一篇 2024-12-12 20:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/84247.html