एकीकरण अंक और त्रिकोण और tetrahedra के लिए स्वचालित पीढ़ी


12

आमतौर पर एक इकाई त्रिकोण और टेट्राहेड्रा के लिए एकीकरण अंक और भार खोजने के लिए एक पेपर या पुस्तक से परामर्श करेगा। मैं ऐसे बिंदुओं और भारों की स्वचालित रूप से गणना करने के लिए एक विधि की तलाश में हूं। निम्नलिखित Mathematica कोड उदाहरण यूनिट लाइन (क्वाड / हेक्साहेड्रोन) तत्वों के लिए एकीकरण वज़न और अंकों की गणना करता है:

unitGaussianQuadraturePoints[points_] := 
  Sort[x /. 
    Solve[Evaluate[LegendreP[points, x] == 0], {x}], ! 
     OrderedQ[N[{#1, #2}]] &];

unitGaussianQuadratureWeights[points_] := 
  Module[{gps, f, int, integr, vars, eqns}, 
   gps = unitGaussianQuadraturePoints[points];
   f[0, 0] := 1;
   f[0., 0] := 1.;
   f[x_, n_] := x^n;
   int = Integrate[f[x, #], x] & /@ Range[0, points - 1];
   integr = Subtract @@@ (int /. x :> {1, -1});
   vars = Table[Unique[c], {Length[gps]}];
   eqns = 
    Table[Plus @@ Thread[Times[vars, f[#, i - 1] & /@ gps]] == 
      integr[[i]], {i, points}];
   Return[(vars /. Solve[eqns, vars])];];


unitGaussianQuadratureWeights[2]

{{1, 1}}

unitGaussianQuadraturePoints[2]

{1/Sqrt[3], -(1/Sqrt[3])}

मैं एक पेपर / पुस्तक की तलाश कर रहा हूं जो एल्गोरिदम का वर्णन करता है कि यह त्रिकोण और / या टेट्राहेड्रा के लिए कैसे किया जाता है। क्या कोई मुझे इस बारे में कुछ जानकारी दे सकता है। धन्यवाद।


1
वहाँ में अपने गॉस-लेगेंद्रे क्षेत्रकलन नियमों करने के लिए एक आसान तरीका है मेथेमेटिका : {points, weights} = MapThread[Map, {{2 # - 1 &, 2 # &}, Most[NIntegrate`GaussRuleData[n, prec]]}]
जेएम

किसी भी घटना में: क्या आपने यह देखा है ?
जेएम

@JM, आपकी उपरोक्त प्रस्तावित विधि, दुर्भाग्य से, प्री = इन्फिनिटी के लिए काम नहीं करती है; लेकिन उसके लिए भी धन्यवाद।

2
उस मामले में, यहां एक विधि है जो काम करती है, गोलूब और वेल्श के कारण Transpose[MapAt[2(First /@ #)^2 &, Eigensystem[SparseArray[{Band[{2, 1}] -> #, Band[{1, 2}] -> #}, {n, n}]], {2}]] &[Table[k/Sqrt[(2 k - 1)(2 k + 1)], {k, n - 1}]]:।
JM

1
यहाँ गोलूब और वेल्श का पेपर है। मैं अपने कागजात के माध्यम से खुदाई करूँगा और देखूंगा कि क्या सादगी के लिए कुछ है ...
जेएम

जवाबों:



3

यहाँ एक पेपर http://journal.library.iisc.ernet.in/vol200405/paper6/rathod.pdf है, जो बताता है कि वज़न और नमूना बिंदुओं की गणना करने के लिए मानक त्रिकोण को मानक 2-वर्ग में कैसे मैप किया जाए। मानक 2-वर्ग के लिए गॉस-लीजेंड अंक के संदर्भ में त्रिकोण।


यह एक दिलचस्प विचार है, ऐसा लगता है कि n = 2 के लिए यह 4 अंक की आवश्यकता है, n = 2 के लिए त्रिकोण के लिए विशिष्ट साहित्य संदर्भ के लिए, 3 अंक दिए गए हैं। क्या आप इस बारे में कुछ भी जानते हैं?

यह इस तथ्य से उपजा है कि वे त्रिकोण से वर्ग में मैपिंग का उपयोग कर रहे हैं। मैं इससे आगे कुछ नहीं कह सकता क्योंकि मैं त्रिकोण के साथ काम नहीं करता (मैं चतुर्भुज का उपयोग करता हूं), इसलिए मुझे नहीं पता कि आमतौर पर अभ्यास में क्या किया जाता है। मुझे बस कागज मिला और लगा कि यह एक बहुत ही सीधी बात है।
जेम्स कस्टर

वास्तव में यह काफी सीधा है और मैं देखूंगा कि अन्य कागजात सुझाव देते हैं, लेकिन इस एक के लिए सादगी और मेरे पास पहले से ही कुछ का उपयोग करने की लालित्य इस के लिए एक प्लस है। नकारात्मक पक्ष तब अतिरिक्त कार्य मूल्यांकन है। किसी भी मामले में धन्यवाद।

दूसरा पहलू यह है कि अंक सममित नहीं हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.