ParMooN
 All Classes Functions Variables Friends Pages
funktion.h
1 #ifndef __FUNKTION_H
2 #define __FUNKTION_H
3 
4 #include "folgen_vektor.h"
5 
6 
7 /************************************* Constant ansatz *******************************************/
8 
9 typedef struct {
10  int maxlevel; /* hoechste Level in Funktionendarstellung */
11  folgen_vektor_p0_p *hierarchie; /* Array von Zeigern auf die einzelnen Folgenvektoren */
12 } func_p0_t;
13 
14 typedef func_p0_t * func_p0_p;
15 
16 typedef struct {
17  int maxlevel; /* hoechste Level in Funktionendarstellung */
18  folgen_matrix_p0_p *hierarchie; /* Array von Zeigern auf die einzelnen Folgenmatritzen */
19 } func2_p0_t;
20 
21 typedef func2_p0_t * func2_p0_p;
22 
23 /* Funktion wird initialisiert. Beachte: alle Vektoren von Folgen der Funktion werden durch folgen_vektor_p0_new( vec_new(dim) )
24 initialisiert. f = func_p0_new(maxlevel) bedeutet:
25 f besteht aus maxlevel+1 Vektoren von Folgen f->hierarchie[k] fuer k=0,...,maxlevel.
26 Jeder dieser Vektoren von Folgen ist vom grad=vec_new(dim) ,dh. besteht aus einer trivialen Folge.
27 Somit ist die neu initialisierte Funktionen volldefiniert und vollwertig. */
29 func_p0_new(int maxlevel);
30 
32 func_p0_new(func_p0_p f, func2_p0_p G, int maxlevel);
33 
34 void
35 func_p0_del(func_p0_p f);
36 
37 /* Funktion2 wird initialisiert. Beachte: alle Matritzen von Folgen der Funktion werden durch
38 folgen_matrix_p0_new( vec_new(dim), vec_new(dim) ) initialisiert. f = func2_p0_new(maxlevel) bedeutet:
39 f besteht aus maxlevel+1 Matritzen von Folgen f->hierarchie[k] fuer k=0,...,maxlevel.
40 Jeder dieser Matritzen von Folgen ist vom grad1 = vec_new(dim) und grad2 = vec_new(dim) ,dh. besteht aus einer trivialen Folge.
41 Somit ist die neu initialisierte Funktionen volldefiniert und vollwertig. */
43 func2_p0_new(int maxlevel);
44 
45 void
46 func2_p0_del(func2_p0_p f);
47 
48 
49 /* Uebertragen der gesamten Folgenwerte der Funtkion f auf eine Funktion mit
50  der gleichen Gitterstruktur wie die Funktion g */
51 void
52 func_p0_projekt(func_p0_p f,func_p0_p g,func_p0_p back);
53 
54 /* Gibt die einzelnen Details einer Funktion auf dem Bildschirm wieder. Je groesser der Wert info ist, umso mehr
55  Informationen werden wiedergegeben. 0, 1, 2, 3 sind moegliche Infowerte. 0 wenig Info, 3 viele Infos */
56 void
57 func_p0_print(func_p0_p f, int info);
58 
59 void
60 func_p0_print_aram(func_p0_p f);
61 
62 
63 /* Es werden zwei Funktionen addiert */
64 void
65 func_p0_add(func_p0_p f, func_p0_p g, func_p0_p back);
66 
67 
68 /* Entsprechend der Gitterstruktur der hp-Funktion werden gegebenenfalls Folgenwerte gleich Null gesetzt. Falls das zu
69  einem Folgenwert zugehoerige Intervall weiter verfeinert wird und somit durch Folgenwerte hoeherer
70  Level repraesentiert wird, so wird dieser Folgenwert gleich Null gesetzt. */
71 void
72 func_p0_grid_zero(func_p0_p f);
73 
74 void
75 func_p0_clean(func_p0_p f);
76 
77 
78 /************************************* Linear ansatz *******************************************/
79 
80 typedef struct {
81  int maxlevel; /* hoechste Level in Funktionendarstellung */
82  folgen_vektor_p1_p *hierarchie; /* Array von Zeigern auf die einzelnen Folgenvektoren */
83 } func_p1_t;
84 
85 typedef func_p1_t * func_p1_p;
86 
87 
88 typedef struct {
89  int maxlevel; /* hoechste Level in Funktionendarstellung */
90  folgen_matrix_p1_p *hierarchie; /* Array von Zeigern auf die einzelnen Folgenmatritzen */
91 } func2_p1_t;
92 
93 typedef func2_p1_t * func2_p1_p;
94 
95 
96 
97 /* Funktion wird initialisiert. Beachte: alle Vektoren von Folgen der Funktion werden durch folgen_vektor_p1_new( vec_new(dim) )
98 initialisiert. f = func_p1_new(maxlevel) bedeutet:
99 f besteht aus maxlevel+1 Vektoren von Folgen f->hierarchie[k] fuer k=0,...,maxlevel.
100 Jeder dieser Vektoren von Folgen ist vom grad=vec_new(dim) ,dh. besteht aus einer trivialen Folge.
101 Somit ist die neu initialisierte Funktionen volldefiniert und vollwertig. */
102 func_p1_p
103 func_p1_new(int maxlevel);
104 
105 func_p1_p
106 func_p1_new(func_p1_p f, func2_p1_p G, int maxlevel);
107 
108 void
109 func_p1_del(func_p1_p f);
110 
111 /* Funktion2 wird initialisiert. Beachte: alle Matritzen von Folgen der Funktion werden durch
112 folgen_matrix_p1_new( vec_new(dim), vec_new(dim) ) initialisiert. f = func2_p1_new(maxlevel) bedeutet:
113 f besteht aus maxlevel+1 Matritzen von Folgen f->hierarchie[k] fuer k=0,...,maxlevel.
114 Jeder dieser Matritzen von Folgen ist vom grad1 = vec_new(dim) und grad2 = vec_new(dim) ,dh. besteht aus einer trivialen Folge.
115 Somit ist die neu initialisierte Funktionen volldefiniert und vollwertig. */
117 func2_p1_new(int maxlevel);
118 
119 void
120 func2_p1_del(func2_p1_p f);
121 
122 
123 /* Uebertragen der gesamten Folgenwerte der Funtkion f auf eine Funktion mit
124  der gleichen Gitterstruktur wie die Funktion g */
125 void
126 func_p1_projekt(func_p1_p f,func_p1_p g,func_p1_p back);
127 
128 /* Gibt die einzelnen Details einer Funktion auf dem Bildschirm wieder. Je groesser der Wert info ist, umso mehr
129  Informationen werden wiedergegeben. 0, 1, 2, 3 sind moegliche Infowerte. 0 wenig Info, 3 viele Infos */
130 void
131 func_p1_print(func_p1_p f, int info);
132 
133 void
134 func_p1_print_aram(func_p1_p f);
135 
136 
137 /* Es werden zwei Funktionen addiert */
138 void
139 func_p1_add(func_p1_p f, func_p1_p g, func_p1_p back);
140 
141 
142 /* Entsprechend der Gitterstruktur der hp-Funktion werden gegebenenfalls Folgenwerte gleich Null gesetzt. Falls das zu
143  einem Folgenwert zugehoerige Intervall weiter verfeinert wird und somit durch Folgenwerte hoeherer
144  Level repraesentiert wird, so wird dieser Folgenwert gleich Null gesetzt. */
145 void
146 func_p1_grid_zero(func_p1_p f);
147 
148 void
149 func_p1_clean(func_p1_p f);
150 
151 #endif
Definition: funktion.h:16
Definition: funktion.h:9
Definition: funktion.h:88
Definition: folgen_vektor.h:70
Definition: folgen_vektor.h:8
Definition: folgen_vektor.h:14
Definition: folgen_vektor.h:77
Definition: funktion.h:80