From 361b63d1448cb9a704ed837695eb384a9f4aad99 Mon Sep 17 00:00:00 2001 From: punkduckable Date: Mon, 28 Oct 2024 20:54:29 +0000 Subject: [PATCH] deploy: 9dcef3fb224b37abee10533af57696c3d2e262b8 --- .doctrees/autoapi/lasdi/gp/index.doctree | Bin 13189 -> 37256 bytes .doctrees/autoapi/lasdi/inputs/index.doctree | Bin 18212 -> 29566 bytes .../autoapi/lasdi/latent_space/index.doctree | Bin 35604 -> 65475 bytes .doctrees/autoapi/lasdi/param/index.doctree | Bin 37799 -> 98214 bytes .doctrees/environment.pickle | Bin 930681 -> 1187015 bytes .doctrees/index.doctree | Bin 9071 -> 8119 bytes _sources/autoapi/lasdi/gp/index.rst.txt | 69 +++++- _sources/autoapi/lasdi/inputs/index.rst.txt | 61 +++-- .../autoapi/lasdi/latent_space/index.rst.txt | 99 +++++++- _sources/autoapi/lasdi/param/index.rst.txt | 222 +++++++++++++++-- _sources/index.rst.txt | 3 + autoapi/lasdi/gp/index.html | 77 ++++-- autoapi/lasdi/inputs/index.html | 70 +++--- autoapi/lasdi/latent_space/index.html | 97 +++++--- autoapi/lasdi/param/index.html | 225 ++++++++++++++---- genindex.html | 20 +- index.html | 19 +- objects.inv | Bin 2277 -> 2235 bytes searchindex.js | 2 +- 19 files changed, 746 insertions(+), 218 deletions(-) diff --git a/.doctrees/autoapi/lasdi/gp/index.doctree b/.doctrees/autoapi/lasdi/gp/index.doctree index f0b3452bbff711a03a0247b858471c455da83d63..abe324ffc0a2a3bb5668c01c5b014f9dc8e19aae 100644 GIT binary patch literal 37256 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 diff --git a/.doctrees/autoapi/lasdi/inputs/index.doctree b/.doctrees/autoapi/lasdi/inputs/index.doctree index cc3295ce359f62a81d78c328009b156cd0c2e37a..51d6628e6367df98fe325711cecb37ef44233f8b 100644 GIT binary patch literal 29566 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 literal 18212 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 diff --git a/.doctrees/autoapi/lasdi/latent_space/index.doctree b/.doctrees/autoapi/lasdi/latent_space/index.doctree index be7facb2f2330af23ee279ed3c2d38fb699a6589..2d7e5422aee3d2a7805ede0ad46d5ad08273cb35 100644 GIT binary patch literal 65475 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 b+D$n}J7Onjevi%H*nWWB;8=j|%uM}%WnC8B delta 7482 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 diff --git a/.doctrees/autoapi/lasdi/param/index.doctree b/.doctrees/autoapi/lasdi/param/index.doctree index 5cd3abfbc02aceca02c10da723419c15e030d0ea..c99c893ef3cebf6997192f77799c0a4b5a77d821 100644 GIT binary patch literal 98214 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 literal 37799 zcmc&-X^3s{nLQ<~gjOr{>R@{%&8&7o0!Gq;SP2k|h6PRZp6*t6 zwRQ&~hd2ZpTp)uA2#g7k&0&lk{slomgfM~aFxU<|!eIxOLL6ZM5f~e6hs^Eoz09nv zyQ{lL!$xdRR#xWA%$M(d@8waM50Ae8j~?H||GXWYmSs22%o(*>qggXMzBf^8R=X=^ z!}TBc55C2J$S-@7ZR2#O*=<)%-`j)~Rm-l|+GfMQ*Y~zla@VeR=4Afyj#+i>W+TXM zjap;Y_`QDFn)F6p+pU|SSKf5p=+x}FmeDp=d`gB?Be$7nsQBp1M|@G6F{GvHS-ZT+ zN>EvAt2ZX=xZsV{?S|z}jl<^R7L#Y`a!>@zCjJ`&6f8RLw)EQssJY&g;yTX21&Yh7W@>ZUAM7lL8d zwCHo)X**SfH+6$%CHK^xNR;d!P`p7fM^H2}TR{~dULF<6tt-Kg3FgO6*I4Yvgw{6EjWDRtt3ZNQ%W61$#HNme#88jkQ*1(Q@Am zg9LTJN6~{H1`KBEpf`r50X1KH;En*_!Gl&Zvt-^f&B%h?iy|I!T0v&bQNpxhXA_kt+~fHgH7*; zpzpE9H22>h=DwN9L1Odc);{YiKrf>62YKwK#P30(-$!AO#k5LVTZOzm3fyb`OTmKj ztGQZL0xdgp`?uvBk0mIbOAagnVd_kHo);Y8l# znU(rH+gkV{t+v@Q+Ygv59B)KkWlc^pBI_zgJOM*l)L5*vuhfbu(2`a@uuM6|ar_u0 zm;4E-*1>ZiP|ohnn>K}IDqAb5d{{+3ebb;keZcE zFK#`YxirGROfwbE?H=vQwWQH>mFF4%8NZcd`JC(yV zHsY0~c5|gtw>xgR+H5S@%LgezwQU-%S?MzOJ9&^c5t^X1 znKEC@2#tV7uGgprIx!=(8~Fw?Li@u;D7}HCphMfD6m?=-w29jb+diRmBE(R78D?lU z^imzkC|yc9gi-o6OMSLErz~WYej&7DSfg|`H>7BB`7I%%^sJ~>A8y<00`X4=ov4DP zr|F?#H?2z%aUHvhI!$qGT6`l`Nx$ K( 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 diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 4dae4325c461846f695581375da6f681bd174c41..9079d0a6facfa5e4e9eebaa4c98881b87fea06f3 100644 GIT binary patch literal 1187015 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�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 Dgv>^j literal 930681 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

w&{2l@@r1fZAk#?61eyi(7NFTc zFCv$@KraE!2l@xlVxU)mmH@pIZ=4Er70~HG?*Up4bPdo7p!WlH0o?$!3g~ahr3myI z&;ZckScoVCy^i0uctRedaQl2)ppAic0(u%r_5j)xzfA&~05k9zrg+Ob7E&@6i=p8_B1G*IG z?LfQW-FE=(26Q>l9za(D?Fsa5puK>u0on)XI-tow9{`#P^bw%_fIb1VKhURvrU88h z=sw8(0?@aC?f`lS=qo_q1G*dN5umRDO~OM$)yv<&E8pfi9T0LlYB1k?@m z2v85uqd)=B6F~hyPXP@A{S2rA^h=<#fPMqC7U+4P^ML*YbOBH&%5f1;9_Uh_E}(Y; z6@ab+>IXU|6sh7U)`_@j%xBO#r$9Xj`BU0PO(u zA)sA>&Oug_fGz^s2k0`ODL^%#{ea#L)B*GnygMD}V?c)heFA6(&?kZ31oUa3V}Nb~ zIu7U-pyPpV1zHI7IiM4PZUZ_6=ysrGK#Ul77VJUBcv}m^*lOniF{arCK#V1J5zrlY z_Y$Bl1FZwP6X+_SyMf*VbPv$`fW8iNJGJq0MY&3K|q&*-=RQs`F1$avna=rK)(Sx8t6Ho*+9<&y&32gp!q<5 z1X=_{FHa`{(ZkZIK=f{OIuJbzEeE1kpA|qa;@vKwmw2n ze-wzN-x;w{840rB?Voj|-&_cb71W&0)&uaMmb z#OqrR0`cn9LqNQ?^e_-_;rtMYH(-7Q#M>uN0`ca@Pk`PE20sJhjfYywJYcmC5RWoV1>&Kh{egHkXF3p% zz#Ia^;~z7CcxK=zAZ|j>2I5}tn}N8iIv6 zL^lxk26}+FE*}7KO}rn7>(PTiTnnxMan6IN^u+stK8(k=@%Shn-^F7N{`v^eT%gB*P5^oe=ro{2; zpiZFA0{s+^#V|GU_-zT$YM|4Ax`5saG>%E|7>`Fc9$VnigU19s0z9_HqaTlL@fgHo zA|4ey3drv)pdO%efQmpD01W|M4Ac*FDbT@qT!F`-cwB|YVR*b7j~RHZ$KyymuEnE- zcdrLJ6X=6L6`+p-oeOk0R!4q=g^VMCo&!1x=xqG;7@)O4bAi?YEdbi+5qT^I8V$4r zXcM4QfW`ow2DBN_a-cS#6+oKSH_#(M?*)1k=;L_f37~86+fzW-0sR8#2B6;peE{eMpbr841?U!_ZZ!Nk zSOV(-dK*vxbP-TL&}Be_Kvx1)f!+mlHqd*4&H;KK(D^{u16>I8L7`0Wiq$Kbd9f#w1o05l)yAfTTi z-Jw9s@Y@kUoj`8_>H?Yt^bFF?2Kpt?@j%Z4Ee84x&?!Lg#v7*tT@SPz=)*uOfSyCT PE}-Xuih_oQR(AY92#p`4 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree index 5dacf9699f50cd2347acccbef7aa853e638aae87..c05adb22b33fcfe1fcbea86f0448a7dc530f66f1 100644 GIT binary patch delta 383 zcmaFww%wk!fpzK{`Hif}T(S z!)<@L1t@l#@#G175I6M;Jc7FIBGg@bK=kHBac)MagRV1WOq^URXtX(4dJPj(#`(=G wa!;7mGL~d4EbZaUOUz9zsVqn>28U>EXU3Aw(hNyZ=vHOuWGvh)r4-5t0BnnKY5)KL delta 875 zcmdmP|K5$Yfpuz%@se~j673X zr$8(a%a}7+i%V-VF9!#!XogtEjLC1=738J?S(7u=GMF>eGc+#SL7$c9S;4OfC1 zE`aW#NfL4bkPI-Thf!-vX@+XX#LbJvH#4zj6$15aj*xo7Y?S2&WM(-7iP9d list[sklearn.gaussian_process.GaussianProcessRegressor] + + Trains a GP for each column of Y. If Y has shape N x k, then we train k GP regressors. In this + case, we assume that X has shape N x M. Thus, the Input to the GP is in \mathbb{R}^M. For each + k, we train a GP where the i'th row of X is the input and the i,k component of Y is the + corresponding target. Thus, we return a list of k GP Regressor objects, the k'th one of which + makes predictions for the k'th coefficient in the latent dynamics. - Trains each GP given the interpolation dataset. - X: (n_train, n_param) numpy 2d array - Y: (n_train, n_coef) numpy 2d array We assume each target coefficient is independent with each other. - gp_dictionnary is a dataset containing the trained GPs (as sklearn objects) -.. py:function:: eval_gp(gp_dictionnary, param_grid) + ----------------------------------------------------------------------------------------------- + :Parameters: * **X** (*A 2d numpy array of shape (n_train, input_dim), where n_train is the number of training*) + * **examples and input_dim is the number of components in each input (e.g., the number of** + * **parameters)** + * **Y** (*A 2d numpy array of shape (n_train, n_coef), where n_train is the number of training*) + * **examples and n_coef is the number of coefficients in the latent dynamics.** + + ----------------------------------------------------------------------------------------------- + :returns: * *A list of trained GP regressor objects. If Y has k columns, then the returned list has k* + * *elements. It's i'th element holds a trained GP regressor object whose training inputs are the* + * *columns of X and whose corresponding target values are the elements of the i'th column of Y.* + + +.. py:function:: eval_gp(gp_list: list[sklearn.gaussian_process.GaussianProcessRegressor], param_grid: numpy.ndarray) -> tuple Computes the GPs predictive mean and standard deviation for points of the parameter space grid -.. py:function:: sample_coefs(gp_dictionnary, param, n_samples) + ----------------------------------------------------------------------------------------------- + :Parameters: * **gp_list** (*a list of trained GP regressor objects. The number of elements in this list should*) + * **match the number of columns in param_grid. The i'th element of this list is a GP regressor** + * **object that predicts the i'th coefficient.** + * **param_grid** (*A 2d numpy.ndarray object of shape (number of parameter combination, number of*) + * **parameters). The i,j element of this array specifies the value of the j'th parameter in the** + * **i'th combination of parameters. We use this as the testing set for the GP evaluation.** + + ----------------------------------------------------------------------------------------------- + :returns: * *A two element tuple. Both are 2d numpy arrays of shape (number of parameter combinations,* + * *number of coefficients). The two arrays hold the predicted means and std's for each parameter* + * *at each training example, respectively.* + * *Thus, the i,j element of the first return variable holds the predicted mean of the j'th* + * *coefficient in the latent dynamics at the i'th training example. Likewise, the i,j element of* + * *the second return variable holds the standard deviation in the predicted distribution for the* + * *j'th coefficient in the latent dynamics at the i'th combination of parameter values.* + + +.. py:function:: sample_coefs(gp_list: list[sklearn.gaussian_process.GaussianProcessRegressor], param: numpy.ndarray, n_samples: int) + + Generates sets of ODE (SINDy) coefficients sampled from the predictive distribution for those + coefficients at the specified parameter value (parma). Specifically, for the k'th SINDy + coefficient, we draw n_samples samples of the predictive distribution for the k'th coefficient + when param is the parameter. + + - Generates sample sets of ODEs for one given parameter. - coef_samples is a list of length n_samples, where each terms is a matrix of SINDy coefficients sampled from the GP predictive - distributions + ----------------------------------------------------------------------------------------------- + :Parameters: * **gp_list** (*a list of trained GP regressor objects. The number of elements in this list should*) + * **match the number of columns in param_grid. The i'th element of this list is a GP regressor** + * **object that predicts the i'th coefficient.** + * **param** (*A combination of parameter values. i.e., a single test example. We evaluate each GP in*) + * **the gp_list at this parameter value (getting a prediction for each coefficient).** + * **n_samples** (*Number of samples of the predicted latent dynamics used to build ensemble of fom*) + * **predictions. N_s in the paper.** + ----------------------------------------------------------------------------------------------- + :returns: * *A 2d numpy ndarray object called coef_samples. It has shape (n_samples, n_coef), where n_coef* + * *is the number of coefficients (length of gp_list). The i,j element of this list is the i'th* + * *sample of the j'th SINDy coefficient.* diff --git a/_sources/autoapi/lasdi/inputs/index.rst.txt b/_sources/autoapi/lasdi/inputs/index.rst.txt index e9a51ca..9d6839f 100644 --- a/_sources/autoapi/lasdi/inputs/index.rst.txt +++ b/_sources/autoapi/lasdi/inputs/index.rst.txt @@ -20,46 +20,71 @@ Classes lasdi.inputs.InputParser -Functions ---------- - -.. autoapisummary:: - - lasdi.inputs.getDictFromList - - Module Contents --------------- .. py:data:: verbose + :type: bool :value: False -.. py:class:: InputParser(dict, name='') +.. py:class:: InputParser(dict: InputParser.__init__.dict, name: str = '') + + A InputParser objects acts as a wrapper around a dictionary of settings. Thus, each setting is + a key and the corresponding value is the setting's value. Because one setting may itself be + a dictionary (we often group settings; each group has a name but several constituent settings), + the underlying dictionary is structured as a sequence of nested dictionaries. This class allows + the user to select a specific setting from that structure by specifying (via a list of strings) + where in that nested structure the desired setting lives. + .. py:attribute:: dict_ + :type: dict :value: None .. py:attribute:: name + :type: str :value: '' - .. py:method:: getInput(keys, fallback=None, datatype=None) + .. py:method:: getInput(keys: list, fallback=None, datatype=None) + + A InputParser object acts as a wrapper around a dictionary of settings. That is, self.dict_ + is structured as a nested family of dictionaries. Each setting corresponds to a key in + self.dict_. The setting's value is the corresponding value in self.dict_. In many cases, + a particular setting may be nested within others. That is, a setting's value may itself be + another dictionary housing various sub-settings. This function allows us to fetch a + specific setting from this nested structure. + + Specifically, we specify a list of strings. keys[0] should be a key in self.dict_ + If so, we set val = self.dict_[keys[0]]. If there are more keys, then val should be a + dictionary and keys[1] should be a key in this dictionary. In this case, we replace val + with val[key[1]] and so on. This continues until we have exhausted all keys. There is one + important exception: + + If at some point in the process, there are more keys but val is not a dictionary, or if + there are more keys and val is a dictionary but the next key is not a key in that + dictionary, then we return the fallback value. If the fallback value does not exist, + returns an error. - Find the value corresponding to the list of keys. - If the specified keys do not exist, use the fallback value. - If the fallback value does not exist, returns an error. - If the datatype is specified, enforce the output value has the right datatype. + ------------------------------------------------------------------------------------------- + :Parameters: * **keys** (*A list of keys we want to fetch from self.dict. keys[0] should be a key in self.dict_*) + * **If so, we set val = self.dict_[keys[0]]. If there are more keys, then val should be a** + * **dictionary and keys[1] should be a key in this dictionary. In this case, we replace val** + * **with val[key[1]] and so on. This continues until we have exhausted all keys.** + * **fallback** (*A sort of default value. If at some point, val is not a dictionary (and there are*) + * **more keys) or val is a dictionary but the next key is not a valid key in that dictionary,** + * **then we return the fallback value.** + * **datatype** (*If not None, then we require that the final val has this datatype. If the final*) + * **val does not have the desired datatype, we raise an exception.** -.. py:function:: getDictFromList(list_, inputDict) + ------------------------------------------------------------------------------------------- + :rtype: The final val value as outlined by the process described above. - get a dict with {key: val} from a list of dicts - NOTE: it returns only the first item in the list, - even if the list has more than one dict with {key: val}. diff --git a/_sources/autoapi/lasdi/latent_space/index.rst.txt b/_sources/autoapi/lasdi/latent_space/index.rst.txt index 4e1ef6e..b0033e1 100644 --- a/_sources/autoapi/lasdi/latent_space/index.rst.txt +++ b/_sources/autoapi/lasdi/latent_space/index.rst.txt @@ -34,63 +34,103 @@ Module Contents .. py:data:: act_dict -.. py:function:: initial_condition_latent(param_grid, physics, autoencoder) +.. py:function:: initial_condition_latent(param_grid: numpy.ndarray, physics: lasdi.physics.Physics, autoencoder: torch.nn.Module) -> list[numpy.ndarray] - Outputs the initial condition in the latent space: Z0 = encoder(U0) + This function maps a set of initial conditions for the fom to initial conditions for the + latent space dynamics. Specifically, we take in a set of possible parameter values. For each + set of parameter values, we recover the fom IC (from physics), then map this fom IC to a + latent space IC (by encoding it using the autoencoder). We do this for each parameter + combination and then return a list housing the latent space ICs. + ----------------------------------------------------------------------------------------------- + :Parameters: * **param_grid** (*A 2d numpy.ndarray object of shape (number of parameter combination) x (number of*) + * **parameters).** + * **physics** (*A "Physics" object that stores the datasets for each parameter combination.*) + * **autoencoder** (*The actual autoencoder object that we use to map the ICs into the latent space.*) -.. py:class:: MultiLayerPerceptron(layer_sizes, act_type='sigmoid', reshape_index=None, reshape_shape=None, threshold=0.1, value=0.0, num_heads=1) + ----------------------------------------------------------------------------------------------- + :returns: * *A list of numpy ndarray objects whose i'th element holds the latent space initial condition* + * *for the i'th set of parameters in the param_grid. That is, if we let U0_i denote the fom IC for* + * *the i'th set of parameters, then the i'th element of the returned list is Z0_i = encoder(U0_i).* + + +.. py:class:: MultiLayerPerceptron(layer_sizes: list[int], act_type: str = 'sigmoid', reshape_index: int = None, reshape_shape: tuple[int] = None, threshold: float = 0.1, value: float = 0.0) Bases: :py:obj:`torch.nn.Module` .. py:attribute:: n_layers + :type: int .. py:attribute:: layer_sizes + :type: list[int] - .. py:attribute:: fcs + .. py:attribute:: layers + :type: list[torch.nn.Module] :value: [] .. py:attribute:: reshape_index + :type: int .. py:attribute:: reshape_shape + :type: list[int] .. py:attribute:: act_type + :type: str + + + .. py:method:: forward(x: torch.Tensor) -> torch.Tensor + + This function defines the forward pass through self. + + ------------------------------------------------------------------------------------------- + :Parameters: * **x** (*A tensor holding a batch of inputs. We pass this tensor through the network's layers*) + * **and then return the result. If self.reshape_index == 0 and self.reshape_shape has k** + * **elements, then the final k elements of x's shape must match self.reshape_shape.** - .. py:attribute:: use_multihead - :value: False + ------------------------------------------------------------------------------------------- + :returns: * *The image of x under the network's layers. If self.reshape_index == -1 and* + * *self.reshape_shape has k elements, then we reshape the output so that the final k elements* + * *of its shape match those of self.reshape_shape.* - .. py:method:: forward(x) + .. py:method:: init_weight() -> None + This function initializes the weight matrices and bias vectors in self's layers. - .. py:method:: apply_attention(x, act_idx) + ------------------------------------------------------------------------------------------- + :Parameters: **None!** - .. py:method:: init_weight() + ------------------------------------------------------------------------------------------- + :rtype: Nothing! -.. py:class:: Autoencoder(physics, config) + +.. py:class:: Autoencoder(physics: lasdi.physics.Physics, config: dict) Bases: :py:obj:`torch.nn.Module` .. py:attribute:: qgrid_size + :type: list[int] .. py:attribute:: space_dim + :type: numpy.ndarray .. py:attribute:: n_z + :type: int .. py:attribute:: encoder @@ -99,12 +139,45 @@ Module Contents .. py:attribute:: decoder - .. py:method:: forward(x) + .. py:method:: forward(x: torch.Tensor) -> torch.Tensor + + This function defines the forward pass through self. + + + ------------------------------------------------------------------------------------------- + :Parameters: * **x** (*A tensor holding a batch of inputs. We pass this tensor through the encoder + decoder*) + * **and then return the result.** + + ------------------------------------------------------------------------------------------- + :rtype: The image of x under the encoder + decoder. + + + + .. py:method:: export() -> dict + + This function extracts self's parameters and returns them in a dictionary. + + + ------------------------------------------------------------------------------------------- + :Parameters: **None!** + + ------------------------------------------------------------------------------------------- + :rtype: The A dictionary housing self's state dictionary. + + + + .. py:method:: load(dict_: dict) -> None + + This function loads self's state dictionary. - .. py:method:: export() + ------------------------------------------------------------------------------------------- + :Parameters: * **dict_** (*This should be a dictionary with the key "autoencoder_param" whose corresponding*) + * **value is the state dictionary of an autoencoder which has the same architecture (i.e.,** + * **layer sizes) as self.** + ------------------------------------------------------------------------------------------- + :rtype: Nothing! - .. py:method:: load(dict_) diff --git a/_sources/autoapi/lasdi/param/index.rst.txt b/_sources/autoapi/lasdi/param/index.rst.txt index dfc9691..5dfda82 100644 --- a/_sources/autoapi/lasdi/param/index.rst.txt +++ b/_sources/autoapi/lasdi/param/index.rst.txt @@ -32,64 +32,167 @@ Functions Module Contents --------------- -.. py:function:: get_1dspace_from_list(config) +.. py:function:: get_1dspace_from_list(param_dict: dict) -> tuple[int, numpy.ndarray] + + This function generates the parameter range (set of possible parameter values) for a parameter + that uses the list type test space. That is, "test_space_type" should be a key for the + parameter dictionary and the corresponding value should be "list". The parameter dictionary + should also have a "list" key whose value is a list of the possible parameter values. + + We parse this list and turn it into a numpy ndarray. + + + ----------------------------------------------------------------------------------------------- + :Parameters: * **param_dict** (*A dictionary specifying one of the parameters. We should fetch this from the*) + * **configuration yaml file. It must have a "list" key whose corresponding value is a list of** + * **floats.** + + ----------------------------------------------------------------------------------------------- + :returns: * **Two arguments** (*Nx and paramRange. paramRange is a 1d numpy ndarray (whose ith value is the*) + * *i'th element of param_dict["list"]). Nx is the length of paramRange.* + + +.. py:function:: create_uniform_1dspace(param_dict: dict) -> tuple[int, numpy.ndarray] + + This function generates the parameter range (set of possible parameter values) for a parameter + that uses the uniform type test space. That is, "test_space_type" should be a key for the + parameter dictionary and the corresponding value should be "uniform". The parameter dictionary + should also have the following keys: + "min" + "max" + "sample_size" + "log_scale" + "min" and "max" specify the minimum and maximum value of the parameter, respectively. + "sample_size" specifies the number of parameter values we generate. Finally, log_scale, if + true, specifies if we should use a uniform or logarithmic spacing between samples of the + parameter. + + The values corresponding to "min" and "max" should be floats while the values corresponding to + "sample_size" and "log_scale" should be an int and a bool, respectively. + + + ----------------------------------------------------------------------------------------------- + :Parameters: * **param_dict** (*A dictionary specifying one of the parameters. We should fetch this from the*) + * **configuration yaml file. It must have a "min", "max", "sample_size", and "log_scale"** + * **keys (see above).** + + ----------------------------------------------------------------------------------------------- + :returns: * **Two arguments** (*Nx and paramRange. paramRange is a 1d numpy ndarray (whose ith value is the*) + * *i'th possible value of the parameter. Thus, paramRange[0] = param_dict["min"] and* + * *paramRange[-1] = param_dict["max"]). Nx is the length of paramRange or, equivalently* + * *param_dict["sample_size"].* -.. py:function:: create_uniform_1dspace(config) .. py:data:: getParam1DSpace + :type: dict[str, callable] -.. py:class:: ParameterSpace(config) +.. py:class:: ParameterSpace(config: dict) .. py:attribute:: param_list + :type: list[dict] :value: [] .. py:attribute:: param_name + :type: list[str] :value: [] .. py:attribute:: n_param + :type: int :value: 0 .. py:attribute:: train_space + :type: numpy.ndarray :value: None .. py:attribute:: test_space + :type: numpy.ndarray :value: None .. py:attribute:: n_init + :type: int :value: 0 .. py:attribute:: test_grid_sizes + :type: list[int] :value: [] .. py:attribute:: test_meshgrid + :type: tuple[numpy.ndarray] :value: None - .. py:method:: n_train() + .. py:method:: n_train() -> int + + Returns the number of combinations of parameters in the training set. + + + + .. py:method:: n_test() -> int + + Returns the number of combinations of parameters in the testing set. + + + + .. py:method:: createInitialTrainSpace(param_list: list[dict]) -> numpy.ndarray + + Sets up a grid of parameter values to train at. Note that we only use the min and max value + of each parameter when setting up this grid. + + + ------------------------------------------------------------------------------------------- + :Parameters: * **param_list** (*A list of parameter dictionaries. Each entry should be a dictionary with the*) + * **following keys** -- + + - name + - min + - max + + ------------------------------------------------------------------------------------------- + :returns: * *A 2d array of shape ((2)^k, k), where k is the number of parameters (k == len(param_list)).* + * *The i'th column is the flattened i'th mesh_grid array we when we create a mesh grid using* + * *the min and max value of each parameter as the argument. See "createHyperMeshGrid" for* + * *details.* + * *Specifically, we return exactly what "createHyperGridSpace" returns. See the doc-string* + * *for that function for further details.* - .. py:method:: n_test() + .. py:method:: createTestGridSpace(param_list: list[dict]) -> tuple[list[int], tuple[numpy.ndarray], numpy.ndarray] - .. py:method:: createInitialTrainSpace(param_list) + This function sets up a grid of parameter values to test at. - .. py:method:: createTestGridSpace(param_list) + ------------------------------------------------------------------------------------------- + :Parameters: * **param_list** (*A list of parameter dictionaries. Each dictionary should either use the*) + * **"uniform" or "list" format. See create_uniform_1dspace and get_1dspace_from_list,** + * **respectively.** + + ------------------------------------------------------------------------------------------- + :returns: * *A three element tuple.* + * *The first is a list whose i'th element specifies the number of distinct values of the i'th* + * *parameter we consider (this is the length of the i'th element of "paramRanges" below).* + * *The second is a a tuple of k numpy ndarrays (where k = len(param_list)), the i'th one of* + * *which is a k-dimensional array with shape (N0, ... , N{k - 1}), where Ni =* + * *param_list[i].size whose i(0), ... , i(k - 1) element specifies the value of the i'th* + * *parameter in the i(0), ... , i(k - 1)'th unique combination of parameter values.* + * *The third one is a 2d array of parameter values. It has shape (M, k), where* + * *M = \prod_{i = 0}^{k - 1} param_list[i].size.* + .. py:method:: getParameter(param_vector) @@ -99,35 +202,110 @@ Module Contents - .. py:method:: createHyperMeshGrid(param_ranges) + .. py:method:: createHyperMeshGrid(param_ranges: list[numpy.ndarray]) -> tuple[numpy.ndarray] + + This function generates arrays of parameter values. Specifically, if there are k + parameters (param_ranges has k elements), then we return k k-d arrays, the i'th one of + which is a k-dimensional array whose i(0), ... , i(k - 1) element specifies the value of + the i'th variable in the i(0), ... , i(k - 1)'th unique combination of parameter values. + + + ------------------------------------------------------------------------------------------- + :Parameters: * **param_ranges** (*list of numpy 1d arrays, each corresponding to 1d parameter grid space. The*) + * **i'th element of this list should be a 2-element numpy.ndarray object housing the max and** + * **min value for the i'th parameter. The list size should equal the number of parameters.** + + ------------------------------------------------------------------------------------------- + :returns: * *the "paramSpaces" tuple. This is a tuple of numpy ndarray objects, the i'th one of which* + * *gives the grid of parameter values for the i'th parameter. Specifically, if there are* + * *k parameters and if param_range[i].size = Ni, then the j'th return array has shape* + * *(N0, ... , N{k - 1}) and the i(0), ... , i(k - 1) element of this array houses the i(j)'th* + * *value of the j'th parameter.* + * *Thus, if there are k parameters, the returned tuple has k elements, each one of* + * *which is an array of shape (N0, ... , N{k - 1}).* + + + + .. py:method:: createHyperGridSpace(mesh_grids: tuple[numpy.ndarray]) -> numpy.ndarray + + Flattens the mesh_grid numpy.ndarray objects returned by createHyperMeshGrid and combines + them into a single 2d array of shape (grid size, number of parameters) (see below). + + + ------------------------------------------------------------------------------------------- + :Parameters: * **mesh_grids** (*tuple of numpy nd arrays, corresponding to each parameter. This should ALWAYS*) + * **be the output of the "CreateHyperMeshGrid" function. See the return section of that** + * **function's docstring for details.** + + ------------------------------------------------------------------------------------------- + :returns: * *The param_grid. This is a 2d numpy.ndarray object of shape (grid size, number of* + * *parameters). If each element of mesh_grids is a numpy.ndarray object of shape (N(1), ... ,* + * *N(k)) (k parameters), then (grid size) = N(1)*N(2)*...*N(k) and (number of parameters) = k.* + + + + .. py:method:: appendTrainSpace(param: numpy.ndarray) -> None + + Adds a new parameter to self's train space attribute. + + + ------------------------------------------------------------------------------------------- + :Parameters: * **param** (*A 1d numpy ndarray object. It should have shape (n_param) and should hold a*) + * **parameter value that we want to add to the training set.** + + ------------------------------------------------------------------------------------------- + :rtype: Nothing! + + + + .. py:method:: export() -> dict + + This function packages the testing/training examples into a dictionary, which it returns. + - param_ranges: list of numpy 1d arrays, each corresponding to 1d parameter grid space. - The list size is equal to the number of parameters. + ------------------------------------------------------------------------------------------- + :Parameters: * **None!** + * **-------------------------------------------------------------------------------------------** - Output: paramSpaces - - tuple of numpy nd arrays, corresponding to each parameter. - Dimension of the array equals to the number of parameters + :returns: * *A dictionary with 4 keys. Below is a list of the keys with a short description of each* + * *corresponding value.* -- train_space: self.train_space, a 2d array of shape (n_train, n_param) whose i,j element + holds the value of the j'th parameter in the i'th training case. + test_space: self.test_space, a 2d array of shape (n_test, n_param) whose i,j element + holds the value of the j'th parameter in the i'th testing case. + test_grid_sizes: A list whose i'th element specifies how many distinct parameter values + we use for the i'th parameter. - .. py:method:: createHyperGridSpace(mesh_grids) + test_meshgrid: a tuple of n_param numpy.ndarray array objects whose i'th element is a + n_param-dimensional array whose i(1), i(2), ... , i(n_param) element holds the value of + the i'th parameter in the i(1), ... , i(n_param) combination of parameter values in the + testing test. - mesh_grids: tuple of numpy nd arrays, corresponding to each parameter. - Dimension of the array equals to the number of parameters + n_init: The number of combinations of training parameters in the training set. - Output: param_grid - - numpy 2d array of size (grid size x number of parameters). - grid size is the size of a numpy nd array. + .. py:method:: load(dict_: dict) -> None + This function builds a parameter space object from a dictionary. This dictionary should + be one that was returned by th export method, or a loaded copy of a dictionary that was + returned by the export method. - .. py:method:: appendTrainSpace(param) + ------------------------------------------------------------------------------------------- + :Parameters: * **dict_** (*This should be a dictionary with the following keys:*) -- - .. py:method:: export() + - train_space + - test_space + - test_grid_sizes + - test_meshgrid + - n_init + * **This dictionary should have been returned by the export method. We use the values in this** + * **dictionary to set up self.** + ------------------------------------------------------------------------------------------- + :rtype: Nothing! - .. py:method:: load(dict_) diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index 69cf38c..cb633a2 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -18,7 +18,10 @@ It also supports parametric interpolation of latent dynamics according to uncert References =================== +<<<<<<< HEAD * Bonneville, Christophe, Xiaolong He, April Tran, Jun Sur Park, William Fries, Daniel A. Messenger, Siu Wun Cheung et al. "A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling." arXiv preprint arXiv:2403.10748 (2024). +======= +>>>>>>> 9269e9cb2d85c993efecb52c726f2f1ff657d487 * Fries, William D., Xiaolong He, and Youngsoo Choi. "LaSDI: Parametric latent space dynamics identification." Computer Methods in Applied Mechanics and Engineering 399 (2022): 115436. * He, Xiaolong, Youngsoo Choi, William D. Fries, Jonathan L. Belof, and Jiun-Shyan Chen. "gLaSDI: Parametric physics-informed greedy latent space dynamics identification." Journal of Computational Physics 489 (2023): 112267. * Tran, April, Xiaolong He, Daniel A. Messenger, Youngsoo Choi, and David M. Bortz. "Weak-form latent space dynamics identification." Computer Methods in Applied Mechanics and Engineering 427 (2024): 116998. diff --git a/autoapi/lasdi/gp/index.html b/autoapi/lasdi/gp/index.html index ff468ef..7a4efa3 100644 --- a/autoapi/lasdi/gp/index.html +++ b/autoapi/lasdi/gp/index.html @@ -100,14 +100,14 @@

Functions

- - + + - + - - + +

fit_gps(X, Y)

Trains each GP given the interpolation dataset.

fit_gps(...)

Trains a GP for each column of Y. If Y has shape N x k, then we train k GP regressors. In this

eval_gp(gp_dictionnary, param_grid)

eval_gp(→ tuple)

Computes the GPs predictive mean and standard deviation for points of the parameter space grid

sample_coefs(gp_dictionnary, param, n_samples)

Generates sample sets of ODEs for one given parameter.

sample_coefs(gp_list, param, n_samples)

Generates sets of ODE (SINDy) coefficients sampled from the predictive distribution for those

@@ -116,26 +116,71 @@

Functions

-lasdi.gp.fit_gps(X, Y)
-

Trains each GP given the interpolation dataset. -X: (n_train, n_param) numpy 2d array -Y: (n_train, n_coef) numpy 2d array -We assume each target coefficient is independent with each other. -gp_dictionnary is a dataset containing the trained GPs (as sklearn objects)

+lasdi.gp.fit_gps(X: numpy.ndarray, Y: numpy.ndarray) list[sklearn.gaussian_process.GaussianProcessRegressor] +

Trains a GP for each column of Y. If Y has shape N x k, then we train k GP regressors. In this +case, we assume that X has shape N x M. Thus, the Input to the GP is in mathbb{R}^M. For each +k, we train a GP where the i’th row of X is the input and the i,k component of Y is the +corresponding target. Thus, we return a list of k GP Regressor objects, the k’th one of which +makes predictions for the k’th coefficient in the latent dynamics.

+

We assume each target coefficient is independent with each other.

+
+
    +
  • parameters)

  • +
  • Y (A 2d numpy array of shape (n_train, n_coef), where n_train is the number of training)

  • +
  • examples and n_coef is the number of coefficients in the latent dynamics.

  • +
+
+
+
    +
  • columns of X and whose corresponding target values are the elements of the i’th column of Y.

  • +
+
-lasdi.gp.eval_gp(gp_dictionnary, param_grid)
+lasdi.gp.eval_gp(gp_list: list[sklearn.gaussian_process.GaussianProcessRegressor], param_grid: numpy.ndarray) tuple

Computes the GPs predictive mean and standard deviation for points of the parameter space grid

+
+
    +
  • object that predicts the i’th coefficient.

  • +
  • param_grid (A 2d numpy.ndarray object of shape (number of parameter combination, number of)

  • +
  • parameters). The i,j element of this array specifies the value of the j’th parameter in the

  • +
  • i’th combination of parameters. We use this as the testing set for the GP evaluation.

  • +
+
+
+
    +
  • at each training example, respectively.

  • +
  • Thus, the i,j element of the first return variable holds the predicted mean of the j’th

  • +
  • coefficient in the latent dynamics at the i’th training example. Likewise, the i,j element of

  • +
  • the second return variable holds the standard deviation in the predicted distribution for the

  • +
  • j’th coefficient in the latent dynamics at the i’th combination of parameter values.

  • +
+
-lasdi.gp.sample_coefs(gp_dictionnary, param, n_samples)
-

Generates sample sets of ODEs for one given parameter. -coef_samples is a list of length n_samples, where each terms is a matrix of SINDy coefficients sampled from the GP predictive -distributions

+lasdi.gp.sample_coefs(gp_list: list[sklearn.gaussian_process.GaussianProcessRegressor], param: numpy.ndarray, n_samples: int) +

Generates sets of ODE (SINDy) coefficients sampled from the predictive distribution for those +coefficients at the specified parameter value (parma). Specifically, for the k’th SINDy +coefficient, we draw n_samples samples of the predictive distribution for the k’th coefficient +when param is the parameter.

+
+
    +
  • object that predicts the i’th coefficient.

  • +
  • param (A combination of parameter values. i.e., a single test example. We evaluate each GP in)

  • +
  • the gp_list at this parameter value (getting a prediction for each coefficient).

  • +
  • n_samples (Number of samples of the predicted latent dynamics used to build ensemble of fom)

  • +
  • predictions. N_s in the paper.

  • +
+
+
+
    +
  • sample of the j’th SINDy coefficient.

  • +
+
diff --git a/autoapi/lasdi/inputs/index.html b/autoapi/lasdi/inputs/index.html index 81425e7..20ee2c3 100644 --- a/autoapi/lasdi/inputs/index.html +++ b/autoapi/lasdi/inputs/index.html @@ -111,17 +111,7 @@

Classes

InputParser

-

- - - - -
-

Functions

- - - - +

getDictFromList(list_, inputDict)

get a dict with {key: val} from a list of dicts

A InputParser objects acts as a wrapper around a dictionary of settings. Thus, each setting is

@@ -130,39 +120,61 @@

Functions

-lasdi.inputs.verbose = False
+lasdi.inputs.verbose: bool = False
-class lasdi.inputs.InputParser(dict, name='')
-
+class lasdi.inputs.InputParser(dict: InputParser.__init__.dict, name: str = '') +

A InputParser objects acts as a wrapper around a dictionary of settings. Thus, each setting is +a key and the corresponding value is the setting’s value. Because one setting may itself be +a dictionary (we often group settings; each group has a name but several constituent settings), +the underlying dictionary is structured as a sequence of nested dictionaries. This class allows +the user to select a specific setting from that structure by specifying (via a list of strings) +where in that nested structure the desired setting lives.

+
-dict_ = None
+dict_: dict = None
-name = ''
+name: str = ''
-getInput(keys, fallback=None, datatype=None)
-

Find the value corresponding to the list of keys. -If the specified keys do not exist, use the fallback value. -If the fallback value does not exist, returns an error. -If the datatype is specified, enforce the output value has the right datatype.

-
- +getInput(keys: list, fallback=None, datatype=None) +

A InputParser object acts as a wrapper around a dictionary of settings. That is, self.dict_ +is structured as a nested family of dictionaries. Each setting corresponds to a key in +self.dict_. The setting’s value is the corresponding value in self.dict_. In many cases, +a particular setting may be nested within others. That is, a setting’s value may itself be +another dictionary housing various sub-settings. This function allows us to fetch a +specific setting from this nested structure.

+

Specifically, we specify a list of strings. keys[0] should be a key in self.dict_ +If so, we set val = self.dict_[keys[0]]. If there are more keys, then val should be a +dictionary and keys[1] should be a key in this dictionary. In this case, we replace val +with val[key[1]] and so on. This continues until we have exhausted all keys. There is one +important exception:

+
+

If at some point in the process, there are more keys but val is not a dictionary, or if +there are more keys and val is a dictionary but the next key is not a key in that +dictionary, then we return the fallback value. If the fallback value does not exist, +returns an error.

+
+
+
    +
  • dictionary and keys[1] should be a key in this dictionary. In this case, we replace val

  • +
  • with val[key[1]] and so on. This continues until we have exhausted all keys.

  • +
  • fallback (A sort of default value. If at some point, val is not a dictionary (and there are)

  • +
  • more keys) or val is a dictionary but the next key is not a valid key in that dictionary,

  • +
  • then we return the fallback value.

  • +
  • datatype (If not None, then we require that the final val has this datatype. If the final)

  • +
  • val does not have the desired datatype, we raise an exception.

  • +
+
-
-
-lasdi.inputs.getDictFromList(list_, inputDict)
-

get a dict with {key: val} from a list of dicts -NOTE: it returns only the first item in the list, -even if the list has more than one dict with {key: val}.

diff --git a/autoapi/lasdi/latent_space/index.html b/autoapi/lasdi/latent_space/index.html index 86268c0..6fa0192 100644 --- a/autoapi/lasdi/latent_space/index.html +++ b/autoapi/lasdi/latent_space/index.html @@ -123,8 +123,8 @@

Classes

- - + +

initial_condition_latent(param_grid, physics, autoencoder)

Outputs the initial condition in the latent space: Z0 = encoder(U0)

initial_condition_latent(→ list[numpy.ndarray])

This function maps a set of initial conditions for the fom to initial conditions for the

@@ -138,83 +138,100 @@

Module Contents
-lasdi.latent_space.initial_condition_latent(param_grid, physics, autoencoder)
-

Outputs the initial condition in the latent space: Z0 = encoder(U0)

+lasdi.latent_space.initial_condition_latent(param_grid: numpy.ndarray, physics: lasdi.physics.Physics, autoencoder: torch.nn.Module) list[numpy.ndarray] +

This function maps a set of initial conditions for the fom to initial conditions for the +latent space dynamics. Specifically, we take in a set of possible parameter values. For each +set of parameter values, we recover the fom IC (from physics), then map this fom IC to a +latent space IC (by encoding it using the autoencoder). We do this for each parameter +combination and then return a list housing the latent space ICs.

+
+
    +
  • physics (A “Physics” object that stores the datasets for each parameter combination.)

  • +
  • autoencoder (The actual autoencoder object that we use to map the ICs into the latent space.)

  • +
+
+
+
    +
  • the i’th set of parameters, then the i’th element of the returned list is Z0_i = encoder(U0_i).

  • +
+
-class lasdi.latent_space.MultiLayerPerceptron(layer_sizes, act_type='sigmoid', reshape_index=None, reshape_shape=None, threshold=0.1, value=0.0, num_heads=1)
+class lasdi.latent_space.MultiLayerPerceptron(layer_sizes: list[int], act_type: str = 'sigmoid', reshape_index: int = None, reshape_shape: tuple[int] = None, threshold: float = 0.1, value: float = 0.0)

Bases: torch.nn.Module

-n_layers
+n_layers: int
-layer_sizes
+layer_sizes: list[int]
-
-fcs = []
+
+layers: list[torch.nn.Module] = []
-reshape_index
+reshape_index: int
-reshape_shape
+reshape_shape: list[int]
-act_type
-
- -
-
-use_multihead = False
+act_type: str
-forward(x)
-
- -
-
-apply_attention(x, act_idx)
-
+forward(x: torch.Tensor) torch.Tensor +

This function defines the forward pass through self.

+
+
    +
  • elements, then the final k elements of x’s shape must match self.reshape_shape.

  • +
+
+
+
    +
  • of its shape match those of self.reshape_shape.

  • +
+
+
-init_weight()
-
+init_weight() None +

This function initializes the weight matrices and bias vectors in self’s layers.

+
-class lasdi.latent_space.Autoencoder(physics, config)
+class lasdi.latent_space.Autoencoder(physics: lasdi.physics.Physics, config: dict)

Bases: torch.nn.Module

-qgrid_size
+qgrid_size: list[int]
-space_dim
+space_dim: numpy.ndarray
-n_z
+n_z: int
@@ -229,18 +246,26 @@

Module Contents
-forward(x)
-

+forward(x: torch.Tensor) torch.Tensor +

This function defines the forward pass through self.

+
-export()
-
+export() dict +

This function extracts self’s parameters and returns them in a dictionary.

+
-load(dict_)
-
+load(dict_: dict) None +

This function loads self’s state dictionary.

+
+
    +
  • layer sizes) as self.

  • +
+
+
diff --git a/autoapi/lasdi/param/index.html b/autoapi/lasdi/param/index.html index f88ae1e..6485170 100644 --- a/autoapi/lasdi/param/index.html +++ b/autoapi/lasdi/param/index.html @@ -120,11 +120,11 @@

Classes

- - + + - - + +

get_1dspace_from_list(config)

get_1dspace_from_list(→ tuple[int, numpy.ndarray])

This function generates the parameter range (set of possible parameter values) for a parameter

create_uniform_1dspace(config)

create_uniform_1dspace(→ tuple[int, numpy.ndarray])

This function generates the parameter range (set of possible parameter values) for a parameter

@@ -133,81 +133,154 @@

Functions

-lasdi.param.get_1dspace_from_list(config)
-
+lasdi.param.get_1dspace_from_list(param_dict: dict) tuple[int, numpy.ndarray] +

This function generates the parameter range (set of possible parameter values) for a parameter +that uses the list type test space. That is, “test_space_type” should be a key for the +parameter dictionary and the corresponding value should be “list”. The parameter dictionary +should also have a “list” key whose value is a list of the possible parameter values.

+

We parse this list and turn it into a numpy ndarray.

+
+
    +
  • floats.

  • +
+
+
-lasdi.param.create_uniform_1dspace(config)
-
+lasdi.param.create_uniform_1dspace(param_dict: dict) tuple[int, numpy.ndarray] +

This function generates the parameter range (set of possible parameter values) for a parameter +that uses the uniform type test space. That is, “test_space_type” should be a key for the +parameter dictionary and the corresponding value should be “uniform”. The parameter dictionary +should also have the following keys:

+
+

“min” +“max” +“sample_size” +“log_scale”

+
+

“min” and “max” specify the minimum and maximum value of the parameter, respectively. +“sample_size” specifies the number of parameter values we generate. Finally, log_scale, if +true, specifies if we should use a uniform or logarithmic spacing between samples of the +parameter.

+

The values corresponding to “min” and “max” should be floats while the values corresponding to +“sample_size” and “log_scale” should be an int and a bool, respectively.

+
+
    +
  • keys (see above).

  • +
+
+
+
    +
  • paramRange[-1] = param_dict[“max”]). Nx is the length of paramRange or, equivalently

  • +
  • param_dict[“sample_size”].

  • +
+
+
-lasdi.param.getParam1DSpace
+lasdi.param.getParam1DSpace: dict[str, callable]
-class lasdi.param.ParameterSpace(config)
+class lasdi.param.ParameterSpace(config: dict)
-param_list = []
+param_list: list[dict] = []
-param_name = []
+param_name: list[str] = []
-n_param = 0
+n_param: int = 0
-train_space = None
+train_space: numpy.ndarray = None
-test_space = None
+test_space: numpy.ndarray = None
-n_init = 0
+n_init: int = 0
-test_grid_sizes = []
+test_grid_sizes: list[int] = []
-test_meshgrid = None
+test_meshgrid: tuple[numpy.ndarray] = None
-n_train()
-
+n_train() int +

Returns the number of combinations of parameters in the training set.

+
-n_test()
-
+n_test() int +

Returns the number of combinations of parameters in the testing set.

+
-createInitialTrainSpace(param_list)
-
+createInitialTrainSpace(param_list: list[dict]) numpy.ndarray +

Sets up a grid of parameter values to train at. Note that we only use the min and max value +of each parameter when setting up this grid.

+
+
    +
  • name

  • +
  • min

  • +
  • max

  • +
+
+
+
    +
  • the min and max value of each parameter as the argument. See “createHyperMeshGrid” for

  • +
  • details.

  • +
  • Specifically, we return exactly what “createHyperGridSpace” returns. See the doc-string

  • +
  • for that function for further details.

  • +
+
+
-createTestGridSpace(param_list)
-
+createTestGridSpace(param_list: list[dict]) tuple[list[int], tuple[numpy.ndarray], numpy.ndarray] +

This function sets up a grid of parameter values to test at.

+
+
    +
  • respectively.

  • +
+
+
+
    +
  • parameter we consider (this is the length of the i’th element of “paramRanges” below).

  • +
  • The second is a a tuple of k numpy ndarrays (where k = len(param_list)), the i’th one of

  • +
  • which is a k-dimensional array with shape (N0, … , N{k - 1}), where Ni =

  • +
  • param_list[i].size whose i(0), … , i(k - 1) element specifies the value of the i’th

  • +
  • parameter in the i(0), … , i(k - 1)’th unique combination of parameter values.

  • +
  • The third one is a 2d array of parameter values. It has shape (M, k), where

  • +
  • M = prod_{i = 0}^{k - 1} param_list[i].size.

  • +
+
+
@@ -218,46 +291,98 @@

Module Contents
-createHyperMeshGrid(param_ranges)
-
-
param_ranges: list of numpy 1d arrays, each corresponding to 1d parameter grid space.

The list size is equal to the number of parameters.

-
-
Output: paramSpaces
    -
  • tuple of numpy nd arrays, corresponding to each parameter. -Dimension of the array equals to the number of parameters

  • +createHyperMeshGrid(param_ranges: list[numpy.ndarray]) tuple[numpy.ndarray]

+

This function generates arrays of parameter values. Specifically, if there are k +parameters (param_ranges has k elements), then we return k k-d arrays, the i’th one of +which is a k-dimensional array whose i(0), … , i(k - 1) element specifies the value of +the i’th variable in the i(0), … , i(k - 1)’th unique combination of parameter values.

+
+
    +
  • min value for the i’th parameter. The list size should equal the number of parameters.

-
-
+ +
+
    +
  • k parameters and if param_range[i].size = Ni, then the j’th return array has shape

  • +
  • (N0, … , N{k - 1}) and the i(0), … , i(k - 1) element of this array houses the i(j)’th

  • +
  • value of the j’th parameter.

  • +
  • Thus, if there are k parameters, the returned tuple has k elements, each one of

  • +
  • which is an array of shape (N0, … , N{k - 1}).

  • +
+
-createHyperGridSpace(mesh_grids)
-
-
mesh_grids: tuple of numpy nd arrays, corresponding to each parameter.

Dimension of the array equals to the number of parameters

-
-
Output: param_grid
    -
  • numpy 2d array of size (grid size x number of parameters).

  • +createHyperGridSpace(mesh_grids: tuple[numpy.ndarray]) numpy.ndarray +

    Flattens the mesh_grid numpy.ndarray objects returned by createHyperMeshGrid and combines +them into a single 2d array of shape (grid size, number of parameters) (see below).

    +
    +
      +
    • function’s docstring for details.

    -

    grid size is the size of a numpy nd array.

    -
    -
+ +
+
    +
  • N(k)) (k parameters), then (grid size) = N(1)*N(2)…*N(k) and (number of parameters) = k.*

  • +
+
-appendTrainSpace(param)
-
+appendTrainSpace(param: numpy.ndarray) None +

Adds a new parameter to self’s train space attribute.

+
-export()
-
+export() dict +

This function packages the testing/training examples into a dictionary, which it returns.

+
+
Returns:
+

    +
  • A dictionary with 4 keys. Below is a list of the keys with a short description of each

  • +
  • corresponding value. – train_space: self.train_space, a 2d array of shape (n_train, n_param) whose i,j element +holds the value of the j’th parameter in the i’th training case.

    +

    test_space: self.test_space, a 2d array of shape (n_test, n_param) whose i,j element +holds the value of the j’th parameter in the i’th testing case.

    +

    test_grid_sizes: A list whose i’th element specifies how many distinct parameter values +we use for the i’th parameter.

    +

    test_meshgrid: a tuple of n_param numpy.ndarray array objects whose i’th element is a +n_param-dimensional array whose i(1), i(2), … , i(n_param) element holds the value of +the i’th parameter in the i(1), … , i(n_param) combination of parameter values in the +testing test.

    +

    n_init: The number of combinations of training parameters in the training set.

    +
  • +
+

+
+
+
-load(dict_)
-
+load(dict_: dict) None +

This function builds a parameter space object from a dictionary. This dictionary should +be one that was returned by th export method, or a loaded copy of a dictionary that was +returned by the export method.

+
+
+
    +
  • train_space

  • +
  • test_space

  • +
  • test_grid_sizes

  • +
  • test_meshgrid

  • +
  • n_init

  • +
+
+
    +
  • This dictionary should have been returned by the export method. We use the values in this

  • +
  • dictionary to set up self.

  • +
+
+
diff --git a/genindex.html b/genindex.html index 226eb2e..565a6df 100644 --- a/genindex.html +++ b/genindex.html @@ -105,12 +105,10 @@

A

  • act_dict (in module lasdi.latent_space)
  • act_type (lasdi.latent_space.MultiLayerPerceptron attribute) -
  • -
  • appendTrainSpace() (lasdi.param.ParameterSpace method)
    • -
    • apply_attention() (lasdi.latent_space.MultiLayerPerceptron method) +
    • appendTrainSpace() (lasdi.param.ParameterSpace method)
    • Autoencoder (class in lasdi.latent_space)
    • @@ -251,17 +249,15 @@

      F

      - +
        -
      • getInput() (lasdi.inputs.InputParser method) -
      • getOperators() (lasdi.fd.Stencil method)
      • getParam1DSpace (in module lasdi.param) @@ -496,6 +490,8 @@

        L

      • LatentDynamics (class in lasdi.latent_dynamics)
      • layer_sizes (lasdi.latent_space.MultiLayerPerceptron attribute) +
      • +
      • layers (lasdi.latent_space.MultiLayerPerceptron attribute)
      • ld_dict (in module lasdi.workflow)
      • @@ -885,10 +881,6 @@

        U

        -
        diff --git a/index.html b/index.html index 9380768..4bcb0f5 100644 --- a/index.html +++ b/index.html @@ -89,15 +89,16 @@

        LaSDI documentation

        References

        -
          -
        • Bonneville, Christophe, Xiaolong He, April Tran, Jun Sur Park, William Fries, Daniel A. Messenger, Siu Wun Cheung et al. “A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling.” arXiv preprint arXiv:2403.10748 (2024).

        • -
        • Fries, William D., Xiaolong He, and Youngsoo Choi. “LaSDI: Parametric latent space dynamics identification.” Computer Methods in Applied Mechanics and Engineering 399 (2022): 115436.

        • -
        • He, Xiaolong, Youngsoo Choi, William D. Fries, Jonathan L. Belof, and Jiun-Shyan Chen. “gLaSDI: Parametric physics-informed greedy latent space dynamics identification.” Journal of Computational Physics 489 (2023): 112267.

        • -
        • Tran, April, Xiaolong He, Daniel A. Messenger, Youngsoo Choi, and David M. Bortz. “Weak-form latent space dynamics identification.” Computer Methods in Applied Mechanics and Engineering 427 (2024): 116998.

        • -
        • Park, Jun Sur Richard, Siu Wun Cheung, Youngsoo Choi, and Yeonjong Shin. “tLaSDI: Thermodynamics-informed latent space dynamics identification.” arXiv preprint arXiv:2403.05848 (2024).

        • -
        • Bonneville, Christophe, Youngsoo Choi, Debojyoti Ghosh, and Jonathan L. Belof. “Gplasdi: Gaussian process-based interpretable latent space dynamics identification through deep autoencoder.” Computer Methods in Applied Mechanics and Engineering 418 (2024): 116535.

        • -
        • He, Xiaolong, April Tran, David M. Bortz, and Youngsoo Choi. “Physics-informed active learning with simultaneous weak-form latent space dynamics identification.” arXiv preprint arXiv:2407.00337 (2024).

        • -
        +

        <<<<<<< HEAD +* Bonneville, Christophe, Xiaolong He, April Tran, Jun Sur Park, William Fries, Daniel A. Messenger, Siu Wun Cheung et al. “A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling.” arXiv preprint arXiv:2403.10748 (2024). +======= +>>>>>>> 9269e9cb2d85c993efecb52c726f2f1ff657d487 +* Fries, William D., Xiaolong He, and Youngsoo Choi. “LaSDI: Parametric latent space dynamics identification.” Computer Methods in Applied Mechanics and Engineering 399 (2022): 115436. +* He, Xiaolong, Youngsoo Choi, William D. Fries, Jonathan L. Belof, and Jiun-Shyan Chen. “gLaSDI: Parametric physics-informed greedy latent space dynamics identification.” Journal of Computational Physics 489 (2023): 112267. +* Tran, April, Xiaolong He, Daniel A. Messenger, Youngsoo Choi, and David M. Bortz. “Weak-form latent space dynamics identification.” Computer Methods in Applied Mechanics and Engineering 427 (2024): 116998. +* Park, Jun Sur Richard, Siu Wun Cheung, Youngsoo Choi, and Yeonjong Shin. “tLaSDI: Thermodynamics-informed latent space dynamics identification.” arXiv preprint arXiv:2403.05848 (2024). +* Bonneville, Christophe, Youngsoo Choi, Debojyoti Ghosh, and Jonathan L. Belof. “Gplasdi: Gaussian process-based interpretable latent space dynamics identification through deep autoencoder.” Computer Methods in Applied Mechanics and Engineering 418 (2024): 116535. +* He, Xiaolong, April Tran, David M. Bortz, and Youngsoo Choi. “Physics-informed active learning with simultaneous weak-form latent space dynamics identification.” arXiv preprint arXiv:2407.00337 (2024).

        diff --git a/objects.inv b/objects.inv index 571351892eed847e3ee85e5b10557adc52ece60e..f28e7409f21c363b2f64a0d5857db1db8f65f08e 100644 GIT binary patch delta 2141 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 TcGtQ*%kKUHtw{2J>&F(CEGQ;m delta 2184 zcmV;32zU3p5#jk5_~BjGfAE$R)nSX?zc*irljdVQru{PYxYxV-~7Zlq1$Yu ztMYGMig$lc-zDw4jPj;Zj=b%AKOy@;(tj8t`==;Nn(HTA)#i%~ z5Nj>jbED}3=!)epu*7c-hXsC@nDK?MZ&Wp5^+m`Eh6G#0|1h$wi0?nlRf6{)AeG>R22n!> z2c-l@)KVoll3}LhhOI^!G~WV zmEeR1Q9}j?r36RRQYAQ&V2ij=3A%5Yrv_c#EEoI-m49tWQc=ATWDaCa_1Bt8tc6s| zNML$-!CT&JdmxN%p2L=D=Q#_ypbIo~T{~jsb?uCm*L6mJ;1YF=qT#t_f?tU~r<`Rk zm^Qi9-0Z3y>Y-fFVlJcfjMMiiJoV81{)l%}G0gw?jGyiw#w~t;>4RmDPycc^@EquW zk)}#V;eYyv&2zw(U^HJ4D&gVJrY?@U6oFj|6#;F(7`;)p-b83gx~+w?kY~`G=Djmd4B`}vYk7OQ0?_*r=s`|^TirV9Z3<5 zu0+B1z4{W@gw0R}uPKtE^2BTbFx!7v!m}Kg>{;S& zaciW}LFD-3dk8UvRq=&*gL4QWo@f+81iw+E_`(ke8S1e59I?U_tC})`ttgXfH^G^- z=_k3AHb?gK@a29N?oY171o8b-CO~rLxPPv>qU>0o3t1r{y>lR7GAq*&QDkFEWQ4LG zShF8DDC}hSHd9VPZc>j0L887U$@h1lZE)YHevSr z`AntL(Osea%#6^0S{6OQL!!Cq;!;-{-hs8s4$Q=C@t-4>=k`biLz<)NH zi1rBz4SYi-JT|3fpYe{$6_q)ywGZStM zR3DxIVm&e3R2)avj@^!CI`d$}kkEd=2Uy8{OF~nL-C|_P6mWfZT>m=2RDZ6mP;>~c zRRnlt{LFgqXMoWGYrd1YRv$pXovT6(XN8^cx+4eZXwT?n_WtDV{^0rsyYUcE|3#>f z;;6B+zU{ckJl0`%DcoIlmnQpK6eZ*I)7M8whkea+f&9xElYttR=kIwY0@sw=y|N}| z6=h=^R6)YS2IEt)9Jo?N_kSlW^c7r}UL#d!=htDGTPWu0=rb0W_?`k}-v^ooguz&L zPlGq>0~t^Wd*;>f5b9$&WDCK$iJll7tWANw!YcV|j0TrfG1A}?s-2CNJ6Gx^!8EY% zf^&w?ja*Zy?npogbx0c&OdV2ZANPOV`(5s!h#+=`5hL5M8d)HvJAY4Pe4&Y6^~TQ5 ziIPN@8fD7Kh z7@pi)HrhXmBc-)$34g*CO4m~KcjJr&rpHw7ko1`DuqTg7DSY)Xj34H1C^qh(eox?# zbt&u_UvOkCsa=WPhZFO`_P7UMJKCp9;B1;MN%p-zbu&CXxCRXq?1oa`+3;W%<*t>k zaEvb^4JLWk-hw%Hb^xl9YUw_K8VqXBbb*1Oif4E3E?~V0`F~QB;>}?reG;dY^ofl3 zYVVReJuEqDzeD5!;P{1yY4&!y$2MfAQl|&R#p`Rau{^+h?XU`HhG?eRs@$OrQR~dPu*~ zf=W9rm5g5YH-AJKz7a4zxm_?Bz71s@c6MJ%+F!hq3|}iUjybz{B<&A}CXUmeF4pBC z(e&)JX)dT**2~(OqO@ zo;Q_IL2Ubx#Kd(2>|ZZ#>rbxw$;uA&ip*LqFCme^NiiIF3(f diff --git a/searchindex.js b/searchindex.js index 281c4e0..9c975b1 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["autoapi/index", "autoapi/lasdi/enums/index", "autoapi/lasdi/fd/index", "autoapi/lasdi/gp/index", "autoapi/lasdi/gplasdi/index", "autoapi/lasdi/index", "autoapi/lasdi/inputs/index", "autoapi/lasdi/latent_dynamics/index", "autoapi/lasdi/latent_dynamics/sindy/index", "autoapi/lasdi/latent_space/index", "autoapi/lasdi/param/index", "autoapi/lasdi/physics/burgers1d/index", "autoapi/lasdi/physics/index", "autoapi/lasdi/postprocess/index", "autoapi/lasdi/timing/index", "autoapi/lasdi/workflow/index", "index"], "filenames": ["autoapi/index.rst", "autoapi/lasdi/enums/index.rst", "autoapi/lasdi/fd/index.rst", "autoapi/lasdi/gp/index.rst", "autoapi/lasdi/gplasdi/index.rst", "autoapi/lasdi/index.rst", "autoapi/lasdi/inputs/index.rst", "autoapi/lasdi/latent_dynamics/index.rst", "autoapi/lasdi/latent_dynamics/sindy/index.rst", "autoapi/lasdi/latent_space/index.rst", "autoapi/lasdi/param/index.rst", "autoapi/lasdi/physics/burgers1d/index.rst", "autoapi/lasdi/physics/index.rst", "autoapi/lasdi/postprocess/index.rst", "autoapi/lasdi/timing/index.rst", "autoapi/lasdi/workflow/index.rst", "index.rst"], "titles": ["API Reference", "lasdi.enums", "lasdi.fd", "lasdi.gp", "lasdi.gplasdi", "lasdi", "lasdi.inputs", "lasdi.latent_dynamics", "lasdi.latent_dynamics.sindy", "lasdi.latent_space", "lasdi.param", "lasdi.physics.burgers1d", "lasdi.physics", "lasdi.postprocess", "lasdi.timing", "lasdi.workflow", "LaSDI documentation"], "terms": {"thi": [0, 1, 14], "page": 0, "contain": [0, 3, 14], "auto": 0, "gener": [0, 1, 3, 11, 12], "document": 0, "1": [0, 1, 2, 9, 11, 12, 13], "lasdi": 0, "enum": [0, 5], "fd": [0, 5, 8], "gp": [0, 5], "gplasdi": [0, 5, 15, 16], "input": [0, 5], "latent_dynam": [0, 4, 5], "sindi": [0, 3, 7, 13], "latent_spac": [0, 5], "param": [0, 3, 5, 11, 12, 13], "physic": [0, 4, 5, 9, 10, 13, 15, 16], "burgers1d": [0, 12, 15], "postprocess": [0, 5], "time": [0, 5, 7, 8], "workflow": [0, 5], "creat": 0, "sphinx": 0, "autoapi": 0, "nextstep": 1, "base": [1, 2, 8, 9, 11, 12, 16], "enumer": 1, "deriv": [1, 8], "from": [1, 3, 6, 11, 14], "defin": 1, "new": 1, "train": [1, 3, 4, 8], "picksampl": 1, "2": [1, 2, 11, 12], "runsampl": 1, "3": [1, 2, 8, 11, 12], "collectsampl": 1, "4": [1, 2], "result": 1, "unexecut": 1, "success": 1, "fail": 1, "complet": 1, "stencil": 2, "leftbdrdepth": 2, "0": [2, 4, 9, 10, 11, 12, 13], "leftbdrwidth": 2, "leftbdrstencil": 2, "leftbdrnorm": 2, "interiorstencil": 2, "interiorindex": 2, "getoper": 2, "nx": [2, 11], "period": 2, "fals": [2, 6, 7, 8, 9, 12, 15], "convert": [2, 10], "scipy_coo": 2, "sbp12": 2, "5": [2, 13], "sbp24": 2, "6": [2, 13], "sbp36": 2, "7": 2, "8": 2, "9": 2, "sbp48": 2, "10": [2, 13], "11": 2, "12": 2, "fddict": 2, "fit_gp": 3, "x": [3, 9, 10], "y": 3, "each": [3, 8, 10, 14], "given": [3, 7, 8, 12], "interpol": [3, 16], "dataset": [3, 8], "n_train": [3, 7, 10], "n_param": [3, 10], "numpi": [3, 4, 7, 8, 10, 11, 12], "2d": [3, 4, 7, 8, 10, 11, 12], "arrai": [3, 4, 10, 11, 12], "n_coef": 3, "we": 3, "assum": [3, 8, 11, 12], "target": 3, "coeffici": [3, 7], "i": [3, 6, 7, 8, 10, 14, 15, 16], "independ": 3, "other": 3, "gp_dictionnari": [3, 4, 13], "sklearn": 3, "object": 3, "eval_gp": 3, "param_grid": [3, 4, 9, 10], "comput": [3, 4, 7, 8, 11, 13, 16], "predict": [3, 16], "mean": 3, "standard": [3, 4], "deviat": [3, 4], "point": [3, 7, 8], "paramet": [3, 4, 10, 12, 13], "space": [3, 4, 9, 10, 15, 16], "grid": [3, 4, 10], "sample_coef": 3, "n_sampl": [3, 4, 13], "sampl": [3, 7], "set": [3, 7], "od": [3, 8, 16], "one": [3, 6, 7], "coef_sampl": 3, "list": [3, 4, 6, 10, 14], "length": 3, "where": 3, "term": [3, 8], "matrix": 3, "distribut": 3, "average_rom": 4, "autoencod": [4, 9, 13, 15, 16], "gp_dictionari": 4, "sample_rom": 4, "collect": 4, "rom": [4, 16], "trajectori": 4, "gaussian": [4, 16], "process": [4, 16], "regressor": 4, "size": [4, 8, 10, 12, 14], "n_test": [4, 10], "integ": 4, "assert": 4, "len": 4, "shape": [4, 7, 8, 11, 12], "output": [4, 6, 7, 8, 9, 10], "np": 4, "nt": [4, 7, 8, 11, 12], "n_z": [4, 9], "get_fom_max_std": 4, "zi": 4, "maximum": [4, 13], "accross": 4, "find": [4, 6], "correspond": [4, 6, 8, 10], "locat": 4, "optimizer_to": 4, "optim": 4, "devic": 4, "bayesianglasdi": 4, "param_spac": 4, "config": [4, 8, 9, 10, 15], "x_train": 4, "x_test": [4, 13], "timer": [4, 14], "lr": 4, "n_iter": 4, "max_it": 4, "max_greedy_it": 4, "ld_weight": 4, "coef_weight": 4, "mse": [4, 8], "path_checkpoint": 4, "path_result": 4, "best_loss": 4, "best_coef": 4, "none": [4, 6, 8, 9, 10, 11, 12, 14, 15], "restart_it": 4, "get_new_sample_point": 4, "export": [4, 7, 8, 9, 10, 11, 12, 14], "load": [4, 7, 9, 10, 14], "dict_": [4, 6, 7, 9, 10, 14], "verbos": 6, "inputpars": 6, "dict": [6, 10, 14], "name": [6, 14], "getinput": 6, "kei": [6, 14], "fallback": 6, "datatyp": 6, "valu": [6, 9, 13, 14], "If": [6, 14], "specifi": 6, "do": 6, "exist": 6, "us": [6, 16], "doe": [6, 14], "return": [6, 14], "an": 6, "error": [6, 13], "enforc": 6, "ha": 6, "right": 6, "getdictfromlist": 6, "list_": 6, "inputdict": 6, "get": 6, "val": 6, "note": [6, 14], "onli": [6, 8, 15], "first": 6, "item": 6, "even": 6, "more": 6, "than": 6, "latentdynam": [7, 8], "dim_": 7, "nt_": 7, "dim": [7, 8, 11, 12], "ncoef": [7, 8], "coef": [7, 8], "calibr": [7, 8], "z": [7, 8], "dt": [7, 8, 11, 12], "compute_loss": [7, 8], "true": [7, 8, 12, 13], "latent": [7, 9, 15, 16], "dynam": [7, 16], "loss": 7, "seri": 7, "encod": [7, 8, 9], "3d": [7, 11, 12], "tensor": [7, 8], "time_dim": [7, 8], "space_dim": [7, 8, 9, 11, 12], "simul": [7, 8], "z0": [7, 8, 9], "t_grid": [7, 8, 11, 12], "integr": [7, 8], "initi": [7, 8, 9, 15], "condit": [7, 8, 9], "coefs_sampl": 7, "z0_sampl": 7, "fd_type": 8, "fd_oper": 8, "coef_norm_ord": 8, "loop": 8, "over": 8, "all": [8, 14], "case": 8, "dimens": [8, 10, 11, 12], "compute_time_deriv": 8, "build": 8, "linear": 8, "The": [8, 10, 14], "ar": 8, "through": [8, 16], "finit": 8, "differ": 8, "timestep": 8, "uniform": 8, "scalar": 8, "dzdt": 8, "same": [8, 14], "system": [8, 16], "u0": [8, 9, 11], "act_dict": 9, "initial_condition_lat": 9, "multilayerperceptron": 9, "layer_s": 9, "act_typ": 9, "sigmoid": 9, "reshape_index": 9, "reshape_shap": 9, "threshold": 9, "num_head": 9, "torch": 9, "nn": 9, "n_layer": 9, "fc": 9, "use_multihead": 9, "forward": 9, "apply_attent": 9, "act_idx": 9, "init_weight": 9, "qgrid_siz": [9, 11, 12], "decod": [9, 16], "get_1dspace_from_list": 10, "create_uniform_1dspac": 10, "getparam1dspac": 10, "parameterspac": 10, "param_list": 10, "param_nam": [10, 11, 12, 15], "train_spac": 10, "test_spac": 10, "n_init": [10, 13], "test_grid_s": 10, "test_meshgrid": 10, "createinitialtrainspac": 10, "createtestgridspac": 10, "getparamet": 10, "param_vector": 10, "vector": 10, "take": 10, "solv": [10, 11, 12, 16], "initial_condit": [10, 11, 12], "createhypermeshgrid": 10, "param_rang": 10, "1d": [10, 11, 12], "equal": 10, "number": [10, 14], "paramspac": 10, "tupl": 10, "nd": [10, 11, 12], "createhypergridspac": 10, "mesh_grid": 10, "appendtrainspac": 10, "cfg": [11, 12], "a_idx": 11, "w_idx": 11, "qdim": [11, 12], "offlin": [11, 12], "grid_siz": [11, 12], "higher": [11, 12], "xmin": 11, "xmax": 11, "dx": 11, "tmax": 11, "x_grid": [11, 12], "maxk": 11, "convergence_threshold": 11, "residu": [11, 12], "xhist": [11, 12], "residual_burg": 11, "un": 11, "uw": 11, "c": 11, "idxn1": 11, "burger": 11, "equat": 11, "data": 11, "http": 11, "github": 11, "com": 11, "llnl": 11, "glasdi": [11, 16], "jacobian": 11, "u": 11, "solver": 11, "main": [11, 15], "generate_solut": 12, "solut": [12, 16], "must": [12, 14], "match": 12, "requir": 12, "specif": 12, "offlinefom": 12, "compute_error": 13, "x_pred": 13, "rel": 13, "plot_predict": 13, "scale": 13, "plot_gp2d": 13, "p1_mesh": 13, "p2_mesh": 13, "gp_mean": 13, "gp_std": 13, "param_train": 13, "param_label": 13, "p1": 13, "p2": 13, "plot_shap": 13, "figsiz": 13, "15": 13, "13": 13, "refin": 13, "cm": 13, "plt": 13, "jet": 13, "margin": 13, "05": 13, "heatmap2d": 13, "p1_grid": 13, "p2_grid": 13, "titl": 13, "A": [14, 16], "light": [14, 16], "weight": [14, 16], "dictionari": 14, "map": [14, 16], "job": 14, "indic": 14, "type": 14, "str": 14, "int": 14, "call": 14, "store": 14, "total": 14, "float": 14, "start": 14, "run": 14, "instead": 14, "regist": 14, "arg": 14, "have": 14, "befor": 14, "method": [14, 16], "end": 14, "increas": 14, "runtim": 14, "print": 14, "per": 14, "trainer_dict": 15, "latent_dict": 15, "ld_dict": 15, "physics_dict": 15, "parser": 15, "step": 15, "trainer": 15, "next_step": 15, "use_restart": 15, "initialize_train": 15, "restart_fil": 15, "class": 15, "model": [15, 16], "accord": [15, 16], "file": 15, "current": 15, "avail": 15, "initialize_latent_spac": 15, "ae": 15, "initialize_phys": 15, "fom": 15, "pick_sampl": 15, "run_sampl": 15, "collect_sampl": 15, "python": 16, "packag": 16, "identif": 16, "full": 16, "order": 16, "pde": 16, "learn": 16, "govern": 16, "By": 16, "reduc": 16, "fast": 16, "accur": 16, "can": 16, "made": 16, "feed": 16, "It": 16, "also": 16, "support": 16, "parametr": 16, "uncertainti": 16, "evalu": 16, "via": 16, "api": 16, "bonnevil": 16, "christoph": 16, "xiaolong": 16, "he": 16, "april": 16, "tran": 16, "jun": 16, "sur": 16, "park": 16, "william": 16, "fri": 16, "daniel": 16, "messeng": 16, "siu": 16, "wun": 16, "cheung": 16, "et": 16, "al": 16, "comprehens": 16, "review": 16, "algorithm": 16, "intrus": 16, "non": 16, "arxiv": 16, "preprint": 16, "2403": 16, "10748": 16, "2024": 16, "d": 16, "youngsoo": 16, "choi": 16, "appli": 16, "mechan": 16, "engin": 16, "399": 16, "2022": 16, "115436": 16, "jonathan": 16, "l": 16, "belof": 16, "jiun": 16, "shyan": 16, "chen": 16, "inform": 16, "greedi": 16, "journal": 16, "489": 16, "2023": 16, "112267": 16, "david": 16, "m": 16, "bortz": 16, "weak": 16, "form": 16, "427": 16, "116998": 16, "richard": 16, "yeonjong": 16, "shin": 16, "tlasdi": 16, "thermodynam": 16, "05848": 16, "debojyoti": 16, "ghosh": 16, "interpret": 16, "deep": 16, "418": 16, "116535": 16, "activ": 16, "simultan": 16, "2407": 16, "00337": 16}, "objects": {"": [[5, 0, 0, "-", "lasdi"]], "lasdi": [[1, 0, 0, "-", "enums"], [2, 0, 0, "-", "fd"], [3, 0, 0, "-", "gp"], [4, 0, 0, "-", "gplasdi"], [6, 0, 0, "-", "inputs"], [7, 0, 0, "-", "latent_dynamics"], [9, 0, 0, "-", "latent_space"], [10, 0, 0, "-", "param"], [12, 0, 0, "-", "physics"], [13, 0, 0, "-", "postprocess"], [14, 0, 0, "-", "timing"], [15, 0, 0, "-", "workflow"]], "lasdi.enums": [[1, 1, 1, "", "NextStep"], [1, 1, 1, "", "Result"]], "lasdi.enums.NextStep": [[1, 2, 1, "", "CollectSample"], [1, 2, 1, "", "PickSample"], [1, 2, 1, "", "RunSample"], [1, 2, 1, "", "Train"]], "lasdi.enums.Result": [[1, 2, 1, "", "Complete"], [1, 2, 1, "", "Fail"], [1, 2, 1, "", "Success"], [1, 2, 1, "", "Unexecuted"]], "lasdi.fd": [[2, 3, 1, "", "FDdict"], [2, 1, 1, "", "SBP12"], [2, 1, 1, "", "SBP24"], [2, 1, 1, "", "SBP36"], [2, 1, 1, "", "SBP48"], [2, 1, 1, "", "Stencil"]], "lasdi.fd.SBP12": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.SBP24": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.SBP36": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.SBP48": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.Stencil": [[2, 4, 1, "", "convert"], [2, 4, 1, "", "getOperators"], [2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.gp": [[3, 5, 1, "", "eval_gp"], [3, 5, 1, "", "fit_gps"], [3, 5, 1, "", "sample_coefs"]], "lasdi.gplasdi": [[4, 1, 1, "", "BayesianGLaSDI"], [4, 5, 1, "", "average_rom"], [4, 5, 1, "", "get_fom_max_std"], [4, 5, 1, "", "optimizer_to"], [4, 5, 1, "", "sample_roms"]], "lasdi.gplasdi.BayesianGLaSDI": [[4, 2, 1, "", "MSE"], [4, 2, 1, "", "X_test"], [4, 2, 1, "", "X_train"], [4, 2, 1, "", "autoencoder"], [4, 2, 1, "", "best_coefs"], [4, 2, 1, "", "best_loss"], [4, 2, 1, "", "coef_weight"], [4, 4, 1, "", "export"], [4, 4, 1, "", "get_new_sample_point"], [4, 2, 1, "", "latent_dynamics"], [4, 2, 1, "", "ld_weight"], [4, 4, 1, "", "load"], [4, 2, 1, "", "lr"], [4, 2, 1, "", "max_greedy_iter"], [4, 2, 1, "", "max_iter"], [4, 2, 1, "", "n_iter"], [4, 2, 1, "", "n_samples"], [4, 2, 1, "", "optimizer"], [4, 2, 1, "", "param_space"], [4, 2, 1, "", "path_checkpoint"], [4, 2, 1, "", "path_results"], [4, 2, 1, "", "physics"], [4, 2, 1, "", "restart_iter"], [4, 2, 1, "", "timer"], [4, 4, 1, "", "train"]], "lasdi.inputs": [[6, 1, 1, "", "InputParser"], [6, 5, 1, "", "getDictFromList"], [6, 3, 1, "", "verbose"]], "lasdi.inputs.InputParser": [[6, 2, 1, "", "dict_"], [6, 4, 1, "", "getInput"], [6, 2, 1, "", "name"]], "lasdi.latent_dynamics": [[7, 1, 1, "", "LatentDynamics"], [8, 0, 0, "-", "sindy"]], "lasdi.latent_dynamics.LatentDynamics": [[7, 4, 1, "", "calibrate"], [7, 2, 1, "", "coefs"], [7, 2, 1, "", "dim"], [7, 4, 1, "", "export"], [7, 4, 1, "", "load"], [7, 2, 1, "", "ncoefs"], [7, 2, 1, "", "nt"], [7, 4, 1, "", "sample"], [7, 4, 1, "", "simulate"]], "lasdi.latent_dynamics.sindy": [[8, 1, 1, "", "SINDy"]], "lasdi.latent_dynamics.sindy.SINDy": [[8, 2, 1, "", "MSE"], [8, 4, 1, "", "calibrate"], [8, 2, 1, "", "coef_norm_order"], [8, 4, 1, "", "compute_time_derivative"], [8, 4, 1, "", "export"], [8, 2, 1, "", "fd"], [8, 2, 1, "", "fd_oper"], [8, 2, 1, "", "fd_type"], [8, 2, 1, "", "ncoefs"], [8, 4, 1, "", "simulate"]], "lasdi.latent_space": [[9, 1, 1, "", "Autoencoder"], [9, 1, 1, "", "MultiLayerPerceptron"], [9, 3, 1, "", "act_dict"], [9, 5, 1, "", "initial_condition_latent"]], "lasdi.latent_space.Autoencoder": [[9, 2, 1, "", "decoder"], [9, 2, 1, "", "encoder"], [9, 4, 1, "", "export"], [9, 4, 1, "", "forward"], [9, 4, 1, "", "load"], [9, 2, 1, "", "n_z"], [9, 2, 1, "", "qgrid_size"], [9, 2, 1, "", "space_dim"]], "lasdi.latent_space.MultiLayerPerceptron": [[9, 2, 1, "", "act_type"], [9, 4, 1, "", "apply_attention"], [9, 2, 1, "", "fcs"], [9, 4, 1, "", "forward"], [9, 4, 1, "", "init_weight"], [9, 2, 1, "", "layer_sizes"], [9, 2, 1, "", "n_layers"], [9, 2, 1, "", "reshape_index"], [9, 2, 1, "", "reshape_shape"], [9, 2, 1, "", "use_multihead"]], "lasdi.param": [[10, 1, 1, "", "ParameterSpace"], [10, 5, 1, "", "create_uniform_1dspace"], [10, 3, 1, "", "getParam1DSpace"], [10, 5, 1, "", "get_1dspace_from_list"]], "lasdi.param.ParameterSpace": [[10, 4, 1, "", "appendTrainSpace"], [10, 4, 1, "", "createHyperGridSpace"], [10, 4, 1, "", "createHyperMeshGrid"], [10, 4, 1, "", "createInitialTrainSpace"], [10, 4, 1, "", "createTestGridSpace"], [10, 4, 1, "", "export"], [10, 4, 1, "", "getParameter"], [10, 4, 1, "", "load"], [10, 2, 1, "", "n_init"], [10, 2, 1, "", "n_param"], [10, 4, 1, "", "n_test"], [10, 4, 1, "", "n_train"], [10, 2, 1, "", "param_list"], [10, 2, 1, "", "param_name"], [10, 2, 1, "", "test_grid_sizes"], [10, 2, 1, "", "test_meshgrid"], [10, 2, 1, "", "test_space"], [10, 2, 1, "", "train_space"]], "lasdi.physics": [[12, 1, 1, "", "OfflineFOM"], [12, 1, 1, "", "Physics"], [11, 0, 0, "-", "burgers1d"]], "lasdi.physics.OfflineFOM": [[12, 2, 1, "", "dim"], [12, 2, 1, "", "dt"], [12, 4, 1, "", "export"], [12, 4, 1, "", "generate_solutions"], [12, 2, 1, "", "grid_size"], [12, 2, 1, "", "nt"], [12, 2, 1, "", "offline"], [12, 2, 1, "", "qdim"], [12, 2, 1, "", "qgrid_size"], [12, 2, 1, "", "t_grid"], [12, 2, 1, "", "x_grid"]], "lasdi.physics.Physics": [[12, 2, 1, "", "dim"], [12, 2, 1, "", "dt"], [12, 4, 1, "", "export"], [12, 4, 1, "", "generate_solutions"], [12, 2, 1, "", "grid_size"], [12, 4, 1, "", "initial_condition"], [12, 2, 1, "", "nt"], [12, 2, 1, "", "offline"], [12, 2, 1, "", "param_name"], [12, 2, 1, "", "qdim"], [12, 2, 1, "", "qgrid_size"], [12, 4, 1, "", "residual"], [12, 4, 1, "", "solve"], [12, 2, 1, "", "t_grid"], [12, 2, 1, "", "x_grid"]], "lasdi.physics.burgers1d": [[11, 1, 1, "", "Burgers1D"], [11, 5, 1, "", "jacobian"], [11, 5, 1, "", "main"], [11, 5, 1, "", "residual_burgers"], [11, 5, 1, "", "solver"]], "lasdi.physics.burgers1d.Burgers1D": [[11, 2, 1, "", "a_idx"], [11, 2, 1, "", "convergence_threshold"], [11, 2, 1, "", "dim"], [11, 2, 1, "", "dt"], [11, 2, 1, "", "dx"], [11, 4, 1, "", "export"], [11, 2, 1, "", "grid_size"], [11, 4, 1, "", "initial_condition"], [11, 2, 1, "", "maxk"], [11, 2, 1, "", "nt"], [11, 2, 1, "", "offline"], [11, 2, 1, "", "qdim"], [11, 2, 1, "", "qgrid_size"], [11, 4, 1, "", "residual"], [11, 4, 1, "", "solve"], [11, 2, 1, "", "t_grid"], [11, 2, 1, "", "tmax"], [11, 2, 1, "", "w_idx"], [11, 2, 1, "", "x_grid"], [11, 2, 1, "", "xmax"], [11, 2, 1, "", "xmin"]], "lasdi.postprocess": [[13, 5, 1, "", "compute_errors"], [13, 5, 1, "", "heatmap2d"], [13, 5, 1, "", "plot_gp2d"], [13, 5, 1, "", "plot_prediction"]], "lasdi.timing": [[14, 1, 1, "", "Timer"]], "lasdi.timing.Timer": [[14, 2, 1, "", "calls"], [14, 4, 1, "", "end"], [14, 4, 1, "", "export"], [14, 4, 1, "", "load"], [14, 2, 1, "", "names"], [14, 4, 1, "", "print"], [14, 4, 1, "", "start"], [14, 2, 1, "", "starts"], [14, 2, 1, "", "times"]], "lasdi.workflow": [[15, 5, 1, "", "collect_samples"], [15, 5, 1, "", "initialize_latent_space"], [15, 5, 1, "", "initialize_physics"], [15, 5, 1, "", "initialize_trainer"], [15, 3, 1, "", "latent_dict"], [15, 3, 1, "", "ld_dict"], [15, 5, 1, "", "main"], [15, 3, 1, "", "parser"], [15, 3, 1, "", "physics_dict"], [15, 5, 1, "", "pick_samples"], [15, 5, 1, "", "run_samples"], [15, 5, 1, "", "step"], [15, 3, 1, "", "trainer_dict"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:data", "4": "py:method", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "data", "Python data"], "4": ["py", "method", "Python method"], "5": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "refer": [0, 16], "lasdi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "enum": 1, "class": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 14], "modul": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15], "content": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "fd": 2, "attribut": [2, 6, 9, 10, 15], "gp": 3, "function": [3, 4, 6, 9, 10, 11, 13, 15], "gplasdi": 4, "submodul": [5, 7, 12], "input": 6, "latent_dynam": [7, 8], "packag": [7, 12], "sindi": 8, "latent_spac": 9, "param": 10, "physic": [11, 12], "burgers1d": 11, "postprocess": 13, "time": 14, "workflow": 15, "document": 16}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"API Reference": [[0, "api-reference"]], "lasdi.enums": [[1, "module-lasdi.enums"]], "Classes": [[1, "classes"], [2, "classes"], [4, "classes"], [6, "classes"], [7, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [14, "classes"]], "Module Contents": [[1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"]], "lasdi.fd": [[2, "module-lasdi.fd"]], "Attributes": [[2, "attributes"], [6, "attributes"], [9, "attributes"], [10, "attributes"], [15, "attributes"]], "lasdi.gp": [[3, "module-lasdi.gp"]], "Functions": [[3, "functions"], [4, "functions"], [6, "functions"], [9, "functions"], [10, "functions"], [11, "functions"], [13, "functions"], [15, "functions"]], "lasdi.gplasdi": [[4, "module-lasdi.gplasdi"]], "lasdi": [[5, "module-lasdi"]], "Submodules": [[5, "submodules"], [7, "submodules"], [12, "submodules"]], "lasdi.inputs": [[6, "module-lasdi.inputs"]], "lasdi.latent_dynamics": [[7, "module-lasdi.latent_dynamics"]], "Package Contents": [[7, "package-contents"], [12, "package-contents"]], "lasdi.latent_dynamics.sindy": [[8, "module-lasdi.latent_dynamics.sindy"]], "lasdi.latent_space": [[9, "module-lasdi.latent_space"]], "lasdi.param": [[10, "module-lasdi.param"]], "lasdi.physics.burgers1d": [[11, "module-lasdi.physics.burgers1d"]], "lasdi.physics": [[12, "module-lasdi.physics"]], "lasdi.postprocess": [[13, "module-lasdi.postprocess"]], "lasdi.timing": [[14, "module-lasdi.timing"]], "lasdi.workflow": [[15, "module-lasdi.workflow"]], "LaSDI documentation": [[16, "lasdi-documentation"]], "Contents:": [[16, null]], "References": [[16, "references"]]}, "indexentries": {"collectsample (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.CollectSample"]], "complete (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Complete"]], "fail (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Fail"]], "nextstep (class in lasdi.enums)": [[1, "lasdi.enums.NextStep"]], "picksample (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.PickSample"]], "result (class in lasdi.enums)": [[1, "lasdi.enums.Result"]], "runsample (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.RunSample"]], "success (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Success"]], "train (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.Train"]], "unexecuted (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Unexecuted"]], "lasdi.enums": [[1, "module-lasdi.enums"]], "module": [[1, "module-lasdi.enums"], [2, "module-lasdi.fd"], [3, "module-lasdi.gp"], [4, "module-lasdi.gplasdi"], [5, "module-lasdi"], [6, "module-lasdi.inputs"], [7, "module-lasdi.latent_dynamics"], [8, "module-lasdi.latent_dynamics.sindy"], [9, "module-lasdi.latent_space"], [10, "module-lasdi.param"], [11, "module-lasdi.physics.burgers1d"], [12, "module-lasdi.physics"], [13, "module-lasdi.postprocess"], [14, "module-lasdi.timing"], [15, "module-lasdi.workflow"]], "fddict (in module lasdi.fd)": [[2, "lasdi.fd.FDdict"]], "sbp12 (class in lasdi.fd)": [[2, "lasdi.fd.SBP12"]], "sbp24 (class in lasdi.fd)": [[2, "lasdi.fd.SBP24"]], "sbp36 (class in lasdi.fd)": [[2, "lasdi.fd.SBP36"]], "sbp48 (class in lasdi.fd)": [[2, "lasdi.fd.SBP48"]], "stencil (class in lasdi.fd)": [[2, "lasdi.fd.Stencil"]], "convert() (lasdi.fd.stencil method)": [[2, "lasdi.fd.Stencil.convert"]], "getoperators() (lasdi.fd.stencil method)": [[2, "lasdi.fd.Stencil.getOperators"]], "interiorindexes (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.interiorIndexes"]], "interiorindexes (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.interiorIndexes"]], "interiorindexes (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.interiorIndexes"]], "interiorindexes (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.interiorIndexes"]], "interiorindexes (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.interiorIndexes"]], "interiorstencils (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.interiorStencils"]], "interiorstencils (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.interiorStencils"]], "interiorstencils (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.interiorStencils"]], "interiorstencils (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.interiorStencils"]], "interiorstencils (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.interiorStencils"]], "lasdi.fd": [[2, "module-lasdi.fd"]], "leftbdrdepth (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrDepth"]], "leftbdrnorm (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrNorm"]], "leftbdrstencils (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrStencils"]], "leftbdrwidth (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrWidth"]], "eval_gp() (in module lasdi.gp)": [[3, "lasdi.gp.eval_gp"]], "fit_gps() (in module lasdi.gp)": [[3, "lasdi.gp.fit_gps"]], "lasdi.gp": [[3, "module-lasdi.gp"]], "sample_coefs() (in module lasdi.gp)": [[3, "lasdi.gp.sample_coefs"]], "bayesianglasdi (class in lasdi.gplasdi)": [[4, "lasdi.gplasdi.BayesianGLaSDI"]], "mse (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.MSE"]], "x_test (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.X_test"]], "x_train (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.X_train"]], "autoencoder (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.autoencoder"]], "average_rom() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.average_rom"]], "best_coefs (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.best_coefs"]], "best_loss (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.best_loss"]], "coef_weight (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.coef_weight"]], "export() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.export"]], "get_fom_max_std() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.get_fom_max_std"]], "get_new_sample_point() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.get_new_sample_point"]], "lasdi.gplasdi": [[4, "module-lasdi.gplasdi"]], "latent_dynamics (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.latent_dynamics"]], "ld_weight (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.ld_weight"]], "load() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.load"]], "lr (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.lr"]], "max_greedy_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.max_greedy_iter"]], "max_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.max_iter"]], "n_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.n_iter"]], "n_samples (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.n_samples"]], "optimizer (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.optimizer"]], "optimizer_to() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.optimizer_to"]], "param_space (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.param_space"]], "path_checkpoint (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.path_checkpoint"]], "path_results (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.path_results"]], "physics (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.physics"]], "restart_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.restart_iter"]], "sample_roms() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.sample_roms"]], "timer (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.timer"]], "train() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.train"]], "lasdi": [[5, "module-lasdi"]], "inputparser (class in lasdi.inputs)": [[6, "lasdi.inputs.InputParser"]], "dict_ (lasdi.inputs.inputparser attribute)": [[6, "lasdi.inputs.InputParser.dict_"]], "getdictfromlist() (in module lasdi.inputs)": [[6, "lasdi.inputs.getDictFromList"]], "getinput() (lasdi.inputs.inputparser method)": [[6, "lasdi.inputs.InputParser.getInput"]], "lasdi.inputs": [[6, "module-lasdi.inputs"]], "name (lasdi.inputs.inputparser attribute)": [[6, "lasdi.inputs.InputParser.name"]], "verbose (in module lasdi.inputs)": [[6, "lasdi.inputs.verbose"]], "latentdynamics (class in lasdi.latent_dynamics)": [[7, "lasdi.latent_dynamics.LatentDynamics"]], "calibrate() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.calibrate"]], "coefs (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.coefs"]], "dim (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.dim"]], "export() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.export"]], "lasdi.latent_dynamics": [[7, "module-lasdi.latent_dynamics"]], "load() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.load"]], "ncoefs (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.ncoefs"]], "nt (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.nt"]], "sample() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.sample"]], "simulate() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.simulate"]], "mse (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.MSE"]], "sindy (class in lasdi.latent_dynamics.sindy)": [[8, "lasdi.latent_dynamics.sindy.SINDy"]], "calibrate() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.calibrate"]], "coef_norm_order (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.coef_norm_order"]], "compute_time_derivative() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.compute_time_derivative"]], "export() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.export"]], "fd (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.fd"]], "fd_oper (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.fd_oper"]], "fd_type (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.fd_type"]], "lasdi.latent_dynamics.sindy": [[8, "module-lasdi.latent_dynamics.sindy"]], "ncoefs (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.ncoefs"]], "simulate() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.simulate"]], "autoencoder (class in lasdi.latent_space)": [[9, "lasdi.latent_space.Autoencoder"]], "multilayerperceptron (class in lasdi.latent_space)": [[9, "lasdi.latent_space.MultiLayerPerceptron"]], "act_dict (in module lasdi.latent_space)": [[9, "lasdi.latent_space.act_dict"]], "act_type (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.act_type"]], "apply_attention() (lasdi.latent_space.multilayerperceptron method)": [[9, "lasdi.latent_space.MultiLayerPerceptron.apply_attention"]], "decoder (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.decoder"]], "encoder (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.encoder"]], "export() (lasdi.latent_space.autoencoder method)": [[9, "lasdi.latent_space.Autoencoder.export"]], "fcs (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.fcs"]], "forward() (lasdi.latent_space.autoencoder method)": [[9, "lasdi.latent_space.Autoencoder.forward"]], "forward() (lasdi.latent_space.multilayerperceptron method)": [[9, "lasdi.latent_space.MultiLayerPerceptron.forward"]], "init_weight() (lasdi.latent_space.multilayerperceptron method)": [[9, "lasdi.latent_space.MultiLayerPerceptron.init_weight"]], "initial_condition_latent() (in module lasdi.latent_space)": [[9, "lasdi.latent_space.initial_condition_latent"]], "lasdi.latent_space": [[9, "module-lasdi.latent_space"]], "layer_sizes (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.layer_sizes"]], "load() (lasdi.latent_space.autoencoder method)": [[9, "lasdi.latent_space.Autoencoder.load"]], "n_layers (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.n_layers"]], "n_z (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.n_z"]], "qgrid_size (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.qgrid_size"]], "reshape_index (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.reshape_index"]], "reshape_shape (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.reshape_shape"]], "space_dim (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.space_dim"]], "use_multihead (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.use_multihead"]], "parameterspace (class in lasdi.param)": [[10, "lasdi.param.ParameterSpace"]], "appendtrainspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.appendTrainSpace"]], "createhypergridspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createHyperGridSpace"]], "createhypermeshgrid() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createHyperMeshGrid"]], "createinitialtrainspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createInitialTrainSpace"]], "createtestgridspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createTestGridSpace"]], "create_uniform_1dspace() (in module lasdi.param)": [[10, "lasdi.param.create_uniform_1dspace"]], "export() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.export"]], "getparam1dspace (in module lasdi.param)": [[10, "lasdi.param.getParam1DSpace"]], "getparameter() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.getParameter"]], "get_1dspace_from_list() (in module lasdi.param)": [[10, "lasdi.param.get_1dspace_from_list"]], "lasdi.param": [[10, "module-lasdi.param"]], "load() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.load"]], "n_init (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.n_init"]], "n_param (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.n_param"]], "n_test() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.n_test"]], "n_train() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.n_train"]], "param_list (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.param_list"]], "param_name (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.param_name"]], "test_grid_sizes (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.test_grid_sizes"]], "test_meshgrid (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.test_meshgrid"]], "test_space (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.test_space"]], "train_space (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.train_space"]], "burgers1d (class in lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.Burgers1D"]], "a_idx (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.a_idx"]], "convergence_threshold (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.convergence_threshold"]], "dim (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.dim"]], "dt (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.dt"]], "dx (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.dx"]], "export() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.export"]], "grid_size (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.grid_size"]], "initial_condition() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.initial_condition"]], "jacobian() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.jacobian"]], "lasdi.physics.burgers1d": [[11, "module-lasdi.physics.burgers1d"]], "main() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.main"]], "maxk (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.maxk"]], "nt (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.nt"]], "offline (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.offline"]], "qdim (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.qdim"]], "qgrid_size (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.qgrid_size"]], "residual() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.residual"]], "residual_burgers() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.residual_burgers"]], "solve() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.solve"]], "solver() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.solver"]], "t_grid (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.t_grid"]], "tmax (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.tmax"]], "w_idx (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.w_idx"]], "x_grid (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.x_grid"]], "xmax (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.xmax"]], "xmin (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.xmin"]], "offlinefom (class in lasdi.physics)": [[12, "lasdi.physics.OfflineFOM"]], "physics (class in lasdi.physics)": [[12, "lasdi.physics.Physics"]], "dim (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.dim"]], "dim (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.dim"]], "dt (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.dt"]], "dt (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.dt"]], "export() (lasdi.physics.offlinefom method)": [[12, "lasdi.physics.OfflineFOM.export"]], "export() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.export"]], "generate_solutions() (lasdi.physics.offlinefom method)": [[12, "lasdi.physics.OfflineFOM.generate_solutions"]], "generate_solutions() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.generate_solutions"]], "grid_size (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.grid_size"]], "grid_size (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.grid_size"]], "initial_condition() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.initial_condition"]], "lasdi.physics": [[12, "module-lasdi.physics"]], "nt (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.nt"]], "nt (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.nt"]], "offline (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.offline"]], "offline (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.offline"]], "param_name (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.param_name"]], "qdim (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.qdim"]], "qdim (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.qdim"]], "qgrid_size (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.qgrid_size"]], "qgrid_size (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.qgrid_size"]], "residual() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.residual"]], "solve() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.solve"]], "t_grid (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.t_grid"]], "t_grid (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.t_grid"]], "x_grid (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.x_grid"]], "x_grid (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.x_grid"]], "compute_errors() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.compute_errors"]], "heatmap2d() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.heatmap2d"]], "lasdi.postprocess": [[13, "module-lasdi.postprocess"]], "plot_gp2d() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.plot_gp2d"]], "plot_prediction() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.plot_prediction"]], "timer (class in lasdi.timing)": [[14, "lasdi.timing.Timer"]], "calls (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.calls"]], "end() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.end"]], "export() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.export"]], "lasdi.timing": [[14, "module-lasdi.timing"]], "load() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.load"]], "names (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.names"]], "print() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.print"]], "start() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.start"]], "starts (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.starts"]], "times (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.times"]], "collect_samples() (in module lasdi.workflow)": [[15, "lasdi.workflow.collect_samples"]], "initialize_latent_space() (in module lasdi.workflow)": [[15, "lasdi.workflow.initialize_latent_space"]], "initialize_physics() (in module lasdi.workflow)": [[15, "lasdi.workflow.initialize_physics"]], "initialize_trainer() (in module lasdi.workflow)": [[15, "lasdi.workflow.initialize_trainer"]], "lasdi.workflow": [[15, "module-lasdi.workflow"]], "latent_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.latent_dict"]], "ld_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.ld_dict"]], "main() (in module lasdi.workflow)": [[15, "lasdi.workflow.main"]], "parser (in module lasdi.workflow)": [[15, "lasdi.workflow.parser"]], "physics_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.physics_dict"]], "pick_samples() (in module lasdi.workflow)": [[15, "lasdi.workflow.pick_samples"]], "run_samples() (in module lasdi.workflow)": [[15, "lasdi.workflow.run_samples"]], "step() (in module lasdi.workflow)": [[15, "lasdi.workflow.step"]], "trainer_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.trainer_dict"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["autoapi/index", "autoapi/lasdi/enums/index", "autoapi/lasdi/fd/index", "autoapi/lasdi/gp/index", "autoapi/lasdi/gplasdi/index", "autoapi/lasdi/index", "autoapi/lasdi/inputs/index", "autoapi/lasdi/latent_dynamics/index", "autoapi/lasdi/latent_dynamics/sindy/index", "autoapi/lasdi/latent_space/index", "autoapi/lasdi/param/index", "autoapi/lasdi/physics/burgers1d/index", "autoapi/lasdi/physics/index", "autoapi/lasdi/postprocess/index", "autoapi/lasdi/timing/index", "autoapi/lasdi/workflow/index", "index"], "filenames": ["autoapi/index.rst", "autoapi/lasdi/enums/index.rst", "autoapi/lasdi/fd/index.rst", "autoapi/lasdi/gp/index.rst", "autoapi/lasdi/gplasdi/index.rst", "autoapi/lasdi/index.rst", "autoapi/lasdi/inputs/index.rst", "autoapi/lasdi/latent_dynamics/index.rst", "autoapi/lasdi/latent_dynamics/sindy/index.rst", "autoapi/lasdi/latent_space/index.rst", "autoapi/lasdi/param/index.rst", "autoapi/lasdi/physics/burgers1d/index.rst", "autoapi/lasdi/physics/index.rst", "autoapi/lasdi/postprocess/index.rst", "autoapi/lasdi/timing/index.rst", "autoapi/lasdi/workflow/index.rst", "index.rst"], "titles": ["API Reference", "lasdi.enums", "lasdi.fd", "lasdi.gp", "lasdi.gplasdi", "lasdi", "lasdi.inputs", "lasdi.latent_dynamics", "lasdi.latent_dynamics.sindy", "lasdi.latent_space", "lasdi.param", "lasdi.physics.burgers1d", "lasdi.physics", "lasdi.postprocess", "lasdi.timing", "lasdi.workflow", "LaSDI documentation"], "terms": {"thi": [0, 1, 3, 6, 9, 10, 14], "page": 0, "contain": [0, 14], "auto": 0, "gener": [0, 1, 3, 10, 11, 12], "document": 0, "1": [0, 1, 2, 6, 9, 10, 11, 12, 13], "lasdi": 0, "enum": [0, 5], "fd": [0, 5, 8], "gp": [0, 5], "gplasdi": [0, 5, 15, 16], "input": [0, 3, 5], "latent_dynam": [0, 4, 5], "sindi": [0, 3, 7, 13], "latent_spac": [0, 5], "param": [0, 3, 5, 11, 12, 13], "physic": [0, 4, 5, 9, 10, 13, 15, 16], "burgers1d": [0, 12, 15], "postprocess": [0, 5], "time": [0, 5, 7, 8], "workflow": [0, 5], "creat": 0, "sphinx": 0, "autoapi": 0, "nextstep": 1, "base": [1, 2, 8, 9, 11, 12, 16], "enumer": 1, "deriv": [1, 8], "from": [1, 3, 6, 9, 10, 11, 14], "defin": [1, 9], "new": [1, 10], "train": [1, 3, 4, 8, 10], "picksampl": 1, "2": [1, 2, 10, 11, 12], "runsampl": 1, "3": [1, 2, 8, 11, 12], "collectsampl": 1, "4": [1, 2, 10], "result": 1, "unexecut": 1, "success": 1, "fail": 1, "complet": 1, "stencil": 2, "leftbdrdepth": 2, "0": [2, 4, 6, 9, 10, 11, 12, 13], "leftbdrwidth": 2, "leftbdrstencil": 2, "leftbdrnorm": 2, "interiorstencil": 2, "interiorindex": 2, "getoper": 2, "nx": [2, 10, 11], "period": 2, "fals": [2, 6, 7, 8, 12, 15], "convert": [2, 10], "scipy_coo": 2, "sbp12": 2, "5": [2, 13], "sbp24": 2, "6": [2, 13], "sbp36": 2, "7": 2, "8": 2, "9": 2, "sbp48": 2, "10": [2, 13], "11": 2, "12": 2, "fddict": 2, "fit_gp": 3, "x": [3, 9], "numpi": [3, 4, 7, 8, 9, 10, 11, 12], "ndarrai": [3, 9, 10], "y": 3, "list": [3, 4, 6, 9, 10, 14], "sklearn": 3, "gaussian_process": 3, "gaussianprocessregressor": 3, "each": [3, 6, 8, 9, 10, 14], "column": 3, "If": [3, 6, 14], "ha": [3, 6, 10], "shape": [3, 4, 7, 8, 9, 10, 11, 12], "n": [3, 10], "k": [3, 9, 10], "we": [3, 6, 9, 10], "regressor": [3, 4], "In": [3, 6], "case": [3, 6, 8, 10], "assum": [3, 8, 11, 12], "m": [3, 10, 16], "thu": [3, 6, 10], "i": [3, 6, 7, 8, 9, 10, 14, 15, 16], "mathbb": 3, "r": 3, "For": [3, 9], "where": [3, 6, 10], "th": [3, 9, 10], "row": 3, "compon": 3, "correspond": [3, 4, 6, 8, 10], "target": 3, "return": [3, 6, 9, 10, 14], "object": [3, 6, 9, 10], "one": [3, 6, 7, 10], "which": [3, 10], "make": 3, "predict": [3, 16], "coeffici": [3, 7], "latent": [3, 7, 9, 15, 16], "dynam": [3, 7, 9, 16], "independ": 3, "other": [3, 6], "paramet": [3, 4, 9, 10, 12, 13], "A": [3, 6, 9, 10, 14, 16], "2d": [3, 4, 7, 8, 10, 11, 12], "arrai": [3, 4, 10, 11, 12], "n_train": [3, 7, 10], "n_coef": 3, "number": [3, 10, 14], "exampl": [3, 10], "whose": [3, 10], "valu": [3, 6, 9, 10, 13, 14], "ar": [3, 6, 8, 10], "element": [3, 9, 10], "eval_gp": 3, "gp_list": 3, "param_grid": [3, 4, 9], "tupl": [3, 9, 10], "comput": [3, 4, 7, 8, 11, 13, 16], "mean": 3, "standard": [3, 4], "deviat": [3, 4], "point": [3, 6, 7, 8], "space": [3, 4, 9, 10, 15, 16], "grid": [3, 4, 10], "combin": [3, 9, 10], "The": [3, 6, 8, 9, 10, 14], "j": [3, 10], "specifi": [3, 6, 10], "us": [3, 9, 10, 16], "test": [3, 10], "set": [3, 6, 7, 9, 10], "evalu": [3, 16], "respect": [3, 10], "first": 3, "variabl": [3, 10], "hold": [3, 10], "likewis": 3, "second": [3, 10], "distribut": 3, "sample_coef": 3, "n_sampl": [3, 4, 13], "int": [3, 9, 10, 14], "od": [3, 8, 16], "sampl": [3, 7, 10], "those": [3, 9], "parma": 3, "specif": [3, 6, 9, 10, 12], "draw": 3, "when": [3, 10], "e": 3, "singl": [3, 10], "get": 3, "build": [3, 8, 10], "ensembl": 3, "fom": [3, 9, 15], "n_": 3, "paper": 3, "average_rom": 4, "autoencod": [4, 9, 13, 15, 16], "gp_dictionari": 4, "sample_rom": 4, "collect": 4, "rom": [4, 16], "trajectori": 4, "gaussian": [4, 16], "process": [4, 6, 16], "size": [4, 8, 9, 10, 12, 14], "n_test": [4, 10], "integ": 4, "assert": 4, "len": [4, 10], "gp_dictionnari": [4, 13], "output": [4, 7, 8], "np": 4, "nt": [4, 7, 8, 11, 12], "n_z": [4, 9], "get_fom_max_std": 4, "zi": 4, "maximum": [4, 10, 13], "accross": 4, "find": 4, "locat": 4, "optimizer_to": 4, "optim": 4, "devic": 4, "bayesianglasdi": 4, "param_spac": 4, "config": [4, 8, 9, 10, 15], "x_train": 4, "x_test": [4, 13], "timer": [4, 14], "lr": 4, "n_iter": 4, "max_it": 4, "max_greedy_it": 4, "ld_weight": 4, "coef_weight": 4, "mse": [4, 8], "path_checkpoint": 4, "path_result": 4, "best_loss": 4, "best_coef": 4, "none": [4, 6, 8, 9, 10, 11, 12, 14, 15], "restart_it": 4, "get_new_sample_point": 4, "export": [4, 7, 8, 9, 10, 11, 12, 14], "load": [4, 7, 9, 10, 14], "dict_": [4, 6, 7, 9, 10, 14], "verbos": 6, "bool": [6, 10], "inputpars": 6, "dict": [6, 9, 10, 14], "__init__": 6, "name": [6, 10, 14], "str": [6, 9, 10, 14], "act": 6, "wrapper": 6, "around": 6, "dictionari": [6, 9, 10, 14], "kei": [6, 10, 14], "": [6, 9, 10], "becaus": 6, "mai": 6, "itself": 6, "often": 6, "group": 6, "sever": 6, "constitu": 6, "underli": 6, "structur": 6, "sequenc": 6, "nest": 6, "allow": 6, "user": 6, "select": 6, "via": [6, 16], "string": [6, 10], "desir": 6, "live": 6, "getinput": 6, "fallback": 6, "datatyp": 6, "That": [6, 10], "self": [6, 9, 10], "famili": 6, "mani": [6, 10], "particular": 6, "within": 6, "anoth": 6, "hous": [6, 9, 10], "variou": 6, "sub": 6, "function": 6, "u": [6, 11], "fetch": 6, "should": [6, 10], "so": 6, "val": 6, "more": 6, "replac": 6, "continu": 6, "until": 6, "have": [6, 10, 14], "exhaust": 6, "all": [6, 8, 14], "There": 6, "import": 6, "except": 6, "some": 6, "next": 6, "doe": [6, 14], "exist": 6, "an": [6, 10], "error": [6, 13], "sort": 6, "default": 6, "valid": 6, "requir": [6, 12], "final": [6, 9, 10], "rais": 6, "latentdynam": [7, 8], "dim_": 7, "nt_": 7, "dim": [7, 8, 11, 12], "ncoef": [7, 8], "coef": [7, 8], "calibr": [7, 8], "z": [7, 8], "dt": [7, 8, 11, 12], "compute_loss": [7, 8], "true": [7, 8, 10, 12, 13], "loss": 7, "given": [7, 8, 12], "seri": 7, "encod": [7, 8, 9], "3d": [7, 11, 12], "tensor": [7, 8, 9], "time_dim": [7, 8], "space_dim": [7, 8, 9, 11, 12], "simul": [7, 8], "z0": [7, 8], "t_grid": [7, 8, 11, 12], "integr": [7, 8], "initi": [7, 8, 9, 15], "condit": [7, 8, 9], "coefs_sampl": 7, "z0_sampl": 7, "fd_type": 8, "fd_oper": 8, "coef_norm_ord": 8, "loop": 8, "over": 8, "dimens": [8, 11, 12], "compute_time_deriv": 8, "dataset": [8, 9], "onli": [8, 10, 15], "linear": 8, "term": 8, "through": [8, 9, 16], "finit": 8, "differ": 8, "timestep": 8, "uniform": [8, 10], "scalar": 8, "dzdt": 8, "same": [8, 14], "system": [8, 16], "u0": [8, 11], "act_dict": 9, "initial_condition_lat": 9, "torch": 9, "nn": 9, "map": [9, 14, 16], "take": [9, 10], "possibl": [9, 10], "recov": 9, "ic": 9, "do": 9, "store": [9, 14], "actual": 9, "z0_i": 9, "u0_i": 9, "multilayerperceptron": 9, "layer_s": 9, "act_typ": 9, "sigmoid": 9, "reshape_index": 9, "reshape_shap": 9, "threshold": 9, "float": [9, 10, 14], "n_layer": 9, "layer": 9, "forward": 9, "pass": 9, "must": [9, 12, 14], "match": [9, 12], "its": 9, "init_weight": 9, "weight": [9, 14, 16], "matric": 9, "bia": 9, "vector": [9, 10], "qgrid_siz": [9, 11, 12], "decod": [9, 16], "extract": 9, "them": [9, 10], "state": 9, "get_1dspace_from_list": 10, "param_dict": 10, "rang": 10, "type": [10, 14], "test_space_typ": 10, "also": [10, 16], "pars": 10, "turn": 10, "create_uniform_1dspac": 10, "follow": 10, "min": 10, "max": 10, "sample_s": 10, "log_scal": 10, "minimum": 10, "logarithm": 10, "between": 10, "while": 10, "see": 10, "abov": 10, "paramrang": 10, "length": 10, "equival": 10, "getparam1dspac": 10, "callabl": 10, "parameterspac": 10, "param_list": 10, "param_nam": [10, 11, 12, 15], "n_param": 10, "train_spac": 10, "test_spac": 10, "n_init": [10, 13], "test_grid_s": 10, "test_meshgrid": 10, "createinitialtrainspac": 10, "up": 10, "note": [10, 14], "argument": 10, "createhypermeshgrid": 10, "detail": 10, "exactli": 10, "what": 10, "createhypergridspac": 10, "doc": 10, "further": 10, "createtestgridspac": 10, "consid": 10, "below": 10, "dimension": 10, "n0": 10, "ni": 10, "uniqu": 10, "third": 10, "It": [10, 16], "prod_": 10, "getparamet": 10, "param_vector": 10, "solv": [10, 11, 12, 16], "initial_condit": [10, 11, 12], "param_rang": 10, "d": [10, 16], "equal": 10, "mesh_grid": 10, "flatten": 10, "docstr": 10, "appendtrainspac": 10, "add": 10, "packag": [10, 16], "short": 10, "descript": 10, "how": 10, "distinct": 10, "wa": 10, "method": [10, 14, 16], "copi": 10, "been": 10, "cfg": [11, 12], "a_idx": 11, "w_idx": 11, "qdim": [11, 12], "offlin": [11, 12], "grid_siz": [11, 12], "nd": [11, 12], "1d": [11, 12], "higher": [11, 12], "xmin": 11, "xmax": 11, "dx": 11, "tmax": 11, "x_grid": [11, 12], "maxk": 11, "convergence_threshold": 11, "residu": [11, 12], "xhist": [11, 12], "residual_burg": 11, "un": 11, "uw": 11, "c": 11, "idxn1": 11, "burger": 11, "equat": 11, "data": 11, "http": 11, "github": 11, "com": 11, "llnl": 11, "glasdi": [11, 16], "jacobian": 11, "solver": 11, "main": [11, 15], "generate_solut": 12, "solut": [12, 16], "offlinefom": 12, "compute_error": 13, "x_pred": 13, "rel": 13, "plot_predict": 13, "scale": 13, "plot_gp2d": 13, "p1_mesh": 13, "p2_mesh": 13, "gp_mean": 13, "gp_std": 13, "param_train": 13, "param_label": 13, "p1": 13, "p2": 13, "plot_shap": 13, "figsiz": 13, "15": 13, "13": 13, "refin": 13, "cm": 13, "plt": 13, "jet": 13, "margin": 13, "05": 13, "heatmap2d": 13, "p1_grid": 13, "p2_grid": 13, "titl": 13, "light": [14, 16], "job": 14, "indic": 14, "call": 14, "total": 14, "start": 14, "run": 14, "instead": 14, "regist": 14, "arg": 14, "befor": 14, "end": 14, "increas": 14, "runtim": 14, "print": 14, "per": 14, "trainer_dict": 15, "latent_dict": 15, "ld_dict": 15, "physics_dict": 15, "parser": 15, "step": 15, "trainer": 15, "next_step": 15, "use_restart": 15, "initialize_train": 15, "restart_fil": 15, "class": 15, "model": [15, 16], "accord": [15, 16], "file": 15, "current": 15, "avail": 15, "initialize_latent_spac": 15, "ae": 15, "initialize_phys": 15, "pick_sampl": 15, "run_sampl": 15, "collect_sampl": 15, "python": 16, "identif": 16, "full": 16, "order": 16, "pde": 16, "learn": 16, "govern": 16, "By": 16, "interpol": 16, "reduc": 16, "fast": 16, "accur": 16, "can": 16, "made": 16, "feed": 16, "support": 16, "parametr": 16, "uncertainti": 16, "api": 16, "head": 16, "bonnevil": 16, "christoph": 16, "xiaolong": 16, "he": 16, "april": 16, "tran": 16, "jun": 16, "sur": 16, "park": 16, "william": 16, "fri": 16, "daniel": 16, "messeng": 16, "siu": 16, "wun": 16, "cheung": 16, "et": 16, "al": 16, "comprehens": 16, "review": 16, "algorithm": 16, "intrus": 16, "non": 16, "arxiv": 16, "preprint": 16, "2403": 16, "10748": 16, "2024": 16, "9269e9cb2d85c993efecb52c726f2f1ff657d487": 16, "youngsoo": 16, "choi": 16, "appli": 16, "mechan": 16, "engin": 16, "399": 16, "2022": 16, "115436": 16, "jonathan": 16, "l": 16, "belof": 16, "jiun": 16, "shyan": 16, "chen": 16, "inform": 16, "greedi": 16, "journal": 16, "489": 16, "2023": 16, "112267": 16, "david": 16, "bortz": 16, "weak": 16, "form": 16, "427": 16, "116998": 16, "richard": 16, "yeonjong": 16, "shin": 16, "tlasdi": 16, "thermodynam": 16, "05848": 16, "debojyoti": 16, "ghosh": 16, "interpret": 16, "deep": 16, "418": 16, "116535": 16, "activ": 16, "simultan": 16, "2407": 16, "00337": 16}, "objects": {"": [[5, 0, 0, "-", "lasdi"]], "lasdi": [[1, 0, 0, "-", "enums"], [2, 0, 0, "-", "fd"], [3, 0, 0, "-", "gp"], [4, 0, 0, "-", "gplasdi"], [6, 0, 0, "-", "inputs"], [7, 0, 0, "-", "latent_dynamics"], [9, 0, 0, "-", "latent_space"], [10, 0, 0, "-", "param"], [12, 0, 0, "-", "physics"], [13, 0, 0, "-", "postprocess"], [14, 0, 0, "-", "timing"], [15, 0, 0, "-", "workflow"]], "lasdi.enums": [[1, 1, 1, "", "NextStep"], [1, 1, 1, "", "Result"]], "lasdi.enums.NextStep": [[1, 2, 1, "", "CollectSample"], [1, 2, 1, "", "PickSample"], [1, 2, 1, "", "RunSample"], [1, 2, 1, "", "Train"]], "lasdi.enums.Result": [[1, 2, 1, "", "Complete"], [1, 2, 1, "", "Fail"], [1, 2, 1, "", "Success"], [1, 2, 1, "", "Unexecuted"]], "lasdi.fd": [[2, 3, 1, "", "FDdict"], [2, 1, 1, "", "SBP12"], [2, 1, 1, "", "SBP24"], [2, 1, 1, "", "SBP36"], [2, 1, 1, "", "SBP48"], [2, 1, 1, "", "Stencil"]], "lasdi.fd.SBP12": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.SBP24": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.SBP36": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.SBP48": [[2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.fd.Stencil": [[2, 4, 1, "", "convert"], [2, 4, 1, "", "getOperators"], [2, 2, 1, "", "interiorIndexes"], [2, 2, 1, "", "interiorStencils"], [2, 2, 1, "", "leftBdrDepth"], [2, 2, 1, "", "leftBdrNorm"], [2, 2, 1, "", "leftBdrStencils"], [2, 2, 1, "", "leftBdrWidth"]], "lasdi.gp": [[3, 5, 1, "", "eval_gp"], [3, 5, 1, "", "fit_gps"], [3, 5, 1, "", "sample_coefs"]], "lasdi.gplasdi": [[4, 1, 1, "", "BayesianGLaSDI"], [4, 5, 1, "", "average_rom"], [4, 5, 1, "", "get_fom_max_std"], [4, 5, 1, "", "optimizer_to"], [4, 5, 1, "", "sample_roms"]], "lasdi.gplasdi.BayesianGLaSDI": [[4, 2, 1, "", "MSE"], [4, 2, 1, "", "X_test"], [4, 2, 1, "", "X_train"], [4, 2, 1, "", "autoencoder"], [4, 2, 1, "", "best_coefs"], [4, 2, 1, "", "best_loss"], [4, 2, 1, "", "coef_weight"], [4, 4, 1, "", "export"], [4, 4, 1, "", "get_new_sample_point"], [4, 2, 1, "", "latent_dynamics"], [4, 2, 1, "", "ld_weight"], [4, 4, 1, "", "load"], [4, 2, 1, "", "lr"], [4, 2, 1, "", "max_greedy_iter"], [4, 2, 1, "", "max_iter"], [4, 2, 1, "", "n_iter"], [4, 2, 1, "", "n_samples"], [4, 2, 1, "", "optimizer"], [4, 2, 1, "", "param_space"], [4, 2, 1, "", "path_checkpoint"], [4, 2, 1, "", "path_results"], [4, 2, 1, "", "physics"], [4, 2, 1, "", "restart_iter"], [4, 2, 1, "", "timer"], [4, 4, 1, "", "train"]], "lasdi.inputs": [[6, 1, 1, "", "InputParser"], [6, 3, 1, "", "verbose"]], "lasdi.inputs.InputParser": [[6, 2, 1, "", "dict_"], [6, 4, 1, "", "getInput"], [6, 2, 1, "", "name"]], "lasdi.latent_dynamics": [[7, 1, 1, "", "LatentDynamics"], [8, 0, 0, "-", "sindy"]], "lasdi.latent_dynamics.LatentDynamics": [[7, 4, 1, "", "calibrate"], [7, 2, 1, "", "coefs"], [7, 2, 1, "", "dim"], [7, 4, 1, "", "export"], [7, 4, 1, "", "load"], [7, 2, 1, "", "ncoefs"], [7, 2, 1, "", "nt"], [7, 4, 1, "", "sample"], [7, 4, 1, "", "simulate"]], "lasdi.latent_dynamics.sindy": [[8, 1, 1, "", "SINDy"]], "lasdi.latent_dynamics.sindy.SINDy": [[8, 2, 1, "", "MSE"], [8, 4, 1, "", "calibrate"], [8, 2, 1, "", "coef_norm_order"], [8, 4, 1, "", "compute_time_derivative"], [8, 4, 1, "", "export"], [8, 2, 1, "", "fd"], [8, 2, 1, "", "fd_oper"], [8, 2, 1, "", "fd_type"], [8, 2, 1, "", "ncoefs"], [8, 4, 1, "", "simulate"]], "lasdi.latent_space": [[9, 1, 1, "", "Autoencoder"], [9, 1, 1, "", "MultiLayerPerceptron"], [9, 3, 1, "", "act_dict"], [9, 5, 1, "", "initial_condition_latent"]], "lasdi.latent_space.Autoencoder": [[9, 2, 1, "", "decoder"], [9, 2, 1, "", "encoder"], [9, 4, 1, "", "export"], [9, 4, 1, "", "forward"], [9, 4, 1, "", "load"], [9, 2, 1, "", "n_z"], [9, 2, 1, "", "qgrid_size"], [9, 2, 1, "", "space_dim"]], "lasdi.latent_space.MultiLayerPerceptron": [[9, 2, 1, "", "act_type"], [9, 4, 1, "", "forward"], [9, 4, 1, "", "init_weight"], [9, 2, 1, "", "layer_sizes"], [9, 2, 1, "", "layers"], [9, 2, 1, "", "n_layers"], [9, 2, 1, "", "reshape_index"], [9, 2, 1, "", "reshape_shape"]], "lasdi.param": [[10, 1, 1, "", "ParameterSpace"], [10, 5, 1, "", "create_uniform_1dspace"], [10, 3, 1, "", "getParam1DSpace"], [10, 5, 1, "", "get_1dspace_from_list"]], "lasdi.param.ParameterSpace": [[10, 4, 1, "", "appendTrainSpace"], [10, 4, 1, "", "createHyperGridSpace"], [10, 4, 1, "", "createHyperMeshGrid"], [10, 4, 1, "", "createInitialTrainSpace"], [10, 4, 1, "", "createTestGridSpace"], [10, 4, 1, "", "export"], [10, 4, 1, "", "getParameter"], [10, 4, 1, "", "load"], [10, 2, 1, "", "n_init"], [10, 2, 1, "", "n_param"], [10, 4, 1, "", "n_test"], [10, 4, 1, "", "n_train"], [10, 2, 1, "", "param_list"], [10, 2, 1, "", "param_name"], [10, 2, 1, "", "test_grid_sizes"], [10, 2, 1, "", "test_meshgrid"], [10, 2, 1, "", "test_space"], [10, 2, 1, "", "train_space"]], "lasdi.physics": [[12, 1, 1, "", "OfflineFOM"], [12, 1, 1, "", "Physics"], [11, 0, 0, "-", "burgers1d"]], "lasdi.physics.OfflineFOM": [[12, 2, 1, "", "dim"], [12, 2, 1, "", "dt"], [12, 4, 1, "", "export"], [12, 4, 1, "", "generate_solutions"], [12, 2, 1, "", "grid_size"], [12, 2, 1, "", "nt"], [12, 2, 1, "", "offline"], [12, 2, 1, "", "qdim"], [12, 2, 1, "", "qgrid_size"], [12, 2, 1, "", "t_grid"], [12, 2, 1, "", "x_grid"]], "lasdi.physics.Physics": [[12, 2, 1, "", "dim"], [12, 2, 1, "", "dt"], [12, 4, 1, "", "export"], [12, 4, 1, "", "generate_solutions"], [12, 2, 1, "", "grid_size"], [12, 4, 1, "", "initial_condition"], [12, 2, 1, "", "nt"], [12, 2, 1, "", "offline"], [12, 2, 1, "", "param_name"], [12, 2, 1, "", "qdim"], [12, 2, 1, "", "qgrid_size"], [12, 4, 1, "", "residual"], [12, 4, 1, "", "solve"], [12, 2, 1, "", "t_grid"], [12, 2, 1, "", "x_grid"]], "lasdi.physics.burgers1d": [[11, 1, 1, "", "Burgers1D"], [11, 5, 1, "", "jacobian"], [11, 5, 1, "", "main"], [11, 5, 1, "", "residual_burgers"], [11, 5, 1, "", "solver"]], "lasdi.physics.burgers1d.Burgers1D": [[11, 2, 1, "", "a_idx"], [11, 2, 1, "", "convergence_threshold"], [11, 2, 1, "", "dim"], [11, 2, 1, "", "dt"], [11, 2, 1, "", "dx"], [11, 4, 1, "", "export"], [11, 2, 1, "", "grid_size"], [11, 4, 1, "", "initial_condition"], [11, 2, 1, "", "maxk"], [11, 2, 1, "", "nt"], [11, 2, 1, "", "offline"], [11, 2, 1, "", "qdim"], [11, 2, 1, "", "qgrid_size"], [11, 4, 1, "", "residual"], [11, 4, 1, "", "solve"], [11, 2, 1, "", "t_grid"], [11, 2, 1, "", "tmax"], [11, 2, 1, "", "w_idx"], [11, 2, 1, "", "x_grid"], [11, 2, 1, "", "xmax"], [11, 2, 1, "", "xmin"]], "lasdi.postprocess": [[13, 5, 1, "", "compute_errors"], [13, 5, 1, "", "heatmap2d"], [13, 5, 1, "", "plot_gp2d"], [13, 5, 1, "", "plot_prediction"]], "lasdi.timing": [[14, 1, 1, "", "Timer"]], "lasdi.timing.Timer": [[14, 2, 1, "", "calls"], [14, 4, 1, "", "end"], [14, 4, 1, "", "export"], [14, 4, 1, "", "load"], [14, 2, 1, "", "names"], [14, 4, 1, "", "print"], [14, 4, 1, "", "start"], [14, 2, 1, "", "starts"], [14, 2, 1, "", "times"]], "lasdi.workflow": [[15, 5, 1, "", "collect_samples"], [15, 5, 1, "", "initialize_latent_space"], [15, 5, 1, "", "initialize_physics"], [15, 5, 1, "", "initialize_trainer"], [15, 3, 1, "", "latent_dict"], [15, 3, 1, "", "ld_dict"], [15, 5, 1, "", "main"], [15, 3, 1, "", "parser"], [15, 3, 1, "", "physics_dict"], [15, 5, 1, "", "pick_samples"], [15, 5, 1, "", "run_samples"], [15, 5, 1, "", "step"], [15, 3, 1, "", "trainer_dict"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:data", "4": "py:method", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "data", "Python data"], "4": ["py", "method", "Python method"], "5": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "refer": [0, 16], "lasdi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "enum": 1, "class": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 14], "modul": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15], "content": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "fd": 2, "attribut": [2, 6, 9, 10, 15], "gp": 3, "function": [3, 4, 9, 10, 11, 13, 15], "gplasdi": 4, "submodul": [5, 7, 12], "input": 6, "latent_dynam": [7, 8], "packag": [7, 12], "sindi": 8, "latent_spac": 9, "param": 10, "physic": [11, 12], "burgers1d": 11, "postprocess": 13, "time": 14, "workflow": 15, "document": 16}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"API Reference": [[0, "api-reference"]], "lasdi.enums": [[1, "module-lasdi.enums"]], "Classes": [[1, "classes"], [2, "classes"], [4, "classes"], [6, "classes"], [7, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [14, "classes"]], "Module Contents": [[1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"]], "lasdi.fd": [[2, "module-lasdi.fd"]], "Attributes": [[2, "attributes"], [6, "attributes"], [9, "attributes"], [10, "attributes"], [15, "attributes"]], "lasdi.gp": [[3, "module-lasdi.gp"]], "Functions": [[3, "functions"], [4, "functions"], [9, "functions"], [10, "functions"], [11, "functions"], [13, "functions"], [15, "functions"]], "lasdi.gplasdi": [[4, "module-lasdi.gplasdi"]], "lasdi": [[5, "module-lasdi"]], "Submodules": [[5, "submodules"], [7, "submodules"], [12, "submodules"]], "lasdi.inputs": [[6, "module-lasdi.inputs"]], "lasdi.latent_dynamics": [[7, "module-lasdi.latent_dynamics"]], "Package Contents": [[7, "package-contents"], [12, "package-contents"]], "lasdi.latent_dynamics.sindy": [[8, "module-lasdi.latent_dynamics.sindy"]], "lasdi.latent_space": [[9, "module-lasdi.latent_space"]], "lasdi.param": [[10, "module-lasdi.param"]], "lasdi.physics.burgers1d": [[11, "module-lasdi.physics.burgers1d"]], "lasdi.physics": [[12, "module-lasdi.physics"]], "lasdi.postprocess": [[13, "module-lasdi.postprocess"]], "lasdi.timing": [[14, "module-lasdi.timing"]], "lasdi.workflow": [[15, "module-lasdi.workflow"]], "LaSDI documentation": [[16, "lasdi-documentation"]], "Contents:": [[16, null]], "References": [[16, "references"]]}, "indexentries": {"collectsample (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.CollectSample"]], "complete (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Complete"]], "fail (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Fail"]], "nextstep (class in lasdi.enums)": [[1, "lasdi.enums.NextStep"]], "picksample (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.PickSample"]], "result (class in lasdi.enums)": [[1, "lasdi.enums.Result"]], "runsample (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.RunSample"]], "success (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Success"]], "train (lasdi.enums.nextstep attribute)": [[1, "lasdi.enums.NextStep.Train"]], "unexecuted (lasdi.enums.result attribute)": [[1, "lasdi.enums.Result.Unexecuted"]], "lasdi.enums": [[1, "module-lasdi.enums"]], "module": [[1, "module-lasdi.enums"], [2, "module-lasdi.fd"], [3, "module-lasdi.gp"], [4, "module-lasdi.gplasdi"], [5, "module-lasdi"], [6, "module-lasdi.inputs"], [7, "module-lasdi.latent_dynamics"], [8, "module-lasdi.latent_dynamics.sindy"], [9, "module-lasdi.latent_space"], [10, "module-lasdi.param"], [11, "module-lasdi.physics.burgers1d"], [12, "module-lasdi.physics"], [13, "module-lasdi.postprocess"], [14, "module-lasdi.timing"], [15, "module-lasdi.workflow"]], "fddict (in module lasdi.fd)": [[2, "lasdi.fd.FDdict"]], "sbp12 (class in lasdi.fd)": [[2, "lasdi.fd.SBP12"]], "sbp24 (class in lasdi.fd)": [[2, "lasdi.fd.SBP24"]], "sbp36 (class in lasdi.fd)": [[2, "lasdi.fd.SBP36"]], "sbp48 (class in lasdi.fd)": [[2, "lasdi.fd.SBP48"]], "stencil (class in lasdi.fd)": [[2, "lasdi.fd.Stencil"]], "convert() (lasdi.fd.stencil method)": [[2, "lasdi.fd.Stencil.convert"]], "getoperators() (lasdi.fd.stencil method)": [[2, "lasdi.fd.Stencil.getOperators"]], "interiorindexes (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.interiorIndexes"]], "interiorindexes (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.interiorIndexes"]], "interiorindexes (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.interiorIndexes"]], "interiorindexes (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.interiorIndexes"]], "interiorindexes (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.interiorIndexes"]], "interiorstencils (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.interiorStencils"]], "interiorstencils (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.interiorStencils"]], "interiorstencils (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.interiorStencils"]], "interiorstencils (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.interiorStencils"]], "interiorstencils (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.interiorStencils"]], "lasdi.fd": [[2, "module-lasdi.fd"]], "leftbdrdepth (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrDepth"]], "leftbdrdepth (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrDepth"]], "leftbdrnorm (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrNorm"]], "leftbdrnorm (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrNorm"]], "leftbdrstencils (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrStencils"]], "leftbdrstencils (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrStencils"]], "leftbdrwidth (lasdi.fd.sbp12 attribute)": [[2, "lasdi.fd.SBP12.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.sbp24 attribute)": [[2, "lasdi.fd.SBP24.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.sbp36 attribute)": [[2, "lasdi.fd.SBP36.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.sbp48 attribute)": [[2, "lasdi.fd.SBP48.leftBdrWidth"]], "leftbdrwidth (lasdi.fd.stencil attribute)": [[2, "lasdi.fd.Stencil.leftBdrWidth"]], "eval_gp() (in module lasdi.gp)": [[3, "lasdi.gp.eval_gp"]], "fit_gps() (in module lasdi.gp)": [[3, "lasdi.gp.fit_gps"]], "lasdi.gp": [[3, "module-lasdi.gp"]], "sample_coefs() (in module lasdi.gp)": [[3, "lasdi.gp.sample_coefs"]], "bayesianglasdi (class in lasdi.gplasdi)": [[4, "lasdi.gplasdi.BayesianGLaSDI"]], "mse (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.MSE"]], "x_test (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.X_test"]], "x_train (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.X_train"]], "autoencoder (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.autoencoder"]], "average_rom() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.average_rom"]], "best_coefs (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.best_coefs"]], "best_loss (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.best_loss"]], "coef_weight (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.coef_weight"]], "export() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.export"]], "get_fom_max_std() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.get_fom_max_std"]], "get_new_sample_point() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.get_new_sample_point"]], "lasdi.gplasdi": [[4, "module-lasdi.gplasdi"]], "latent_dynamics (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.latent_dynamics"]], "ld_weight (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.ld_weight"]], "load() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.load"]], "lr (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.lr"]], "max_greedy_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.max_greedy_iter"]], "max_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.max_iter"]], "n_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.n_iter"]], "n_samples (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.n_samples"]], "optimizer (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.optimizer"]], "optimizer_to() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.optimizer_to"]], "param_space (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.param_space"]], "path_checkpoint (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.path_checkpoint"]], "path_results (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.path_results"]], "physics (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.physics"]], "restart_iter (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.restart_iter"]], "sample_roms() (in module lasdi.gplasdi)": [[4, "lasdi.gplasdi.sample_roms"]], "timer (lasdi.gplasdi.bayesianglasdi attribute)": [[4, "lasdi.gplasdi.BayesianGLaSDI.timer"]], "train() (lasdi.gplasdi.bayesianglasdi method)": [[4, "lasdi.gplasdi.BayesianGLaSDI.train"]], "lasdi": [[5, "module-lasdi"]], "inputparser (class in lasdi.inputs)": [[6, "lasdi.inputs.InputParser"]], "dict_ (lasdi.inputs.inputparser attribute)": [[6, "lasdi.inputs.InputParser.dict_"]], "getinput() (lasdi.inputs.inputparser method)": [[6, "lasdi.inputs.InputParser.getInput"]], "lasdi.inputs": [[6, "module-lasdi.inputs"]], "name (lasdi.inputs.inputparser attribute)": [[6, "lasdi.inputs.InputParser.name"]], "verbose (in module lasdi.inputs)": [[6, "lasdi.inputs.verbose"]], "latentdynamics (class in lasdi.latent_dynamics)": [[7, "lasdi.latent_dynamics.LatentDynamics"]], "calibrate() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.calibrate"]], "coefs (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.coefs"]], "dim (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.dim"]], "export() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.export"]], "lasdi.latent_dynamics": [[7, "module-lasdi.latent_dynamics"]], "load() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.load"]], "ncoefs (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.ncoefs"]], "nt (lasdi.latent_dynamics.latentdynamics attribute)": [[7, "lasdi.latent_dynamics.LatentDynamics.nt"]], "sample() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.sample"]], "simulate() (lasdi.latent_dynamics.latentdynamics method)": [[7, "lasdi.latent_dynamics.LatentDynamics.simulate"]], "mse (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.MSE"]], "sindy (class in lasdi.latent_dynamics.sindy)": [[8, "lasdi.latent_dynamics.sindy.SINDy"]], "calibrate() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.calibrate"]], "coef_norm_order (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.coef_norm_order"]], "compute_time_derivative() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.compute_time_derivative"]], "export() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.export"]], "fd (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.fd"]], "fd_oper (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.fd_oper"]], "fd_type (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.fd_type"]], "lasdi.latent_dynamics.sindy": [[8, "module-lasdi.latent_dynamics.sindy"]], "ncoefs (lasdi.latent_dynamics.sindy.sindy attribute)": [[8, "lasdi.latent_dynamics.sindy.SINDy.ncoefs"]], "simulate() (lasdi.latent_dynamics.sindy.sindy method)": [[8, "lasdi.latent_dynamics.sindy.SINDy.simulate"]], "autoencoder (class in lasdi.latent_space)": [[9, "lasdi.latent_space.Autoencoder"]], "multilayerperceptron (class in lasdi.latent_space)": [[9, "lasdi.latent_space.MultiLayerPerceptron"]], "act_dict (in module lasdi.latent_space)": [[9, "lasdi.latent_space.act_dict"]], "act_type (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.act_type"]], "decoder (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.decoder"]], "encoder (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.encoder"]], "export() (lasdi.latent_space.autoencoder method)": [[9, "lasdi.latent_space.Autoencoder.export"]], "forward() (lasdi.latent_space.autoencoder method)": [[9, "lasdi.latent_space.Autoencoder.forward"]], "forward() (lasdi.latent_space.multilayerperceptron method)": [[9, "lasdi.latent_space.MultiLayerPerceptron.forward"]], "init_weight() (lasdi.latent_space.multilayerperceptron method)": [[9, "lasdi.latent_space.MultiLayerPerceptron.init_weight"]], "initial_condition_latent() (in module lasdi.latent_space)": [[9, "lasdi.latent_space.initial_condition_latent"]], "lasdi.latent_space": [[9, "module-lasdi.latent_space"]], "layer_sizes (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.layer_sizes"]], "layers (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.layers"]], "load() (lasdi.latent_space.autoencoder method)": [[9, "lasdi.latent_space.Autoencoder.load"]], "n_layers (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.n_layers"]], "n_z (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.n_z"]], "qgrid_size (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.qgrid_size"]], "reshape_index (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.reshape_index"]], "reshape_shape (lasdi.latent_space.multilayerperceptron attribute)": [[9, "lasdi.latent_space.MultiLayerPerceptron.reshape_shape"]], "space_dim (lasdi.latent_space.autoencoder attribute)": [[9, "lasdi.latent_space.Autoencoder.space_dim"]], "parameterspace (class in lasdi.param)": [[10, "lasdi.param.ParameterSpace"]], "appendtrainspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.appendTrainSpace"]], "createhypergridspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createHyperGridSpace"]], "createhypermeshgrid() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createHyperMeshGrid"]], "createinitialtrainspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createInitialTrainSpace"]], "createtestgridspace() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.createTestGridSpace"]], "create_uniform_1dspace() (in module lasdi.param)": [[10, "lasdi.param.create_uniform_1dspace"]], "export() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.export"]], "getparam1dspace (in module lasdi.param)": [[10, "lasdi.param.getParam1DSpace"]], "getparameter() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.getParameter"]], "get_1dspace_from_list() (in module lasdi.param)": [[10, "lasdi.param.get_1dspace_from_list"]], "lasdi.param": [[10, "module-lasdi.param"]], "load() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.load"]], "n_init (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.n_init"]], "n_param (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.n_param"]], "n_test() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.n_test"]], "n_train() (lasdi.param.parameterspace method)": [[10, "lasdi.param.ParameterSpace.n_train"]], "param_list (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.param_list"]], "param_name (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.param_name"]], "test_grid_sizes (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.test_grid_sizes"]], "test_meshgrid (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.test_meshgrid"]], "test_space (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.test_space"]], "train_space (lasdi.param.parameterspace attribute)": [[10, "lasdi.param.ParameterSpace.train_space"]], "burgers1d (class in lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.Burgers1D"]], "a_idx (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.a_idx"]], "convergence_threshold (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.convergence_threshold"]], "dim (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.dim"]], "dt (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.dt"]], "dx (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.dx"]], "export() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.export"]], "grid_size (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.grid_size"]], "initial_condition() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.initial_condition"]], "jacobian() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.jacobian"]], "lasdi.physics.burgers1d": [[11, "module-lasdi.physics.burgers1d"]], "main() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.main"]], "maxk (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.maxk"]], "nt (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.nt"]], "offline (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.offline"]], "qdim (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.qdim"]], "qgrid_size (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.qgrid_size"]], "residual() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.residual"]], "residual_burgers() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.residual_burgers"]], "solve() (lasdi.physics.burgers1d.burgers1d method)": [[11, "lasdi.physics.burgers1d.Burgers1D.solve"]], "solver() (in module lasdi.physics.burgers1d)": [[11, "lasdi.physics.burgers1d.solver"]], "t_grid (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.t_grid"]], "tmax (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.tmax"]], "w_idx (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.w_idx"]], "x_grid (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.x_grid"]], "xmax (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.xmax"]], "xmin (lasdi.physics.burgers1d.burgers1d attribute)": [[11, "lasdi.physics.burgers1d.Burgers1D.xmin"]], "offlinefom (class in lasdi.physics)": [[12, "lasdi.physics.OfflineFOM"]], "physics (class in lasdi.physics)": [[12, "lasdi.physics.Physics"]], "dim (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.dim"]], "dim (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.dim"]], "dt (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.dt"]], "dt (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.dt"]], "export() (lasdi.physics.offlinefom method)": [[12, "lasdi.physics.OfflineFOM.export"]], "export() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.export"]], "generate_solutions() (lasdi.physics.offlinefom method)": [[12, "lasdi.physics.OfflineFOM.generate_solutions"]], "generate_solutions() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.generate_solutions"]], "grid_size (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.grid_size"]], "grid_size (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.grid_size"]], "initial_condition() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.initial_condition"]], "lasdi.physics": [[12, "module-lasdi.physics"]], "nt (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.nt"]], "nt (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.nt"]], "offline (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.offline"]], "offline (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.offline"]], "param_name (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.param_name"]], "qdim (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.qdim"]], "qdim (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.qdim"]], "qgrid_size (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.qgrid_size"]], "qgrid_size (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.qgrid_size"]], "residual() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.residual"]], "solve() (lasdi.physics.physics method)": [[12, "lasdi.physics.Physics.solve"]], "t_grid (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.t_grid"]], "t_grid (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.t_grid"]], "x_grid (lasdi.physics.offlinefom attribute)": [[12, "lasdi.physics.OfflineFOM.x_grid"]], "x_grid (lasdi.physics.physics attribute)": [[12, "lasdi.physics.Physics.x_grid"]], "compute_errors() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.compute_errors"]], "heatmap2d() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.heatmap2d"]], "lasdi.postprocess": [[13, "module-lasdi.postprocess"]], "plot_gp2d() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.plot_gp2d"]], "plot_prediction() (in module lasdi.postprocess)": [[13, "lasdi.postprocess.plot_prediction"]], "timer (class in lasdi.timing)": [[14, "lasdi.timing.Timer"]], "calls (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.calls"]], "end() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.end"]], "export() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.export"]], "lasdi.timing": [[14, "module-lasdi.timing"]], "load() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.load"]], "names (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.names"]], "print() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.print"]], "start() (lasdi.timing.timer method)": [[14, "lasdi.timing.Timer.start"]], "starts (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.starts"]], "times (lasdi.timing.timer attribute)": [[14, "lasdi.timing.Timer.times"]], "collect_samples() (in module lasdi.workflow)": [[15, "lasdi.workflow.collect_samples"]], "initialize_latent_space() (in module lasdi.workflow)": [[15, "lasdi.workflow.initialize_latent_space"]], "initialize_physics() (in module lasdi.workflow)": [[15, "lasdi.workflow.initialize_physics"]], "initialize_trainer() (in module lasdi.workflow)": [[15, "lasdi.workflow.initialize_trainer"]], "lasdi.workflow": [[15, "module-lasdi.workflow"]], "latent_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.latent_dict"]], "ld_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.ld_dict"]], "main() (in module lasdi.workflow)": [[15, "lasdi.workflow.main"]], "parser (in module lasdi.workflow)": [[15, "lasdi.workflow.parser"]], "physics_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.physics_dict"]], "pick_samples() (in module lasdi.workflow)": [[15, "lasdi.workflow.pick_samples"]], "run_samples() (in module lasdi.workflow)": [[15, "lasdi.workflow.run_samples"]], "step() (in module lasdi.workflow)": [[15, "lasdi.workflow.step"]], "trainer_dict (in module lasdi.workflow)": [[15, "lasdi.workflow.trainer_dict"]]}}) \ No newline at end of file