• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:計算式の長さおよび括弧の数に制限はあるのか)

計算式の長さと括弧の制限について

このQ&Aのポイント
  • 計算式の長さと括弧の数には制限が存在するのか疑問です。
  • ある計算で式が30万文字を超える場合でも計算可能なのか疑問です。
  • Eclipseでの開発において、式を入力すると非常に不安定になります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

言語仕様を簡単にあたってみましたが、特にそのような制限は見つかりませんでした。 ただし、Java Virtual Machineの仕様には以下のような制限があるようです。 4.8.1 Static Constraints ・The value of the code_length item must be less than 65536. 4.8.2 Structural Constraints ・The size of an operand stack in a frame (§3.6) is limited to 65535 values by the max_stack field of the Code_attribute structure (§4.7.3) もし30万文字を超えるとしたら、なんらかの最適化が働いて短いコードを生成しない限り コンパイルや実行はできそうにないですね。 もし避けられるのであれば、そのようなコーディングは避けたいですよね。 30万文字を超えるとはいったいどんな用途のコードなのか興味深いです。

参考URL:
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
MASA_H
質問者

お礼

やはり文法としての明確な規定はないのですね。 実行環境に依存ですか。 回答ありがとうございます。 ちなみに30万文字を超える式は8節点レンガ型要素の形状関数をNi(u,v,w)、各節点の座標をそれぞれ(xi,yi,zi)としたとき、要素内の任意の点の座標(x0,y0,z0)に対応する(u0,v0,z0)をニュートン法を用いて求めようとして残差rを求めるときの式です。maximaで定義の式から順に解析的に解いたところ30万文字を超える式が返ってきました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • これはどうやって計算すればいいですか??

    これはどうやって計算すればいいですか?? プログラミングしているときにわからない式が出てきて困っています. 昔,授業で習った気もするのですが,どうしても思い出せません. 計算方法が分からない式は画像でアップしました. ベクトルu1:(x1,y1,z1) ← 既知 ベクトルu2:(x2,y2,z2) ← 既知 ベクトルu3:(x3,y3,z3) ← 求めたいベクトル としたときに, u1×u2は外積で,(y1 * z2 - y2 * z1, z1 *x2 - z2 * x1, x1 * y2 - x2 * y1)すればベクトルが出ててくるのはわかったのですが, |u1×u2|の計算方法がわかりません.(これはベクトルの大きさですか?それとも,別の意味ですか?) また,u1×u2に対して,|u1×u2|でわって,|u1|をかける方法がわかりません. 普通に成分に対する掛け算と割り算でいいのでしょうか?? できるだけ,早く回答していただけると非常に助かります. また,この式の意味がわかる方いましたら,それも教えていただけると助かります. 2つのベクトルが直交しているときに,その2つのベクトルに直交しているベクトルを求めるってことであっているのでしょうか?

  • 偏微分の計算間違いを指摘して欲しい。

    Z=e^(xy) x=log(u^2+v^2),y=arctan(v/u)があり、Zu をもとめるわけなんですけど、 -ve^(y)(u^2+v^2)^(-1/2)+e^y(1/2)(u^2+v^2)^(-1/2)となってしまいます。答えは、e^(xy)(uy-vx)/(u^2+v^2)になるそうです。どなたか私の計算間違いをさがすために計算プロセスを書いてくれないでしょうか。どこで間違えてるのでしょうか?arctanの微分のところとか自分では怪しいと思いますが・・

  • f(z) = z - 1/z に対してコーシー・リーマンの関係式を使っ

    f(z) = z - 1/z に対してコーシー・リーマンの関係式を使って正則性を判定せよ。 解答 f(z)はz≠0において定義され、 f(z)= u + iv u = x - x/(x^2 + y^2) v = y + y/(x^2 + y^2) であり、 u_x = v_y u_y = -v_x よってz≠0で正則 …と書いてあって、 u_x = v_y、u_y = -v_xの偏微分は計算できるんですが、 その前の u = x - x/(x^2 + y^2) v = y + y/(x^2 + y^2) をどうやって導き出したのか教えてください (式さえ教えてくだされば自分で計算します)。 この本には例が一つも載っていません…。お願いします。

  • コーシーリーマンの式について

    コーシーリーマンの式を導く時に f'(z)=lim f(z+Δz)-f(z)/Δz    Δz→0 という式でf(z)=u+iv Δz=Δx+iΔyとおき Δy=0の場合 ∂u/∂x + i∂v/∂x Δx=0の場合 -i∂u/∂y+∂v/∂y これを比べて ∂u/∂y=-∂v/∂x というのが、なぜ右辺にマイナスが付くのでしょうか? 教えてください。 よろしくお願いいたします。

  • 数学検定1級1次の問題

    問1.次の式を展開整理して、因数分解した形を求めなさい。 (x+y+z+x^2+y^2+z^2+xy+yz+zx-xyz)^2+(1-x^2-y^2-z^2+2xyz)(1+x+y+z)^2 これを展開してから解こうとするとかなり大変なので、うまいアプローチの仕方を考えたのですが中々思いつきません。 ちなみに、答えは『(x+1)^2(y+1)^2(z+1)^2』です。 問2.4つの曲線xy=1,xy=3,x^2-y^2=1,x^2-y^2=4で囲まれた第1象限の領域をBとするとき ∫∫[B](x^2+y^2)dxdy をu=x^2-y^2,v=xyの置換を用いて計算しなさい。 これは、 ∫∫[B](x^2+y^2)dxdy=∫[u=1→4]∫[v=1→3]2(x^2+y^2)^2dudv=2∫[u=1→4]∫[v=1→3](u^2+4v^2)dudv として、計算を進めると答えの『3』になりませんでした。 どなたかご教授いただければ幸いです。

  • 複素関数の証明問題です

    f(z)がzの解析関数(正則関数)であるとき (∂^2/∂x^2 + ∂^2/∂y^2)|f(z)|^2 = 4|f'(z)|^2 を証明する問題なのですが f(z)=u(x,y)+iv(x,y)とおいて、左辺を計算すると、 (∂^2/∂x^2 + ∂^2/∂y^2)(u^2+2uvi-v^2) =(∂/∂x)(∂u^2/∂x)+(∂/∂x)(∂2uvi/∂x)-(∂/∂x)(∂v^2/∂x) +(∂/∂y)(∂u^2/∂y)+(∂/∂y)(∂2uvi/∂y)-(∂/∂y)(∂v^2/∂y) =(∂/∂x)(2u(∂u/∂x))+(∂/∂x)(2vi(∂u/∂x))-(∂/∂x)(2v(∂v/∂x)) +(∂/∂y)(2u(∂u/∂y))+(∂/∂y)(2vi(∂u/∂y))-(∂/∂y)(2v(∂v/∂y)) コーシー・リーマンの関係式を用いて、 =2(∂u/∂x)(∂v/∂y)+2i(∂v/∂x)(∂v/∂y)+2(∂v/∂x)(∂u/∂y) -2(∂u/∂y)(∂v/∂x)-2i(∂v/∂y)(∂v/∂x)-2(∂v/∂y)(∂u/∂x) =0 となりました。 最後のところで 2(∂u/∂x)(∂v/∂y)+2i(∂v/∂x)(∂v/∂y)-2(∂v/∂x)(∂u/∂y) -2(∂u/∂y)(∂v/∂x)-2i(∂v/∂y)(∂v/∂x)+2(∂v/∂y)(∂u/∂x) となれば 4{(∂u/∂x)(∂v/∂y)-(∂v/∂x)(∂u/∂y)} =4{(∂u/∂x)^2+(∂v/∂x)^2} =4|f'(z)|^2 となり、証明できるのですが、途中どこが間違っているかが分かりません 長文となりましたが、分かる方よろしくお願いします。

  • 偏微分の答えが出ません

    つぎの式で表される合成関数についてz(u),z(v)を求めよ。 z=x^3-3xy+y^3,x=uv,y=u^2+v^2です。 計算がうまくいきません。 答えは z(u)=5u^5+12u^3v^2+9u^2v^3-9u^2v+6uv^4-3v^3 z(v)=5v^5+12u^2v^3+9u^3v^2-9uv^2+6u^4v-3u^3

  • 式変形がわからない・・・

    z=1/w=1/(u+iv)=u/(u^2+v^2)-iv/(u^2+v^2) よりx=u/(u^2+v^2), y=-v/(u^2+v^2) を得れます。w平面における実軸に平行な直線v=v0, v0≠0のw=1/zによる逆像は x^2+(y+1/2v0)^2=(1/2v0)^2を満たす円になります。 この導き方がわかりません。 式変形を教えてください。 せっぱつまっています。

  • 複素数で

    Cauchy-Riemanの微分方程式を極座標で表すと ru_r=v_θ,-ru_r=v_θ を示せ。 という問題なんですが、 z=r(cosθ+isinθ)、w=u+ivとおいて、やろうとするんですが、u_r=u_xcosθ+u_ysinθとなることがわかりません。 きわめて簡単な問題だと思いますが、教えてください。お願いします。

  • 微積

    どうやれば良いのか分かりません。ぜひ、教えてください。 Z=f(x、y)とする。座標変換をαは定数として、 x=ucosα+vsinα y=-usinα+vcosα とする。 (1)(∂z/∂u)^2+(∂z/∂v)^2 を計算過程を示し、座標(x、y)を用いて表せ。 (2)(∂^2)z/∂u^2+(∂^2)z/∂v^2 を計算過程を示し座標(x、y)を用いて表せ。