遇见数据集

Indices and sign arrays for floretion multiplication up to order 8.

收藏
Zenodo2026-06-12 更新2026-05-26 收录
官方服务:

资源简介:

Floretion Multiplication Data, up to Order 8 Overview This dataset contains precomputed multiplication data for floretions up to order 8. The same datasets can also be generated directly from the source code by running the script create_data_dirs.py in the GitHub repository linked below. The archived files are included mainly for historical reference, comparison, and cross-checking against independently generated data. A floretion of order n is a real linear combination of basis words of length n in the alphabet {1, 2, 4, 7}. The four digits are identified with the quaternionic basis symbols 1 ↔ i, 2 ↔ j, 4 ↔ k, 7 ↔ e. Multiplication is performed digit by digit, and the local quaternionic signs are collected into one global sign. In order one this recovers the quaternion group Q8. In general, the signed basis group Fn = {±b : b in {1,2,4,7}^n} is the central product of n copies of Q8, and the real algebra generated by the basis words is the tensor product H^{⊗n}. Thus floretions do not define a new abstract family of finite groups or algebras. The value of the floretion representation is its explicit digitwise, computational, and geometric coordinate system. Coordinate and geometric viewpoint The alphabet {1, 2, 4, 7} also has a triangular interpretation. The digits 1, 2, and 4 label the three corner subtriangles in a recursive equilateral-triangle subdivision, while the digit 7 labels the central subtriangle. This gives a direct connection between algebraic basis words and triangular tilings. In this coordinate system, several structures can be studied in one language: Boolean multiplication rules using XNOR and AND; digitwise S3-actions on the symbols 1, 2, and 4; reflection anti-automorphisms; centralizer tile sets; parity cancellation; axis-landing phenomena in triangular tilings. Dataset description The dataset contains precomputed index arrays and sign arrays, stored in NumPy binary format, for efficient multiplication of floretions up to order 8. For two order-n floretions x and y, the product z = x*y can be computed coefficient by coefficient. For each output basis vector z_r, the corresponding coefficient is obtained as an ordinary dot product between the coefficient vector of y and a signed, reordered version of the coefficient vector of x. The noncommutativity of floretion multiplication is encoded in the row-dependent index and sign arrays. For each output row r: the indices array specifies how the coefficients of x should be reordered; the signs array specifies which signs must be applied; the resulting signed and reordered vector is dotted with the coefficient vector of y. This replaces repeated symbolic basis multiplication by array indexing, sign changes, and standard dot products. Order-one example Write x = x[0]i + x[1]j + x[2]k + x[3]e and y = y[0]i + y[1]j + y[2]k + y[3]e. The coefficient of i in z = x*y is x[0]y[3] + x[1]y[2] - x[2]y[1] + x[3]y[0]. This can be computed as np.dot(np.multiply([1, -1, 1, 1], [x[3], x[2], x[1], x[0]]), [y[0], y[1], y[2], y[3]]). Here [1, -1, 1, 1] is the first row of the signs matrix, while [3, 2, 1, 0] is the first row of the indices matrix. For order one, the matrices are: Signs matrix [[ 1 -1 1 1][ 1 1 -1 1][-1 1 1 1][-1 -1 -1 1]] Indices matrix [[3 2 1 0][2 3 0 1][1 0 3 2][0 1 2 3]] File sizes and segmentation The number of basis vectors grows as 4^n, so the arrays become large quickly. To keep file sizes manageable: order 7 data is split into 4 segments; order 8 data is split into 64 segments. Each segment contains the corresponding portion of the precomputed index and sign data needed for multiplication. Related resources Current paper: Bitwise Triangular Coordinates for Central Products of Quaternion Groups: Floretion Base Vectors, Digitwise S3-Actions, and Centralizer Tiles Online Floretion Calculator Floretions at GitHub

n阶floretion(floretion)是字母表{1,2,4,7}上长度为n的带符号基字的实线性组合。这四个数字与四元数基符号一一对应:1↔i,2↔j,4↔k,7↔e,乘法按逐位执行,并将局部符号合并为一个全局符号。当n=1时,该结构还原为四元数群Q8。一般而言,带符号基群是n个Q8副本的中心积;floretion表示法的价值在于其显式的逐位计算与几何坐标系。 同一字母表{1,2,4,7}还具备几何解释。数字1、2、4分别标记递归等边三角剖分中的三个边角子三角形,而数字7则标记中心子三角形。这为代数基字与三角铺砌建立了自然关联。 该乘法规则可采用XNOR、AND等基本按位运算的布尔形式表述。这并非取代四元数乘法的新型乘法,而是以布尔坐标形式书写的四元数乘法表。该表示法在计算中颇具实用价值,因为它可通过预计算的索引与符号数组实现高阶乘法运算。 Floretion 计算器 GitHub 上的 Floretions 当前草稿论文 阶数不超过8的Floretion乘法数据集描述 本数据集包含以NumPy二进制格式存储的预计算索引数组与符号数组,用于高效实现阶数不超过8的floretion乘法。 对于两个floretion x与y,其乘积z = x*y可逐系数计算。对于每个输出基向量z_r,对应的系数可通过y的系数向量与x的系数向量的带符号重排版本之间的普通点积得到。floretion乘法的非交换性通过依赖于行的索引与符号数组进行编码。 换言之,索引数组的每一行指定了针对特定输出基向量时,x的系数应如何重排;而符号数组的对应行则指定了在与y进行点积前需施加哪些符号变换。 举一个简单的一阶示例:令 x = x[0]i + x[1]j + x[2]k + x[3]e y = y[0]i + y[1]j + y[2]k + y[3]e 则z = x*y中i的系数为: x[0]y[3] + x[1]y[2] - x[2]y[1] + x[3]y[0] 该式可通过如下方式计算: np.dot(np.multiply([1, -1, 1, 1], [x[3], x[2], x[1], x[0]]), [y[0], y[1], y[2], y[3]]) 其中[1, -1, 1, 1]为符号矩阵的第一行,而[3, 2, 1, 0]为索引矩阵的第一行。 对于一阶情形,对应的矩阵为: 符号矩阵 [[ 1 -1 1 1] [ 1 1 -1 1] [-1 1 1 1] [-1 -1 -1 1]] 索引矩阵 [[3 2 1 0] [2 3 0 1] [1 0 3 2] [0 1 2 3]] 这些预计算矩阵可将重复的符号基乘法替换为数组索引、符号变换与标准点积运算。对于更高阶的情形,该方法的优势尤为显著,因为基向量的数量随4^n增长。为控制文件大小,阶数7的数据被拆分为4个分段,阶数8的数据则被拆分为64个分段。

提供机构:
Zenodo
创建时间:
2024-04-23
二维码
社区交流群
二维码
科研交流群
商业服务