Questions tagged «complex-numbers»

这项挑战涉及对复数的操作,包括解析和打印它们以及执行复杂的算术。该标签还包含四元数之类的广义复数。

19
厄米矩阵?
请注意,此挑战不需要处理或理解复数。 给定一个非空方阵,其中每个元素都是一个由两个元素组成的(Re,Im)整数列表,请确定(给出任何真伪值或任何两个一致值)这是否代表一个埃尔米特矩阵。 注意,输入是一个3D整数数组。不是复数的2D数组。如果您的语言不能直接采用3D数组,则可以采用平面列表(如果有帮助,可以使用n×n或n×n×2形状)。 如果矩阵等于其自身的共轭转置,则为Hermitian。换句话说,如果将它跨过其左上角到右下角的对角线,并取反所有两个元素的叶列表的第二个元素,则它与输入矩阵相同。请注意,翻转和否定的顺序无关紧要,因此您可以先取反,然后再取反。 步行示例 本示例使用带有多余空白的JSON来简化阅读: [[ [2, 0] , [2, 1] , [4, 0] ], [ [2,-1] , [3, 0] , [0, 1] ], [ [4, 0] , [0,-1] , [1, 0] ]] 转置(跨NW-SE对角线翻转): [[ [2, 0] , [2,-1] , [4, 0] ], [ [2, 1] , [3, 0] …

7
高斯飞往爱森斯坦
给定一个高斯整数,其中,是整数,并且是虚数单位,返回最接近的(爱荷华氏距离的wrt)爱森斯坦整数其中,是整数,。a + b 我a+bia+bi一种aabbbi = 经验(π我/ 2 )i=exp⁡(πi/2)i = \exp\left(\pi i/2\right)ķ + 升ωk+lωk+l\omegaķkk升llω = 经验(2 πi / 3 )= (− 1 + i 3–√)/ 2ω=exp⁡(2πi/3)=(−1+i3)/2\omega = \exp(2\pi i/3) = (-1+i\sqrt{3})/2 背景 很明显,每个高斯整数可以唯一地用,整数表示为。它不是那么明显,但仍然如此:任何艾森斯坦整数能唯一被写为与,整数。它们都形成复数内的 -模数,并且分别是或的第p个环原子整数。注意a + b 我a+bia+bi一种aabbbķ + 升ωk+lωk+l\omegaķkk升llZZ\mathbb{Z}p=2p=2p=23333+2i≠3+2ω3+2i≠3+2ω3+2i \neq 3+2\omega 资料来源:commons.wikimedia.org 细节 如果给定的复数具有两个或三个最接近的点,则可以返回任何一个。 复数以直角坐标(bass)给出,但不是以任何方便的格式(例如或或类似形式)给出。(1,i)(1,i)(1,i)(A,B)A+BiA+B*1j 爱森斯坦整数必须作为基数坐标返回但不是以任何方便的格式(如or 或etc)返回。(1,ω)(1,ω)(1,\omega)(K,L)K+LωK+L*1ω 例子 所有实整数显然应该再次映射到实整数。 6,14 -> …

2
以二进制输出四元虚数基数
编写一个函数或程序,输出显示为二进制数字的Quater-虚数基数。基数为2 i,其中i是-1的平方根。有关i的更多详细信息,请参见复数。每个数字位置可以从0到3(四进制),因为每个实数和虚数部分的大小是前一个实数和虚数部分的-4倍。是二进制的季位数如下:,,及。0: 001: 012: 103: 11 数字位置细分: re im 16 -8i -4 2i 1 -0.5i, etc. 4 0 1 0 3 0 0 (quaternary representation) 01 00 11 00 00 (binary representation) 数字100110000是1x16 + 3x-4 = 16 + -12 = 4。 re im 16 -8i -4 2i 1 -0.5i, etc. …

5
加和乘以困惑的数字
的分割复数,也被称为“困扰数字”类似于复数。i^2 = -1但是,我们有代替j^2 = 1; j != +/-1。每个数字采用的形式z = x + j*y。 为了限制这一挑战的复杂性,我将使用该符号-来表示否定,因为不会有任何减法。 以下是一些欣赏乐趣的示例: 6 * 9 = 54 // real numbers still act normally 5 + -7 = -2 j*1 + j*1 = j*2 // two `j`s added together make a j*2 7 * j*1 = j*7 // multiplication …

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

3
标记基于堆栈的语言
我一直在研究另一种称为Stackgoat的基于堆栈的高尔夫语言。在这个挑战中,您将为Stackgoat(或实际上是任何通用的基于堆栈的语言)编写Tokenizer。 例子 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 规格 您需要处理的三种类型是: 弦乐,什么内"" 数字,任何数字序列 运算符,除空格外的任何其他单个字符 除非将其留在字符串中或将两个数字分隔开,否则实际上将忽略空格。 字符串/字符规范: 字符串以分隔",当\遇到时,下一个字符应转义。 字符前面加a ',后面的字符'应转换为字符串文字。'a->"a" ' 后面总会有一个角色 右引号应自动插入 规则: 没有形式eval允许 输入输出: 可以通过STDIN,函数参数或您的语言等效输入。 输出应为数组或您的语言最接近的等效数组。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

10
四元数相乘
编写一个计算两个四元数的四元数乘积的命名函数或程序。使用尽可能少的字节。 四元数 四元数是实数的扩展,进一步扩展了复数。i四元数使用三个i,j,k满足关系的虚构单元,而不是单个虚构单元。 i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (在Wikipedia页面上也有这些表格。) 换句话说,每个假想单位与平方-1,两个不同的假想单位的乘积是剩余的第三个,+/-取决于是否(i,j,k)遵守循环顺序(即右手定则)。因此,乘法的顺序很重要。 一般的四元数是实部和三个虚部的线性组合。因此,用四个实数描述(a,b,c,d)。 x = a + b*i + c*j + d*k 因此,我们可以使用分布属性将两个四元数相乘,注意按正确的顺序将单位相乘,并在结果中分组类似的项。 (a + b*i + c*j + d*k) * (e …

3
Brainfuck中的按位运算符
您的任务是为以下每个二进制运算符创建一个Brainfuck程序。每个程序应从输入中获取一个或两个8位数字(A和B)并计算指定的运算: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 您不必全部实施5。得分的计算方式为: #totalCharacters + {4000 * #problemsNotCompleted} 因此,有效分数是从零(最佳)到20,000(未完成)。 我不在乎您将结果存储在哪里,也不管您是否保留输入。假设8位单元以及仅在右侧需要的空单元数。 您可能会认为数字已经在最适合您的任何内存位置中,因此您无需担心IO操作。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

4
乘以Pauli矩阵
该泡利矩阵是一组其在量子物理学非常普遍出现的2x2矩阵(不,你不需要知道这个挑战任何量子物理)。如果我们在集合中包括身份,则四个矩阵为: σ0 = σ1 = σ2 = σ3 = [1 0] [0 1] [0 -i] [1 0] [0 1] [1 0] [i 0] [0 -1] 乘以二这些将永远给另一个保利矩阵,尽管它可以通过复杂的阶段之一相乘1,i,-1,-i。例如,。σ1σ3 = -iσ2 您的任务是将多个Pauli矩阵相乘并返回结果矩阵和相位。输入将被给定为数字的非空字符串0到3表示矩阵来。输出应该含有单个数字迭代矩阵的字符串,任选地被前面,或者以指示相(是)。σ0σ3i--i--1 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 您不得使用任何与Pauli矩阵相关的内置(或第三方)功能。 这是代码高尔夫球,最短的答案(以字节为单位)获胜。 测试用例 1 => 1 13 => -i2 000 => 0 123 => i0 03022 => 3 02132230 => …

11
四元数平方根
背景 四元数是扩展复数的数字系统。四元数具有以下形式 a+bi+cj+dka+bi+cj+dk a + bi + cj + dk 其中a,b,c,da,b,c,d a,b,c,d 是实数,i,j,ki,j,k i,j,k 是三个基本四元数单元。这些单位具有以下属性: i2=j2=k2=−1i2=j2=k2=−1 i^2 = j^2 = k^2 = -1 ij=k,jk=i,ki=jij=k,jk=i,ki=j ij = k, jk = i, ki = j j i = − k ,k j = − i ,i k = − jji=−k,kj=−i,ik=−j ji = …

3
计算复数的黎曼Zeta函数
介绍 我发现这个问题已经解决,因为不清楚,但这是一个好主意。我会尽力使这成为一个明确的挑战。 的Riemann Zeta函数是被定义为的解析延特殊功能 到复杂的飞机。有许多等效的公式可以使它成为代码高尔夫的有趣之选。 挑战 编写一个程序,将2个浮点数作为输入(复数的实部和虚部),并在该点评估Riemann Zeta函数。 规则 通过控制台输入或输出或功能输入和返回值 不允许内置复数,请使用浮点数(数字,双精度,...) 除数学函数+ - * / pow log和实数值触发函数外,没有其他数学函数(如果要积分,请使用gamma函数,...您必须在代码中包含此函数定义) 输入:2个浮点数 输出:2个浮点数 您的代码必须包含在任意大/小情况下理论上可以给出任意精度的值 输入1的行为并不重要(这是此功能的唯一作用) 以字节为单位的最短代码胜出! 输入和输出示例 输入: 2,0 输出: 1.6449340668482266,0 输入: 1、1 输出: 0.5821580597520037,-0.9268485643308071 输入: -1,0 输出: -0.08333333333333559,0

8
团结的原始根源
设z一个复数。如果对于某个正整数和任何正整数,z是第n个本原的根。n k < n 挑战 编写一个完整的程序或函数,给定一个正整数n作为输入,该程序或函数将输出所有n个原始单位根。您可以将它们输出为极性形式(e^θi或e^iθ,参数应为至少两个小数位的小数)或矩形形式(a + bi或类似形式,实部和虚部也应为小数),并且它们可能会在您的语言列表中输出/ array格式或字符串,数字用空格或换行符分隔。不允许使用用于计算第n个统一根或第n个基本统一根的内置函数。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 样本输入和输出 6 -> e^1.05i, e^-1.05i # polar form 3 -> e^2.094395i, e^-2.094395i # any number of decimal places is OK as long as there are more than 2 8 -> 0.707 + 0.707i, 0.707 - 0.707i, -0.707 + 0.707i, -0.707 …

3
解决2x2特征系统
对于那些具有线性代数背景的人来说,挑战就这么简单:确定给定复数2x2矩阵的特征值和特征向量。您可能会跳过I / O详细信息等的挑战。对于那些需要对本征系统进行一些复习的人,请继续阅读。 背景 矩阵A的特征方程定义为 det| A - λI | = 0 其中λ是复数(标量)参数,I是单位矩阵,det | ... | 是决定因素。左侧求值为λ的多项式,即特征多项式,在2x2矩阵的情况下,该多项式是二次的。这个特征方程的解决方案是特征值的甲,我们将表示为λ 1和λ 2。 现在,特征向量 v 我的一个满足 A vi = λi vi 对于每一个λ 我,这给你两个方程的两个未知数的系统(的成分v 我),它可以很容易地解决。您会注意到系统实际上是未指定的,特征向量的大小不是由等式确定的。通常,我们将希望对特征向量进行归一化,即√(| x | 2 + | y | 2)= 1,其中x和y是向量分量,| x |。2是X乘以其复共轭。 注意,特征值可以是简并的,即,λ 1 =λ 2。在这种情况下,您可能无法满足具有两个线性独立特征向量的单一方程组。 挑战 给定具有复杂元素的2x2矩阵,请确定其两个(可能相同)特征值和每个特征值的归一化特征向量。结果数字必须精确到至少3个(十进制)有效数字。您可以假定任何矩阵元素的实部和虚部都在[-1,1]范围内。 您可以编写函数或程序,通过STDIN,命令行参数,提示或函数参数进行输入。您可以将结果输出到STDOUT,对话框或作为函数返回值。 您可以使用任何方便(但明确)的字符串或列表格式进行输入和输出。您还可以在成对的浮点数或复杂类型之间进行选择,以表示各个数字。 您不得使用内置函数来求解本征系统(如Mathematica …

22
复数的指数
给定两个整数,其可以是负,零或正数,a和b(采取任何合理的格式,包括输入一个普通的复数),将其转换为a + bi其中i是虚数(负一的平方根)。然后,将其提高到第三个(正整数)输入变量的幂,c以。然后,您应该得到类似的结果。然后,必须输出,或返回,并在任何合理的格式(包括输出一普通复数)。(a + bi)cd + eide 输入和输出可以以任何顺序进行或输出。 例子: 5, 2, 2 -> 21, 20 1, 4, 2 -> -15, 8 -5, 0, 1 -> -5, 0

25
计算相对论速度
在狭义相对论中,移动物体相对于另一个在相反方向移动的物体的速度由以下公式给出: s = v + u1 + v u / c2。s=v+ü1个+vü/C2。\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) 在这个公式中,和是物体速度的大小,是光速(大约是,对此非常接近挑战)。vvvüüuCCc3.0 × 108米/ 秒3.0×108米/s3.0 \times 10^8 \,\mathrm m/\mathrm s 例如,如果一个对象在移动v = 50,000 m/s,而另一个对象在移动u = 60,000 m/s,则每个对象相对于另一个的速度大约为s = 110,000 m/s。这就是您在伽利略相对论(速度简单地相加)下所期望的。但是,如果v …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.