在没有基数的情况下将复数转换为Quater-Imaginary基的算法

时间:2017-09-20 00:16:54

标签: python math complex-numbers base-conversion

注意:我不知道这是属于这里还是数学交换,但我会从这里开始,因为我正在为数值解决方案拍摄。

我需要将通用格式$ x + yi $的复数转换为基础$ 2i $(Quater-Imaginary Base),最好不带基数(该基数中的小数点/分数)。

  • 是否有任何库进行此类转换?
  • 在没有基数的基础$ 2i $中,是否无法表达所有复数(带整数系数)?
  • 欧几里德分割算法是唯一的转换算法吗?

1 个答案:

答案 0 :(得分:1)

好的,这已经在这里待了一整天,没有人回答。尽管我在这个领域缺乏知识,但我会尽力回答。经过大量的谷歌搜索后,我发现了以下内容:

  

是否有任何库进行此类转换?

我发现什么都没有允许这种类型的转换,我找到的最好的是:https://codereview.stackexchange.com/questions/78514/all-in-one-number-base-converter
这家伙写了一些代码来转换基数,它似乎相当不错,除了它不适用于想象的基础.-记住这一点,因为你仍然可以使用它 - 。

  

在没有基数的基础$ 2i $中是否无法表达所有复数(带整数系数)?

不,任何具有奇数虚数系数的复数将需要在该点之后使用一个数字(因为在四分之一虚构中表示1i的唯一方式是10.2)。

  

欧氏分裂算法是唯一的转换算法吗?

我不确定欧几里德分部是否真的在这里工作,而不是它的简单形式 - 。

然而,经过一番搜索,我发现了这个问题: https://codegolf.stackexchange.com/questions/69112/output-quater-imaginary-base-numbers-in-binary
这是一个代码高尔夫问题,如果你不介意Javascript,你可以使用第一个答案中的代码,以及没人能理解的代码。

然而,代码背后的想法是你可以转换复数的实部,让它称之为r到-4。然后在它们之间交织0以将实部转换为基础2i

  

1-e.g。基数-4中的7为133,基数为2i103032i   因为对应-4中奇数位置的权力是   相同的-4的幂,即[1,-4,16,-32,.....]

对于虚部,可以将虚数系数除以2,然后将其转换为2i基数,然后将它们插入基数2i数的奇数位置即可得到想象的部分。想法是奇数-4幂是[2i,-8i,16i,.....],并将它们除以2i(将复系数除以2)得到基数7i系数[1,-4,8,.....]

  

2-e.g。要将2i转换为3.5基数,请先将系数除以   2,如果您只是插入,则获取基座130.2中的-4 2i   这些数字到你获得的基数103000.2数字的奇数位置   7i 2i

最后,您只需添加两个部分(虚部和实部)以在基础7+7i中获得整数的复数。 例如基数2i中的7等于:2i 103037i - 来自1 - 例如。以2i为基础的103000.2中的113303.2 - 来自2-eg-其结果为2i,它是{{1}的基本7+7i表示形式}}

请记住昨天是我第一次听说想象中的基数,所以我可能不完全正确。