Questions tagged «linear-algebra»

对于涉及线性代数的挑战,矢量空间的数学及其之间的线性映射。

8
上升还是下降?
给定山羊的图像,您的程序应该最好尝试识别山羊是否倒置。 例子 这些是输入可能是什么的示例。不是实际的投入 输入: 输出: Downgoat 规格 您的程序最多应为30,000个字节 输入将包含完整的山羊 图片将始终包含山羊 如果山羊倒立,输出Downgoat,否则Upgoat 输入将是您可以将图像作为输入(文件名,图像的base64等)。 要点文件名仅供参考,不要依赖于包含“ Upgoat”或“ Downgoat”的图像名称或其他元数据。 请不要硬编码。这很无聊,我无法完全执行它,但是我可以很好地询问。 测试用例 要点与图像。开头的图像downgoat具有Downgoat输出和图像开始与upgoat有Upgoat输出。 第二批测试用例 确保在所有测试用例上测试图像。这些图像是jpgs。图像大小确实有所不同,但没有说太多。 注意:在接受答案之前,可以添加一些测试用例,以避免使用硬编码的答案并检查程序的总体性能。 正确获得我的头像的奖励积分:P 计分 分数是可以通过以下方式计算的百分比: (number_correct / total) * 100

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

19
我的馅饼被平分了吗?
编写一个包含正整数的非空列表的程序或函数。您可能会假设它是以合理方便的格式输入的,例如"1 2 3 4"或[1, 2, 3, 4]。 输入列表中的数字表示完整饼图的切片,其中每个切片的大小与其对应的数字成比例,并且所有切片均按给定的顺序排列在图表周围。 例如,饼图为1 2 3 4: 您的代码必须回答的问题是:饼图是否一分为二?也就是说,从圆的一侧到另一侧是否存在一条完美的直线,将其对称地一分为二? 你需要输出truthy值,如果有至少一个平分线和输出falsy如果有没有价值。 在该1 2 3 4示例中,之间有一个等分线4 1,2 3因此输出将是真实的。 但是对于输入而言1 2 3 4 5,没有平分线,因此输出将是虚假的: 其他例子 以其他方式排列数字可能会消除等分线。 例如2 1 3 4→虚假: 如果输入列表中只有一个数字,则饼图不会一分为二。 例如10→虚假: 可能有多个平分线。只要大于零,输出就是真实的。 例如6 6 12 12 12 11 1 12→真实:(这里有3个等分线) 即使平分在视觉上不明显,也可能存在。 例如1000000 1000001→虚假: 例如1000000 1000001 1→真实: (感谢nces.ed.gov生成饼图。) 测试用例 …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], …

22
基本ASCII提示
替代标题:在墙上统计您的监狱判决 给定一个数字n,输出记录分为传统的每组5个和每行50个。 例子 1个 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
整数矩阵的行列式
给定一个平方整数矩阵作为输入,输出矩阵的行列式。 规则 您可以假设矩阵中的所有元素,矩阵的行列式以及矩阵中元素的总数在您的语言可表示的整数范围内。 允许输出分数为0的十进制/浮点值(例如42.0代替42)。 允许使用内置函数,但是建议您包括不使用内置函数的解决方案。 测试用例 [[42]] -> 42 [[2, 3], [1, 4]] -> 5 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> 0 [[13, 17, 24], [19, 1, 3], [-5, 4, 0]] -> 1533 [[372, -152, 244], [-97, -191, 185], [-53, -397, -126]] -> 46548380 [[100, -200, …

10
查找Rationals的点积
我在朋友家吃晚饭,他们提出了“素数向量空间”的想法。在此空间中,将正整数表示为向量,以使向量中的第n个元素是第n个素数除以该数目的次数。(请注意,这意味着我们的向量具有无限数量的项。)例如20为 2 0 1 0 0 0 ... 因为它的质因子分解是2 * 2 * 5。 由于素因数分解是唯一的,所以每个数字都对应一个向量。 我们可以通过成对添加向量来添加向量。这与将它们关联的数字相乘相同。我们还可以进行标量乘法,这类似于将相关数提高为幂。 问题在于该空间实际上不是矢量空间,因为没有逆。如果继续进行加和逆运算并关闭向量空间,我们现在可以将每个正有理数表示为向量。如果我们保留向量加法表示乘法的事实。那么自然数的倒数就是它的倒数。 例如,数字20具有向量 2 0 1 0 0 0 ... 因此,1/20是其倒数 -2 0 -1 0 0 0 ... 如果我们想找到与14/15之类的分数相关的向量,我们将找到14 1 0 0 1 0 0 ... 和1/15 0 -1 -1 0 0 0 ... 并通过执行矢量加法将它们相乘 1 …

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

10
符号矩阵乘法
有很多不同的方法来解释矩阵乘法。我会坚持一个数字,因为我相信这里的大多数人都熟悉它(这个数字非常具有描述性)。如果您需要更多详细信息,建议您访问Wikipedia文章或WolframMathWorld上的说明。 简单说明: 假设您有两个矩阵A和B,其中A是3×2,而B是2×3。如果对矩阵AB或BA进行矩阵乘法,将得到以下结果: 挑战: 用您的语言实现符号矩阵乘法。您将采用两个矩阵作为输入,其中矩阵中的每个元素都由一个非空白ASCII字符(代码点33-126)表示。您必须输出这些矩阵的乘积。 有关输出的规则: 两个条目的乘积之间不应有任何符号。这ab不a*b,a·b,times(a,b)或者类似的东西。这aa,不是a^2。 项的总和之间应有一个空格(ASCII码点32)。这a b不a+b,plus(a,b)或者类似的东西。 这两个规则的基本原理是:矩阵中所有非空白字符都可以用作符号,因此将它们用作数学符号会很麻烦。所以,你可以正常写成a*b+c*d会ab cd。 您可以选择条款的顺序。ab cd,dc ab并cd ba在数学上来说是相同的,所以你可以在这里选择的顺序了。只要在数学上正确,顺序就不必一致。 有关矩阵格式的规则: 矩阵可以以任何您喜欢的格式输入,除了在行之间没有定界符的单个字符串(这是因为输出将被完全弄乱)。两个矩阵必须以相同的格式输入。以下所有示例都是输入和输出矩阵的有效方法。 "ab;cd" <- This will look awful, but it's still accepted. "a,b\nc,d" [[a,b],[c,d]] [a, b] [c, d] 我知道这允许许多看起来很杂乱的格式,但是挑战在于要乘以矩阵而不是格式化输出。 一般规则: 您可以假设输入有效。在给定尺寸下,矩阵乘法始终是可能的。 只有两个矩阵。 您可以假设矩阵是非空的 接受内置函数(但由于格式要求,可能有点麻烦)。 当然,如果需要,您当然可以在输入中使用转义符(\'而不是')。 任何标准的输入和输出方法都可以。 测试用例: 所示的两个输入矩阵之间有一条空线。输出显示在之后Output:。当有两个输出矩阵时,这只是显示其他可以接受的输出。 测试用例#1 Inputs: [a] [b] Output: [ab] [ba] …

17
范德蒙行列式
给定一个n值向量,(x1,x2,x3,...,xn)返回相应范德蒙德矩阵的行列式。 该行列式可以写为: 细节 您的程序/函数必须接受允许可变长度的任何方便格式的浮点数列表,并输出指定的行列式。 您可以假设输入和输出都在您的语言支持的值的范围内。如果您的语言不支持浮点数,则可以采用整数。 一些测试案例 请注意,每当有两个相等的条目时,行列式将为0相应的Vandermonde矩阵中有两个相等的行。感谢@randomra指出了这个丢失的测试用例。 [1,2,2,3] 0 [-13513] 1 [1,2] 1 [2,1] -1 [1,2,3] 2 [3,2,1] -2 [1,2,3,4] 12 [1,2,3,4,5] 288 [1,2,4] 6 [1,2,4,8] 1008 [1,2,4,8,16] 20321280 [0, .1, .2,...,1] 6.6586e-028 [1, .5, .25, .125] 0.00384521 [.25, .5, 1, 2, 4] 19.3798828

3
实施简化字距调整
介绍 字距调整是指调整文本字母之间的间距。例如,考虑Top用以下三个字形写的单词: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... 我们可以用点填充字形之间的间隙并完成它,但是间隙看起来太宽了。相反,我们将字形滑动到左侧,以便它们几乎可以接触: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... 看起来好多了!请注意,的条形图T在的左边框上方o。在此挑战中,您的任务是为此类矩形字形实现一个简单的字距调整程序。 字距调整过程 考虑具有.和#形状相同的两个矩形2D字符数组。在简单的字距调整过程中,我们首先将数组并排放置,中间放置一列.s。然后,我们将#右阵列中的每一个向左移动一步,直到#左右阵列中的s正交或对角相邻。字距调整的结果是引入相邻s 之前的步骤#。您的任务是实施此过程。 让我们举个例子: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

8
撞球撞
给定一对撞球在撞击前的二维位置和速度,计算出完全弹性碰撞后的速度。假定这些球是具有相同半径,相同质量,均匀密度且无摩擦的理想球体(或等效地:圆形)。 输入由8个数字:p0x,p0y,v0x,v0y,p1x,p1y,v1x,v1y其中p0x,p0y是所述第一球,中心v0x,v0y其速度,并且类似地p1x,p1y,v1x,v1y,第二球。可以接受以任何顺序输入,并且在任何方便的方式结构化,例如,作为一个2x2x2的阵列,或者一个2×2阵列p和两个长度为2的数组为v0和v1。也可以使用复数(如果您的语言支持)而不是xy对。但是,您不应在非直角坐标系的坐标系中进行输入,即不允许使用极坐标。 请注意,撞球的半径是p0x,p0y和之间的距离的一半p1x,p1y,因此并未将其作为输入的明确部分给出。 编写一个程序或函数,以任何方便的笛卡尔表示形式输出或返回4个数字:的碰撞后值v0x,v0y,v1x,v1y。 可能的算法是: 找到穿过两个中心的法线 找到穿过两个中心之间的中点并垂直于法线的切线 改变坐标系和分解v0x,v0y,并v1x,v1y纳入其切线和正常组件v0t,v0n和v1t,v1n 交换的正常组成部分v0和v1,维护他们的切向分量 改回原始坐标系 测试(结果四舍五入到小数点后五位): p0x p0y v0x v0y p1x p1y v1x v1y -> v0x' v0y' v1x' v1y' [-34.5,-81.8, 34.7,-76.1, 96.2,-25.2, 59.2,-93.3] [ 49.05873, -69.88191, 44.84127, -99.51809] [ 36.9, 77.7,-13.6,-80.8, -7.4, 34.4, 15.1,-71.8] [ 5.57641, -62.05647, -4.07641, -90.54353] [-51.0, 17.6, 46.1,-80.1, 68.6, 54.0,-35.1,-73.9] [ …

27
广义矩阵迹
灵感。 给出(通过任何方式): 两个参数(或包含两个元素的列表的单个参数)黑盒函数,(输入和输出为1、2、3,…)f: ℤ+ × ℤ+ → ℤ+ 具有至少两行两列的严格正整数矩阵 返回矩阵的函数trace。 什么是功能跟踪? 法线矩阵轨迹是矩阵的主要对角线(左上至右下)的总和: [[1,2,3],[4,5,6],[7,8,9]]→交通[1,5,9]→交通1+5+9→交通15 但是我们不求总和,而是f沿对角线应用: [[1,2,3],[4,5,6],[7,8,9]]→交通[1,5,9]→交通f(f(1,5),9)或f(1,f(5,9)) 请说明您使用的是从左到右还是从右到左。 给定的矩阵和所有中间值将严格为您语言的整数域内的正整数。矩阵可以是非正方形的。 例子 f(x,y) = xy,[[1,2,3],[4,5,6],[7,8,9]]→交通1×5×9→交通45 f(x,y) = xy,[[1,2,3],[4,5,6],[7,8,9]]→交通 →交通1591 f(x,y) = x-y,[[4,5,6],[1,2,3]]→交通4-2→交通2 f(x,y) = (x+y)⁄2,[[2,3,4],[5,6,7],[8,9,10]]→ 5或7 f(x,y) = x+2y,[[1,2,3],[4,5,6],[7,8,9]]→ 47或29 f(x,y) = max(x,y),[[1,2,3],[4,5,6],[7,8,9]]→交通max(1,5,9)→交通9 f(x,y) = 2x,[[1,2,3],[4,5,6],[7,8,9]]→ 2或4 f(x,y) = lcm(x,y),[[2,2,2],[2,2,3],[2,3,3],[4,4,4]]→交通lcm(2,2,3)→交通6 参考实施。

16
找出3 x 3矩阵的逆矩阵
挑战 给定九个数字,a, b, c, d, e, f, g, h, i作为与平方矩阵相对应的输入: M=⎛⎝⎜adgbehcfi⎞⎠⎟M=(abcdefghi)\mathbf{M} = \begin{pmatrix}a& b& c\\ d& e& f\\ g& h& i\end{pmatrix} 求矩阵的逆M− 1M−1个\mathbf{M}^{-1}并输出其分量。 逆矩阵 矩阵3乘3的逆遵循以下方程式: M M− 1= M− 1M =我 = ⎛⎝⎜1个0001个0001个⎞⎠⎟中号中号-1个=中号-1个中号=一世=(1个0001个0001个)\mathbf{MM}^{-1} = \mathbf{M}^{-1}\mathbf{M} = \mathbf{I} = \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} 可以计算为: 中号− 1= 1det (M)CŤ中号-1个=1个t(中号)CŤ\mathbf{M}^{-1} = \frac{1}{\det(\mathbf{M})}\mathbf{C}^T 其中是辅助因子的矩阵:CC\mathbf{C} C = ⎛⎝⎜e …

13
哈夫尼亚人Codegolf
挑战是为矩阵的Hafnian写codegolf 。对称矩阵的2nHafnian 定义为:2nA 下面就2N代表了一组整数的所有排列的,从1到2n,那就是[1, 2n]。 Wikipedia链接讨论了邻接矩阵,但是您的代码应适用于任何实值对称输入矩阵。 对于那些对Hafnian应用程序感兴趣的人,mathoverflow链接讨论了更多内容。 您的代码可以随意输入,并以任何合理的格式提供输出,但是请在答案中包括一个完整的示例,其中包括有关如何向代码提供输入的明确说明。 输入矩阵始终为正方形,最大为16 x16。无需处理空白矩阵或奇数维矩阵。 参考实施 这是Xcoder先生提供的一些示例python代码。 from itertools import permutations from math import factorial def hafnian(matrix): my_sum = 0 n = len(matrix) // 2 for sigma in permutations(range(n*2)): prod = 1 for j in range(n): prod *= matrix[sigma[2*j]][sigma[2*j+1]] my_sum += prod return my_sum / …

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.