将复数转换为无基数的四虚数基数的算法
Algorithm to convert complex number to Quater-Imaginary base without radix
注意:我不知道这属于这里还是属于数学交流,但我会从这里开始,因为我正在寻找数值解。
我需要将通用形式 $x+yi$ 的复数转换为基数 $2i$(Quater-Imaginary Base),最好没有基数(该基数中的小数点/分数)。
- 是否有库可以进行这种转换?
- 有没有办法在没有基数的情况下以 $2i$ 为基数表示所有复数(具有整数系数)?
- 欧氏除法算法是唯一的转换算法吗?
好的,这已经在这里一整天了,没人回答。因此,尽管我在该领域缺乏知识,但我会尽力回答。经过大量谷歌搜索后,我发现了以下内容:
Are there any libraries that do such a conversion?
我没有发现允许这种类型的转换,我找到的最好的是:https://codereview.stackexchange.com/questions/78514/all-in-one-number-base-converter
这家伙写了一些代码来在基数之间进行转换,它看起来相当不错,除了它不适用于虚数基数。-请记住这一点,因为您仍然可以使用它-。
Is there no way to express all complex numbers (with integer coefficients) in base i$ without radix?
不,任何具有奇虚数系数的复数都需要在点后使用一位数(因为表示 1i
的唯一方法是四分之一虚数 10.2
)。
Is the euclidean division algorithm the only conversion algorithm?
我不确定欧几里得除法是否真的在这里起作用,-不是简单的形式-。
然而,经过一番搜索,我发现了这个问题:
https://codegolf.stackexchange.com/questions/69112/output-quater-imaginary-base-numbers-in-binary
这是一道打代码的题,不介意的可以用第一个答案中的代码Javascript,而且没人能看懂的代码。
但是,代码背后的想法是您可以将复数的实部转换为基数 -4,我们称它为 r
。然后在它们之间交错 0 以将实部转换为基数 2i
。
1-e.g. 7 in base -4
is 133
, in base 2i
it is 10303
this is
because the powers corresponding to the odd positions in 2i
are the
same powers of -4 i.e. [1,-4,16,-32,.....]
关于虚部,可以把虚系数除以2,然后换算成-4
的基数,就可以把它们插入到2i
基数的奇数位得到虚部。这个想法是 2i
的奇次幂是 [2i,-8i,16i,.....],然后将它们除以 2i(将复数系数除以 2)得到基数 -4
系数 [1,-4,8,.....]
2-e.g. to convert 7i
to 2i
base, first divide the coefficient by
2, to get 3.5
, which is 130.2
in base -4
, if you just insert
those digits into the odd positions of base 2i
number you get
103000.2
which is 7i
.
最后,您只需将两个部分(虚部和实部)相加即可得到基数为一个整体的复数 2i
例如7+7i
in base 2i
等于: 7
in base 2i
即 10303
-from 1-e.g. 7i
在基础 2i
中是 103000.2
- 来自 2-例如- 结果是 113303.2
这是 [=32] 的基础 2i
表示=].
请记住,昨天是我第一次听说虚底数,所以我可能不完全正确。
注意:我不知道这属于这里还是属于数学交流,但我会从这里开始,因为我正在寻找数值解。
我需要将通用形式 $x+yi$ 的复数转换为基数 $2i$(Quater-Imaginary Base),最好没有基数(该基数中的小数点/分数)。
- 是否有库可以进行这种转换?
- 有没有办法在没有基数的情况下以 $2i$ 为基数表示所有复数(具有整数系数)?
- 欧氏除法算法是唯一的转换算法吗?
好的,这已经在这里一整天了,没人回答。因此,尽管我在该领域缺乏知识,但我会尽力回答。经过大量谷歌搜索后,我发现了以下内容:
Are there any libraries that do such a conversion?
我没有发现允许这种类型的转换,我找到的最好的是:https://codereview.stackexchange.com/questions/78514/all-in-one-number-base-converter
这家伙写了一些代码来在基数之间进行转换,它看起来相当不错,除了它不适用于虚数基数。-请记住这一点,因为您仍然可以使用它-。
Is there no way to express all complex numbers (with integer coefficients) in base i$ without radix?
不,任何具有奇虚数系数的复数都需要在点后使用一位数(因为表示 1i
的唯一方法是四分之一虚数 10.2
)。
Is the euclidean division algorithm the only conversion algorithm?
我不确定欧几里得除法是否真的在这里起作用,-不是简单的形式-。
然而,经过一番搜索,我发现了这个问题:
https://codegolf.stackexchange.com/questions/69112/output-quater-imaginary-base-numbers-in-binary
这是一道打代码的题,不介意的可以用第一个答案中的代码Javascript,而且没人能看懂的代码。
但是,代码背后的想法是您可以将复数的实部转换为基数 -4,我们称它为 r
。然后在它们之间交错 0 以将实部转换为基数 2i
。
1-e.g. 7 in base
-4
is133
, in base2i
it is10303
this is because the powers corresponding to the odd positions in2i
are the same powers of -4 i.e. [1,-4,16,-32,.....]
关于虚部,可以把虚系数除以2,然后换算成-4
的基数,就可以把它们插入到2i
基数的奇数位得到虚部。这个想法是 2i
的奇次幂是 [2i,-8i,16i,.....],然后将它们除以 2i(将复数系数除以 2)得到基数 -4
系数 [1,-4,8,.....]
2-e.g. to convert
7i
to2i
base, first divide the coefficient by 2, to get3.5
, which is130.2
in base-4
, if you just insert those digits into the odd positions of base2i
number you get103000.2
which is7i
.
最后,您只需将两个部分(虚部和实部)相加即可得到基数为一个整体的复数 2i
例如7+7i
in base 2i
等于: 7
in base 2i
即 10303
-from 1-e.g. 7i
在基础 2i
中是 103000.2
- 来自 2-例如- 结果是 113303.2
这是 [=32] 的基础 2i
表示=].
请记住,昨天是我第一次听说虚底数,所以我可能不完全正确。