小编nil*_*ock的帖子

Mathematica和GAP:有接口吗?

尽管抽象代数附加组件对于Mathematica来说是一个很好的包,但是没有任何东西可以胜过GAP,至少不是群论.几年前,当我看着Sage的时候,我发现据说它与Mma有一个接口,但是当我仔细观察它时,它变得有点原始(但是可操作).我知道埃因霍温技术大学(OpenMath)已经在一个集成/连接主要数学工具的平台上完成了工作,我甚至开始研究它.但那项工作迷失了.现在问我的问题:

GAP和Mathematica之间的接口是否存在,是否有人愿意分享?

wolfram-mathematica interface gap-system

6
推荐指数
2
解决办法
764
查看次数

在Mathematica中创建一个可变长度的空格字符串

下面的Mathematica函数f创建一个长度为n的空格字符串.

f[n_]:=Fold[StringJoin,"",Array[" "&,n]]
Run Code Online (Sandbox Code Playgroud)

创建此功能必须有多种选择.

你会怎么做的?

regex wolfram-mathematica

5
推荐指数
2
解决办法
383
查看次数

何时在Mathematica中使用Hold/ReleaseHold?

示例和背景(注意Hold,ReleaseHold的用法):

以下代码表示用于创建scenegraph对象的静态工厂方法(来自XML文件).(output-)字段是CScenegraph(OO-System类)的一个实例.

 new[imp_]:= Module[{
 ret,
 type = "TG",
 record ={{0,0,0},"Root TG"}
 },
 ret = MathNew[
    "CScenegraph", 
    2,
    MathNew["CTransformationgroup",1,{type,record},0,0,0,0,Null]];
 ret@setTree[ret];
 ret@getRoot[]@setColref[ret];
 csp = loadClass["CSphere"];
 spheres = Cases[imp, XMLElement["sphere", _, __], Infinity];
 codesp = Cases[spheres, XMLElement["sphere", 
    {"point" -> point_, "radius" -> rad_, "hue" -> hue_}, {}] -> Hold[csp@new[ToExpression[point], ToExpression[rad], ToExpression[hue]]]];
 ret@addAschild[ret@getRoot[],ReleaseHold[codesp]];
 ret
 ];
Run Code Online (Sandbox Code Playgroud)

我的问题是关于以下内容:

spheres = Cases[imp, XMLElement[\sphere\, _, __], Infinity];
codesp = Cases[spheres, XMLElement[\sphere\, 
    {\point\ -> point_, \radius\ -> rad_, \"hue\" -> hue_}, {}] -> Hold[csp@new[ToExpression[point], ToExpression[rad], ToExpression[hue]]]];
ret@addAschild[ret@getRoot[],ReleaseHold[codesp]];
Run Code Online (Sandbox Code Playgroud)

哪里

  addAschild …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

5
推荐指数
1
解决办法
551
查看次数

关于使用Mathematica打印逻辑表的问题

背景:另见:http://mathworld.wolfram.com/TruthTable.html

Mathematica提供以下功能.

 TruthTable[op_, n_] := 
  Module[{l = 
     Flatten[Outer[List, Sequence @@ Table[{True, False}, {n}]], 
      n - 1], a = Array[A, n]}, 
   DisplayForm[
    GridBox[Prepend[Append[#, op @@ #] & /@ l, Append[a, op @@ a]], 
     RowLines -> True, ColumnLines -> True]]]
Run Code Online (Sandbox Code Playgroud)

我打印了一张nand表如下:

 TruthTable[Not[And[#1, #2]] &, 2]

 A[1]   A[2]    !(A[1]&&A[2])
 True   True    False
 True   False   True
 False  True    True
 False  False   True
Run Code Online (Sandbox Code Playgroud)

这是预期的,除了标题,我想用P,Q或A,B作为变量.

  • 问题:我不太了解代码中A的使用.请评论.(也许我使用的功能不正确?)

wolfram-mathematica

5
推荐指数
1
解决办法
685
查看次数

求解Mathematica中的二次同余方程

为了解决

   x^2 == 123456 mod 1299709 
Run Code Online (Sandbox Code Playgroud)

在Mathematica我使用过:

  Reduce[x^2 == 123456 + 1299709 k, {x, k}, Integers]
Run Code Online (Sandbox Code Playgroud)

这产生了正确的答案.

问题:减少求解二次同余方程的最佳方法(性能,优雅或其他方法)?

wolfram-mathematica modulo

5
推荐指数
1
解决办法
2750
查看次数

方法:(以及在何处)在Mathematica中定义函数别名以用于任何新笔记本?

我想以适当的方式为Mma函数设置别名.

目前,我将几个别名复制并粘贴到新笔记本中的单元格中,如:

 tf:=TableForm
 fi:=FactorInteger
 re:=RegularExpression
Run Code Online (Sandbox Code Playgroud)

等等.

当我在doc中搜索别名时,我找到了Esc ... Esc方法的描述,以及有关定义自定义表示法的章节.我想,我希望找到一些用于定义别名的初始化文件.我此刻有些困惑.

问题: - 定义在任何新Notebook中使用的函数别名的常用/正确/最佳方法是什么?

wolfram-mathematica

5
推荐指数
3
解决办法
813
查看次数

如何准备React.js组件以在ClojureScript中用作外部Reagent组件?

我想将此React.js组件用作ClojureScript应用程序中的外部Reagent组件:

https://github.com/felixrieseberg/React-Spreadsheet-Component.

但是,该组件在存储库中不可用:

http://cljsjs.github.io/.

如果目录中有React.js组件,那么将它与Reagent一起使用就像在下面的示例中一样简单.

(ns demo.views
  (:require [reagent.core :as reagent]
            [cljsjs.reactable]])

(defn example []
  [:div
  [:> Reactable.Table
    {:data (clj->js [
                 {:name "Foo" :section 51}
                 {:name "Bar" :section 51}
                 ])}
    ]
   ]
  )
Run Code Online (Sandbox Code Playgroud)

我想知道我将如何处理React Spreadsheet组件,以便我可以以类似的简单方式使用它.如何准备React.js组件以在ClojureScript中用作外部Reagent组件?请提供明确的配方类型的描述.

注意:这个问题如何使用Cactjurescipt/Reagent的ReactJS组件看起来很相似,但没有回答我的问题.

clojurescript reactjs reagent

5
推荐指数
1
解决办法
483
查看次数

Mathematica:将矩阵数据写入XML; 从XML读取矩阵数据

(部分)我使用的对象的矩阵表示如下:

 {
 {1, A,{100,  20, 30},10},
 {2, B,{100}, 0},
 {3, X,{120,20},0},
 {4, C,{},11}
 }
Run Code Online (Sandbox Code Playgroud)

我想以XML格式将这些数据存储在外部,如下所示

<data>
<row key ="1"val1 ="A"val2 ="10"> <occ> 100 </ occ> <occ> 20 </ occ> <occ> 30 </ occ> </ row>
<行密钥= "2" VAL1 = "B" VAL2 = "0"> <OCC> 100 </ OCC> </行>
<行密钥= "3" VAL1 = "X" VAL2 = "0"> <OCC> 120 </ occ> <occ> 20 </ occ> </ row>
<row key ="4"val1 ="C"val2 ="11"> </ row>
</ data>

我正在寻找一个如何:

- 将矩阵传输到XML(Mathematica命令?)

- 导入XML文件后,将XML字符串解析回矩阵格式.

wolfram-mathematica

4
推荐指数
1
解决办法
1559
查看次数

如何在ClojureScript中创建函数局部可变变量?

考虑以下假设的无意义的ClojureScript函数:

(defn tmp [] 
  (def p 0)
  (set! p (inc p))
  (set! p (inc p))
  (set! p (inc p)))
Run Code Online (Sandbox Code Playgroud)

在REPL中重复执行此功能会导致

3
6
9
etc.
Run Code Online (Sandbox Code Playgroud)

是否有可能创建该函数本地的可变变量,以使输出本来可以

3
3
3
etc. 
Run Code Online (Sandbox Code Playgroud)

在重复执行(tmp)的情况下?

clojurescript

4
推荐指数
1
解决办法
1321
查看次数

如何用Java创建Mathematica Notebook?

我正在寻找创建Mathematica Notebook文件的典型"Hello World"程序.

我有这个工作计划.

 package graphica;

 import com.wolfram.jlink.*;

 /**
  *
  * @author Nilo
  */
public class MathematicaTester {

public static void main(String[] args) {

    KernelLink ml = null; 
    String jLinkDir = "C:\\Program Files\\Wolfram Research\\Mathematica\\8.0\\SystemFiles\\Links\\JLink";
    System.setProperty("com.wolfram.jlink.libdir", jLinkDir);

    try { 
        ml = MathLinkFactory.createKernelLink("-linkmode launch -linkname 'C:\\Program Files\\Wolfram Research\\Mathematica\\8.0\\MathKernel.exe'");

        ml.discardAnswer();
        String expr = "Sum[k^2,{k,1,11}]";
        ml.evaluate(expr);
        ml.waitForAnswer();
        String x = ml.getString();
        System.out.println("Result = " + x);

    } catch (MathLinkException e) { 
        System.out.println("Fatal error opening link: " + 
        e.getMessage()); 
        return; 
    }
}
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到以下-expected-输出.

run: …

wolfram-mathematica jlink

3
推荐指数
1
解决办法
1437
查看次数