123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143# 1 "src/owl/dense/owl_dense_ndarray_intf.ml"(*
* OWL - OCaml Scientific Computing
* Copyright (c) 2016-2022 Liang Wang <liang@ocaml.xyz>
*)openBigarrayopenOwl_typesmoduletypeCommon=sigincludeOwl_base_dense_ndarray_intf.Common(* NOTE: below are all the functions that have
not been implemented in Base*)(** {5 Create N-dimensional array} *)vallinspace:elt->elt->int->arr(**
[linspace k 0. 9. 10] ...
*)vallogspace:?base:float->elt->elt->int->arr(**
[logspace k 0. 9. 10] ...
*)valunit_basis:int->int->arr(**
[unit_basis k n i] returns a unit basis vector with [i]th element set to 1.
*)(** {5 Obtain basic properties} *)valnum_dims:arr->intvalnth_dim:arr->int->intvalnnz:arr->intvaldensity:arr->floatvalsize_in_bytes:arr->intvalsame_shape:arr->arr->boolvalsame_data:arr->arr->boolvalind:arr->int->intarrayvali1d:arr->intarray->int(** {5 Manipulate a N-dimensional array} *)valget_index:arr->intarrayarray->eltarrayvalset_index:arr->intarrayarray->eltarray->unitvalget_fancy:indexlist->arr->arrvalset_fancy:indexlist->arr->arr->unitvalsub_left:arr->int->int->arrvalsub_ndarray:intarray->arr->arrarrayvalslice_left:arr->intarray->arrvalfill:arr->elt->unitvalresize:?head:bool->arr->intarray->arrvalflip:?axis:int->arr->arrvalrotate:arr->int->arrvalswap:int->int->arr->arrvalconcat_vertical:arr->arr->arrvalconcat_horizontal:arr->arr->arrvalconcat_vh:arrarrayarray->arrvalsplit_vh:(int*int)arrayarray->arr->arrarrayarrayvaldropout:?rate:float->arr->arrvaltop:arr->int->intarrayarrayvalbottom:arr->int->intarrayarrayvalsort:arr->arrvalsort1:?axis:int->arr->arrvalargsort:arr->(int64,int64_elt,c_layout)Genarray.tvalmmap:Unix.file_descr->?pos:int64->bool->intarray->arr(** {5 Iterate array elements} *)valiter2i:(int->elt->elt->unit)->arr->arr->unitvaliter2:(elt->elt->unit)->arr->arr->unitvalmap2i:(int->elt->elt->elt)->arr->arr->arrvalmap2:(elt->elt->elt)->arr->arr->arrvaliteri_nd:(intarray->elt->unit)->arr->unitvalmapi_nd:(intarray->elt->elt)->arr->arrvalfoldi_nd:?axis:int->(intarray->elt->elt->elt)->elt->arr->arrvalscani_nd:?axis:int->(intarray->elt->elt->elt)->arr->arrvalfilteri_nd:(intarray->elt->bool)->arr->intarrayarrayvaliter2i_nd:(intarray->elt->elt->unit)->arr->arr->unitvalmap2i_nd:(intarray->elt->elt->elt)->arr->arr->arrvaliteri_slice:?axis:int->(int->arr->unit)->arr->unitvaliter_slice:?axis:int->(arr->unit)->arr->unitvalmapi_slice:?axis:int->(int->arr->'c)->arr->'carrayvalmap_slice:?axis:int->(arr->'c)->arr->'carrayvalfilteri_slice:?axis:int->(int->arr->bool)->arr->arrarrayvalfilter_slice:?axis:int->(arr->bool)->arr->arrarrayvalfoldi_slice:?axis:int->(int->'c->arr->'c)->'c->arr->'cvalfold_slice:?axis:int->('c->arr->'c)->'c->arr->'c(** {5 Examine array elements or compare two arrays } *)valapprox_equal:?eps:float->arr->arr->boolvalapprox_equal_scalar:?eps:float->arr->elt->boolvalapprox_elt_equal:?eps:float->arr->arr->arrvalapprox_elt_equal_scalar:?eps:float->arr->elt->arr(** {5 Input/Output functions} *)valto_array:arr->eltarrayvalsave:out:string->arr->unitvalload:string->arrvalsave_npy:out:string->arr->unitvalload_npy:string->arr(** {5 Unary mathematical operations } *)valprod:?axis:int->?keep_dims:bool->arr->arrvalprod':arr->eltvalmean:?axis:int->?keep_dims:bool->arr->arrvalmean':arr->eltvalmedian':arr->eltvalmedian:?axis:int->?keep_dims:bool->arr->arrvalvar:?axis:int->?keep_dims:bool->arr->arrvalvar':arr->eltvalstd:?axis:int->?keep_dims:bool->arr->arrvalstd':arr->eltvalsem:?axis:int->?keep_dims:bool->arr->arrvalsem':arr->eltvalminmax:?axis:int->?keep_dims:bool->arr->arr*arrvalminmax':arr->elt*eltvalmin_i:arr->elt*intarrayvalmax_i:arr->elt*intarrayvalminmax_i:arr->(elt*intarray)*(elt*intarray)valabs2:arr->arrvalconj:arr->arrvalreci:arr->arrvalreci_tol:?tol:elt->arr->arrvalcbrt:arr->arrvalexp2:arr->arrvalexp10:arr->arrvalexpm1:arr->arrvallog1p:arr->arrvaltrunc:arr->arrvalfix:arr->arrvalmodf:arr->arr*arrvall1norm:?axis:int->?keep_dims:bool->arr->arrvall1norm':arr->eltvall2norm:?axis:int->?keep_dims:bool->arr->arrvall2norm':arr->eltvall2norm_sqr:?axis:int->?keep_dims:bool->arr->arrvall2norm_sqr':arr->eltvalvecnorm:?axis:int->?p:float->?keep_dims:bool->arr->arrvalvecnorm':?p:float->arr->eltvalcumsum:?axis:int->arr->arrvalcumprod:?axis:int->arr->arrvalcummin:?axis:int->arr->arrvalcummax:?axis:int->arr->arrvaldiff:?axis:int->?n:int->arr->arrvallgamma:arr->arr(** {5 Binary mathematical operations } *)valmin2:arr->arr->arrvalmax2:arr->arr->arrvalssqr':arr->elt->eltvalssqr_diff':arr->arr->eltvalclip_by_value:?amin:elt->?amax:elt->arr->arrvalclip_by_l2norm:elt->arr->arr(** {5 Tensor Calculus} *)valcontract1:(int*int)array->arr->arrvalcontract2:(int*int)array->arr->arr->arr(** {5 Experimental functions} *)valsum_slices:?axis:int->arr->arrvalslide:?axis:int->?ofs:int->?step:int->window:int->arr->arr(** {5 Functions of in-place modification } *)valcreate_:out:arr->elt->unitvaluniform_:?a:elt->?b:elt->out:arr->unitvalgaussian_:?mu:elt->?sigma:elt->out:arr->unitvalsequential_:?a:elt->?step:elt->out:arr->unitvalbernoulli_:?p:float->out:arr->unitvalzeros_:out:arr->unitvalones_:out:arr->unitvalsort_:arr->unitvalone_hot_:out:arr->int->arr->unitvalget_fancy_:out:arr->indexlist->arr->unitvalset_fancy_:out:arr->indexlist->arr->arr->unitvalget_slice_:out:arr->intlistlist->arr->unitvalset_slice_:out:arr->intlistlist->arr->arr->unitvalreshape_:out:arr->arr->unitvalreverse_:out:arr->arr->unitvaltranspose_:out:arr->?axis:intarray->arr->unitvalrepeat_:out:arr->arr->intarray->unitvaltile_:out:arr->arr->intarray->unitvalpad_:out:arr->?v:elt->intlistlist->arr->unitvalsum_:out:arr->axis:int->arr->unitvalmin_:out:arr->axis:int->arr->unitvalmax_:out:arr->axis:int->arr->unitvaladd_:?out:arr->arr->arr->unitvalsub_:?out:arr->arr->arr->unitvalmul_:?out:arr->arr->arr->unitvaldiv_:?out:arr->arr->arr->unitvalpow_:?out:arr->arr->arr->unitvalatan2_:?out:arr->arr->arr->unitvalhypot_:?out:arr->arr->arr->unitvalfmod_:?out:arr->arr->arr->unitvalmin2_:?out:arr->arr->arr->unitvalmax2_:?out:arr->arr->arr->unitvaladd_scalar_:?out:arr->arr->elt->unitvalsub_scalar_:?out:arr->arr->elt->unitvalmul_scalar_:?out:arr->arr->elt->unitvaldiv_scalar_:?out:arr->arr->elt->unitvalpow_scalar_:?out:arr->arr->elt->unitvalatan2_scalar_:?out:arr->arr->elt->unitvalfmod_scalar_:?out:arr->arr->elt->unitvalscalar_add_:?out:arr->elt->arr->unitvalscalar_sub_:?out:arr->elt->arr->unitvalscalar_mul_:?out:arr->elt->arr->unitvalscalar_div_:?out:arr->elt->arr->unitvalscalar_pow_:?out:arr->elt->arr->unitvalscalar_atan2_:?out:arr->elt->arr->unitvalscalar_fmod_:?out:arr->elt->arr->unitvalfma_:?out:arr->arr->arr->arr->unitvalclip_by_value_:?out:arr->?amin:elt->?amax:elt->arr->unitvalclip_by_l2norm_:?out:arr->elt->arr->unitvaldot_:?transa:bool->?transb:bool->?alpha:elt->?beta:elt->c:arr->arr->arr->unitvalconj_:?out:arr->arr->unitvalabs_:?out:arr->arr->unitvalneg_:?out:arr->arr->unitvalreci_:?out:arr->arr->unitvalsignum_:?out:arr->arr->unitvalsqr_:?out:arr->arr->unitvalsqrt_:?out:arr->arr->unitvalcbrt_:?out:arr->arr->unitvalexp_:?out:arr->arr->unitvalexp2_:?out:arr->arr->unitvalexp10_:?out:arr->arr->unitvalexpm1_:?out:arr->arr->unitvallog_:?out:arr->arr->unitvallog2_:?out:arr->arr->unitvallog10_:?out:arr->arr->unitvallog1p_:?out:arr->arr->unitvalsin_:?out:arr->arr->unitvalcos_:?out:arr->arr->unitvaltan_:?out:arr->arr->unitvalasin_:?out:arr->arr->unitvalacos_:?out:arr->arr->unitvalatan_:?out:arr->arr->unitvalsinh_:?out:arr->arr->unitvalcosh_:?out:arr->arr->unitvaltanh_:?out:arr->arr->unitvalasinh_:?out:arr->arr->unitvalacosh_:?out:arr->arr->unitvalatanh_:?out:arr->arr->unitvalfloor_:?out:arr->arr->unitvalceil_:?out:arr->arr->unitvalround_:?out:arr->arr->unitvaltrunc_:?out:arr->arr->unitvalfix_:?out:arr->arr->unitvalerf_:?out:arr->arr->unitvalerfc_:?out:arr->arr->unitvalrelu_:?out:arr->arr->unitvalsoftplus_:?out:arr->arr->unitvalsoftsign_:?out:arr->arr->unitvalsigmoid_:?out:arr->arr->unitvalsoftmax_:?out:arr->?axis:int->arr->unitvalcumsum_:?out:arr->?axis:int->arr->unitvalcumprod_:?out:arr->?axis:int->arr->unitvalcummin_:?out:arr->?axis:int->arr->unitvalcummax_:?out:arr->?axis:int->arr->unitvaldropout_:?out:arr->?rate:float->arr->unitvalelt_equal_:?out:arr->arr->arr->unitvalelt_not_equal_:?out:arr->arr->arr->unitvalelt_less_:?out:arr->arr->arr->unitvalelt_greater_:?out:arr->arr->arr->unitvalelt_less_equal_:?out:arr->arr->arr->unitvalelt_greater_equal_:?out:arr->arr->arr->unitvalelt_equal_scalar_:?out:arr->arr->elt->unitvalelt_not_equal_scalar_:?out:arr->arr->elt->unitvalelt_less_scalar_:?out:arr->arr->elt->unitvalelt_greater_scalar_:?out:arr->arr->elt->unitvalelt_less_equal_scalar_:?out:arr->arr->elt->unitvalelt_greater_equal_scalar_:?out:arr->arr->elt->unit(** {5 Matrix functions} *)valcol:arr->int->arrvalcols:arr->intarray->arrvaldot:arr->arr->arrvaltrace:arr->eltvalto_arrays:arr->eltarrayarrayvaldraw_rows:?replacement:bool->arr->int->arr*intarrayvaldraw_cols:?replacement:bool->arr->int->arr*intarrayvaldraw_rows2:?replacement:bool->arr->arr->int->arr*arr*intarrayvaldraw_cols2:?replacement:bool->arr->arr->int->arr*arr*intarrayendmoduletypeReal=sigincludeOwl_base_dense_ndarray_intf.Real(* NOTE: below are all the functions that have
not been implemented in Base*)(** {5 Real operations} *)vali0:arr->arrvali0e:arr->arrvali1:arr->arrvali1e:arr->arrvaliv:v:arr->arr->arrvalscalar_iv:v:elt->arr->arrvaliv_scalar:v:arr->elt->arrvalj0:arr->arrvalj1:arr->arrvaljv:v:arr->arr->arrvalscalar_jv:v:elt->arr->arrvaljv_scalar:v:arr->elt->arrvalerf:arr->arrvalerfc:arr->arrvallogistic:arr->arrvalelu:?alpha:elt->arr->arrvalleaky_relu:?alpha:elt->arr->arrvalsoftplus:arr->arrvalsoftsign:arr->arrvalsoftmax:?axis:int->arr->arrvalsigmoid:arr->arrvallog_sum_exp':arr->floatvallog_sum_exp:?axis:int->?keep_dims:bool->arr->arrvalscalar_atan2:elt->arr->arrvalatan2_scalar:arr->elt->arrvalhypot:arr->arr->arrvalfmod:arr->arr->arrvalfmod_scalar:arr->elt->arrvalscalar_fmod:elt->arr->arrvalcross_entropy':arr->arr->floatvalfused_adagrad_:?out:arr->rate:float->eps:float->arr->unitvalpoisson:mu:elt->intarray->arrvalpoisson_:mu:elt->out:arr->unitendmoduletypeComplex=sigtypeelttypearrtypecast_arr(** {5 Complex operations} *)valcomplex:cast_arr->cast_arr->arr(**
[complex re im] constructs a complex ndarray/matrix from [re] and [im].
[re] and [im] contain the real and imaginary part of [x] respectively.
Note that both [re] and [im] can be complex but must have same type. The real
part of [re] will be the real part of [x] and the imaginary part of [im] will
be the imaginary part of [x].
*)valpolar:cast_arr->cast_arr->arr(**
[polar rho theta] constructs a complex ndarray/matrix from polar
coordinates [rho] and [theta]. [rho] contains the magnitudes and [theta]
contains phase angles. Note that the behaviour is undefined if [rho] has
negative elelments or [theta] has infinity elelments.
*)valre:arr->cast_arrvalim:arr->cast_arrvalsum':arr->eltendmoduletypeDistribution=sigtypearr(** {5 Stats & distribution functions} *)valuniform_rvs:a:arr->b:arr->n:int->arrvaluniform_pdf:a:arr->b:arr->arr->arrvaluniform_logpdf:a:arr->b:arr->arr->arrvaluniform_cdf:a:arr->b:arr->arr->arrvaluniform_logcdf:a:arr->b:arr->arr->arrvaluniform_ppf:a:arr->b:arr->arr->arrvaluniform_sf:a:arr->b:arr->arr->arrvaluniform_logsf:a:arr->b:arr->arr->arrvaluniform_isf:a:arr->b:arr->arr->arrvalgaussian_rvs:mu:arr->sigma:arr->n:int->arrvalgaussian_pdf:mu:arr->sigma:arr->arr->arrvalgaussian_logpdf:mu:arr->sigma:arr->arr->arrvalgaussian_cdf:mu:arr->sigma:arr->arr->arrvalgaussian_logcdf:mu:arr->sigma:arr->arr->arrvalgaussian_ppf:mu:arr->sigma:arr->arr->arrvalgaussian_sf:mu:arr->sigma:arr->arr->arrvalgaussian_logsf:mu:arr->sigma:arr->arr->arrvalgaussian_isf:mu:arr->sigma:arr->arr->arrvalexponential_rvs:lambda:arr->n:int->arrvalexponential_pdf:lambda:arr->arr->arrvalexponential_logpdf:lambda:arr->arr->arrvalexponential_cdf:lambda:arr->arr->arrvalexponential_logcdf:lambda:arr->arr->arrvalexponential_ppf:lambda:arr->arr->arrvalexponential_sf:lambda:arr->arr->arrvalexponential_logsf:lambda:arr->arr->arrvalexponential_isf:lambda:arr->arr->arrvalgamma_rvs:shape:arr->scale:arr->n:int->arrvalgamma_pdf:shape:arr->scale:arr->arr->arrvalgamma_logpdf:shape:arr->scale:arr->arr->arrvalgamma_cdf:shape:arr->scale:arr->arr->arrvalgamma_logcdf:shape:arr->scale:arr->arr->arrvalgamma_ppf:shape:arr->scale:arr->arr->arrvalgamma_sf:shape:arr->scale:arr->arr->arrvalgamma_logsf:shape:arr->scale:arr->arr->arrvalgamma_isf:shape:arr->scale:arr->arr->arrvalbeta_rvs:a:arr->b:arr->n:int->arrvalbeta_pdf:a:arr->b:arr->arr->arrvalbeta_logpdf:a:arr->b:arr->arr->arrvalbeta_cdf:a:arr->b:arr->arr->arrvalbeta_logcdf:a:arr->b:arr->arr->arrvalbeta_ppf:a:arr->b:arr->arr->arrvalbeta_sf:a:arr->b:arr->arr->arrvalbeta_logsf:a:arr->b:arr->arr->arrvalbeta_isf:a:arr->b:arr->arr->arrvalchi2_rvs:df:arr->n:int->arrvalchi2_pdf:df:arr->arr->arrvalchi2_logpdf:df:arr->arr->arrvalchi2_cdf:df:arr->arr->arrvalchi2_logcdf:df:arr->arr->arrvalchi2_ppf:df:arr->arr->arrvalchi2_sf:df:arr->arr->arrvalchi2_logsf:df:arr->arr->arrvalchi2_isf:df:arr->arr->arrvalf_rvs:dfnum:arr->dfden:arr->n:int->arrvalf_pdf:dfnum:arr->dfden:arr->arr->arrvalf_logpdf:dfnum:arr->dfden:arr->arr->arrvalf_cdf:dfnum:arr->dfden:arr->arr->arrvalf_logcdf:dfnum:arr->dfden:arr->arr->arrvalf_ppf:dfnum:arr->dfden:arr->arr->arrvalf_sf:dfnum:arr->dfden:arr->arr->arrvalf_logsf:dfnum:arr->dfden:arr->arr->arrvalf_isf:dfnum:arr->dfden:arr->arr->arrvalcauchy_rvs:loc:arr->scale:arr->n:int->arrvalcauchy_pdf:loc:arr->scale:arr->arr->arrvalcauchy_logpdf:loc:arr->scale:arr->arr->arrvalcauchy_cdf:loc:arr->scale:arr->arr->arrvalcauchy_logcdf:loc:arr->scale:arr->arr->arrvalcauchy_ppf:loc:arr->scale:arr->arr->arrvalcauchy_sf:loc:arr->scale:arr->arr->arrvalcauchy_logsf:loc:arr->scale:arr->arr->arrvalcauchy_isf:loc:arr->scale:arr->arr->arrvallomax_rvs:shape:arr->scale:arr->n:int->arrvallomax_pdf:shape:arr->scale:arr->arr->arrvallomax_logpdf:shape:arr->scale:arr->arr->arrvallomax_cdf:shape:arr->scale:arr->arr->arrvallomax_logcdf:shape:arr->scale:arr->arr->arrvallomax_ppf:shape:arr->scale:arr->arr->arrvallomax_sf:shape:arr->scale:arr->arr->arrvallomax_logsf:shape:arr->scale:arr->arr->arrvallomax_isf:shape:arr->scale:arr->arr->arrvalweibull_rvs:shape:arr->scale:arr->n:int->arrvalweibull_pdf:shape:arr->scale:arr->arr->arrvalweibull_logpdf:shape:arr->scale:arr->arr->arrvalweibull_cdf:shape:arr->scale:arr->arr->arrvalweibull_logcdf:shape:arr->scale:arr->arr->arrvalweibull_ppf:shape:arr->scale:arr->arr->arrvalweibull_sf:shape:arr->scale:arr->arr->arrvalweibull_logsf:shape:arr->scale:arr->arr->arrvalweibull_isf:shape:arr->scale:arr->arr->arrvallaplace_rvs:loc:arr->scale:arr->n:int->arrvallaplace_pdf:loc:arr->scale:arr->arr->arrvallaplace_logpdf:loc:arr->scale:arr->arr->arrvallaplace_cdf:loc:arr->scale:arr->arr->arrvallaplace_logcdf:loc:arr->scale:arr->arr->arrvallaplace_ppf:loc:arr->scale:arr->arr->arrvallaplace_sf:loc:arr->scale:arr->arr->arrvallaplace_logsf:loc:arr->scale:arr->arr->arrvallaplace_isf:loc:arr->scale:arr->arr->arrvalgumbel1_rvs:a:arr->b:arr->n:int->arrvalgumbel1_pdf:a:arr->b:arr->arr->arrvalgumbel1_logpdf:a:arr->b:arr->arr->arrvalgumbel1_cdf:a:arr->b:arr->arr->arrvalgumbel1_logcdf:a:arr->b:arr->arr->arrvalgumbel1_ppf:a:arr->b:arr->arr->arrvalgumbel1_sf:a:arr->b:arr->arr->arrvalgumbel1_logsf:a:arr->b:arr->arr->arrvalgumbel1_isf:a:arr->b:arr->arr->arrvalgumbel2_rvs:a:arr->b:arr->n:int->arrvalgumbel2_pdf:a:arr->b:arr->arr->arrvalgumbel2_logpdf:a:arr->b:arr->arr->arrvalgumbel2_cdf:a:arr->b:arr->arr->arrvalgumbel2_logcdf:a:arr->b:arr->arr->arrvalgumbel2_ppf:a:arr->b:arr->arr->arrvalgumbel2_sf:a:arr->b:arr->arr->arrvalgumbel2_logsf:a:arr->b:arr->arr->arrvalgumbel2_isf:a:arr->b:arr->arr->arrvallogistic_rvs:loc:arr->scale:arr->n:int->arrvallogistic_pdf:loc:arr->scale:arr->arr->arrvallogistic_logpdf:loc:arr->scale:arr->arr->arrvallogistic_cdf:loc:arr->scale:arr->arr->arrvallogistic_logcdf:loc:arr->scale:arr->arr->arrvallogistic_ppf:loc:arr->scale:arr->arr->arrvallogistic_sf:loc:arr->scale:arr->arr->arrvallogistic_logsf:loc:arr->scale:arr->arr->arrvallogistic_isf:loc:arr->scale:arr->arr->arrvallognormal_rvs:mu:arr->sigma:arr->n:int->arrvallognormal_pdf:mu:arr->sigma:arr->arr->arrvallognormal_logpdf:mu:arr->sigma:arr->arr->arrvallognormal_cdf:mu:arr->sigma:arr->arr->arrvallognormal_logcdf:mu:arr->sigma:arr->arr->arrvallognormal_ppf:mu:arr->sigma:arr->arr->arrvallognormal_sf:mu:arr->sigma:arr->arr->arrvallognormal_logsf:mu:arr->sigma:arr->arr->arrvallognormal_isf:mu:arr->sigma:arr->arr->arrvalrayleigh_rvs:sigma:arr->n:int->arrvalrayleigh_pdf:sigma:arr->arr->arrvalrayleigh_logpdf:sigma:arr->arr->arrvalrayleigh_cdf:sigma:arr->arr->arrvalrayleigh_logcdf:sigma:arr->arr->arrvalrayleigh_ppf:sigma:arr->arr->arrvalrayleigh_sf:sigma:arr->arr->arrvalrayleigh_logsf:sigma:arr->arr->arrvalrayleigh_isf:sigma:arr->arr->arrendmoduletypeNN=sigincludeOwl_base_dense_ndarray_intf.NN(* NOTE: below are all the functions that have
not been implemented in Base*)(** {5 Neural network related functions} *)valmax_pool2d_argmax:?padding:padding->arr->intarray->intarray->arr*(int64,int64_elt,c_layout)Genarray.tvalconv1d_:out:arr->?padding:padding->arr->arr->intarray->unitvalconv2d_:out:arr->?padding:padding->arr->arr->intarray->unitvalconv3d_:out:arr->?padding:padding->arr->arr->intarray->unitvaldilated_conv1d_:out:arr->?padding:padding->arr->arr->intarray->intarray->unitvaldilated_conv2d_:out:arr->?padding:padding->arr->arr->intarray->intarray->unitvaldilated_conv3d_:out:arr->?padding:padding->arr->arr->intarray->intarray->unitvaltranspose_conv1d_:out:arr->?padding:padding->arr->arr->intarray->unitvaltranspose_conv2d_:out:arr->?padding:padding->arr->arr->intarray->unitvaltranspose_conv3d_:out:arr->?padding:padding->arr->arr->intarray->unitvalmax_pool1d_:out:arr->?padding:padding->arr->intarray->intarray->unitvalmax_pool2d_:out:arr->?padding:padding->arr->intarray->intarray->unitvalmax_pool3d_:out:arr->?padding:padding->arr->intarray->intarray->unitvalavg_pool1d_:out:arr->?padding:padding->arr->intarray->intarray->unitvalavg_pool2d_:out:arr->?padding:padding->arr->intarray->intarray->unitvalavg_pool3d_:out:arr->?padding:padding->arr->intarray->intarray->unitvalupsampling2d_:out:arr->arr->intarray->unitvalconv1d_backward_input_:out:arr->arr->arr->intarray->arr->unitvalconv1d_backward_kernel_:out:arr->arr->arr->intarray->arr->unitvalconv2d_backward_input_:out:arr->arr->arr->intarray->arr->unitvalconv2d_backward_kernel_:out:arr->arr->arr->intarray->arr->unitvalconv3d_backward_input_:out:arr->arr->arr->intarray->arr->unitvalconv3d_backward_kernel_:out:arr->arr->arr->intarray->arr->unitvaldilated_conv1d_backward_input_:out:arr->arr->arr->intarray->intarray->arr->unitvaldilated_conv1d_backward_kernel_:out:arr->arr->arr->intarray->intarray->arr->unitvaldilated_conv2d_backward_input_:out:arr->arr->arr->intarray->intarray->arr->unitvaldilated_conv2d_backward_kernel_:out:arr->arr->arr->intarray->intarray->arr->unitvaldilated_conv3d_backward_input_:out:arr->arr->arr->intarray->intarray->arr->unitvaldilated_conv3d_backward_kernel_:out:arr->arr->arr->intarray->intarray->arr->unitvaltranspose_conv1d_backward_input_:out:arr->arr->arr->intarray->arr->unitvaltranspose_conv1d_backward_kernel_:out:arr->arr->arr->intarray->arr->unitvaltranspose_conv2d_backward_input_:out:arr->arr->arr->intarray->arr->unitvaltranspose_conv2d_backward_kernel_:out:arr->arr->arr->intarray->arr->unitvaltranspose_conv3d_backward_input_:out:arr->arr->arr->intarray->arr->unitvaltranspose_conv3d_backward_kernel_:out:arr->arr->arr->intarray->arr->unitvalmax_pool1d_backward_:out:arr->padding->arr->intarray->intarray->arr->unitvalmax_pool2d_backward_:out:arr->padding->arr->intarray->intarray->arr->unitvalmax_pool3d_backward_:out:arr->padding->arr->intarray->intarray->arr->unitvalavg_pool1d_backward_:out:arr->padding->arr->intarray->intarray->arr->unitvalavg_pool2d_backward_:out:arr->padding->arr->intarray->intarray->arr->unitvalavg_pool3d_backward_:out:arr->padding->arr->intarray->intarray->arr->unitvalupsampling2d_backward_:out:arr->arr->intarray->arr->unitend