<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://comp.chem.tohoku.ac.jp/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Polynomial2_struct</id>
	<title>Polynomial2 struct - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="http://comp.chem.tohoku.ac.jp/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Polynomial2_struct"/>
	<link rel="alternate" type="text/html" href="http://comp.chem.tohoku.ac.jp/mediawiki/index.php?title=Polynomial2_struct&amp;action=history"/>
	<updated>2026-05-26T19:55:06Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>http://comp.chem.tohoku.ac.jp/mediawiki/index.php?title=Polynomial2_struct&amp;diff=1108&amp;oldid=prev</id>
		<title>Hirano: ページの作成:「多項式の計算を行う構造体。 和・差・積、微分・積分、シフト・反転 等の操作が行える。  == サンプルコード ==  &lt;source lang=&quot;for…」</title>
		<link rel="alternate" type="text/html" href="http://comp.chem.tohoku.ac.jp/mediawiki/index.php?title=Polynomial2_struct&amp;diff=1108&amp;oldid=prev"/>
		<updated>2026-05-26T04:14:49Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「多項式の計算を行う構造体。 和・差・積、微分・積分、シフト・反転 等の操作が行える。  == サンプルコード ==  &amp;lt;source lang=&amp;quot;for…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;多項式の計算を行う構造体。 和・差・積、微分・積分、シフト・反転 等の操作が行える。&lt;br /&gt;
&lt;br /&gt;
== サンプルコード ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;fortran&amp;quot;&amp;gt;&lt;br /&gt;
program main&lt;br /&gt;
  use polynomial2_module,only: polynomial2_struct&lt;br /&gt;
  use polynomial2_module,only: polynomial2    !!! コンストラクタ&lt;br /&gt;
  implicit none&lt;br /&gt;
  type(polynomial2_struct) :: p1, p2, p3&lt;br /&gt;
  REAL8 :: c1(0:2), c2(0:3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! 多項式の係数の設定 !!!&lt;br /&gt;
  c1(0:2) = [ 1.0d0, 2.0d0, 1.0d0 ]           !!! 1 + 2 x + x**2&lt;br /&gt;
  c2(0:3) = [ 3.0d0, 2.0d0, 0.0d0, 2.0d0 ]    !!! 3 + 2 x +       + 2 x**3&lt;br /&gt;
&lt;br /&gt;
!!! 構造体の作成 !!!&lt;br /&gt;
  p1 = polynomial2(c1)&lt;br /&gt;
  p2 = polynomial2(c2)&lt;br /&gt;
  p3 = 3.0d0    !!! 定数関数は直接代入も可&lt;br /&gt;
&lt;br /&gt;
  write(*,*)&lt;br /&gt;
&lt;br /&gt;
!!! 値の出力 !!!&lt;br /&gt;
  &lt;br /&gt;
  !!! 多項式の次数&lt;br /&gt;
  write(*,*) p1%degree          !!! 2&lt;br /&gt;
&lt;br /&gt;
  !!! x を指定したときの値&lt;br /&gt;
  write(*,*) p1%substitute(1.0d0)    !!! 4&lt;br /&gt;
&lt;br /&gt;
  !!! 文字列として出力&lt;br /&gt;
  write(*,*) p1%string()        !!! 1 + 2 x + x**2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  write(*,*)&lt;br /&gt;
  write(*,*) &amp;quot;###########################&amp;quot;&lt;br /&gt;
  write(*,*)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! 和・差・積、定数倍、代入 !!!&lt;br /&gt;
&lt;br /&gt;
  p3 = p1 + p2&lt;br /&gt;
  write(*,*) p3%string()    !!! 4 + 4 x + x**2 + 2 x**3&lt;br /&gt;
&lt;br /&gt;
  p3 = p1 - p2&lt;br /&gt;
  write(*,*) p3%string()    !!! - 2 + x**2 - 2 x**3&lt;br /&gt;
&lt;br /&gt;
  p3 = p1 * p2&lt;br /&gt;
  write(*,*) p3%string()    !!! 3 + 8 x + 7 x**2 + 4 x**3 + 4 x**4 + 2 x**5&lt;br /&gt;
&lt;br /&gt;
  !!! 定数は右からでも左からでも掛けることができる。&lt;br /&gt;
  p3 = p1 * 2.0d0&lt;br /&gt;
  write(*,*) p3%string()    !!! 2 + 4 x + 2 x**2&lt;br /&gt;
  p3 = 2.0d0 * p1&lt;br /&gt;
  write(*,*) p3%string()    !!! 2 + 4 x + 2 x**2&lt;br /&gt;
&lt;br /&gt;
  !!! 多項式の代入も可&lt;br /&gt;
  p3 = p1%substitute(p2)&lt;br /&gt;
  write(*,*) p3%string()    !!! 16 + 16 x + 4 x**2 + 16 x**3 + 8 x**4 + 4 x**6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  write(*,*)&lt;br /&gt;
  write(*,*) &amp;quot;###########################&amp;quot;&lt;br /&gt;
  write(*,*)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! 微分・積分 !!!&lt;br /&gt;
&lt;br /&gt;
  !!! 微分&lt;br /&gt;
  p3 = p1%differentiate()&lt;br /&gt;
  write(*,*) p3%string()    !!! 2 + 2 x&lt;br /&gt;
&lt;br /&gt;
  !!! 積分&lt;br /&gt;
  !!! x = 0 のとき y = 0 になるように積分定数が決められる。&lt;br /&gt;
  p3 = p1%integrate()&lt;br /&gt;
  write(*,*) p3%string()    !!! x + x**2 + (1/3) x**3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  write(*,*)&lt;br /&gt;
  write(*,*) &amp;quot;###########################&amp;quot;&lt;br /&gt;
  write(*,*)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! シフト・反転操作 !!!&lt;br /&gt;
&lt;br /&gt;
  !!! 多項式のグラフを右方向に 1.0d0 だけシフトさせる。&lt;br /&gt;
  !!! 負の値を指定すれば左にシフトする。&lt;br /&gt;
  p3 = p1%x_shift(1.0d0)&lt;br /&gt;
  write(*,*) p3%string()    !!! x**2&lt;br /&gt;
&lt;br /&gt;
  !!! 多項式のグラフを上方向に 1.0d0 だけシフトさせる。&lt;br /&gt;
  !!! 負の値を指定すれば下にシフトする。&lt;br /&gt;
  p3 = p1%y_shift(1.0d0)&lt;br /&gt;
  write(*,*) p3%string()    !!! 2 + 2 x + x**2&lt;br /&gt;
&lt;br /&gt;
  !!! 上下反転&lt;br /&gt;
  p3 = p1%x_reflect()&lt;br /&gt;
  write(*,*) p3%string()    !!! - 1 - 2 x - x**2&lt;br /&gt;
&lt;br /&gt;
  !!! 左右反転&lt;br /&gt;
  p3 = p1%y_reflect()&lt;br /&gt;
  write(*,*) p3%string()    !!! 1 - 2 x + x**2&lt;br /&gt;
&lt;br /&gt;
  !!! 点対称に反転&lt;br /&gt;
  p3 = p1%point_reflect()&lt;br /&gt;
  write(*,*) p3%string()    !!! - 1 + 2 x - x**2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  write(*,*)&lt;br /&gt;
  write(*,*) &amp;quot;###########################&amp;quot;&lt;br /&gt;
  write(*,*)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
endprogram&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hirano</name></author>
	</entry>
</feed>