<s> """<STR_LIT>""" <EOL> from . stationary import Matern32 <EOL> from . stationary import Matern52 <EOL> import numpy as np <EOL> class sde_Matern32 ( Matern32 ) : <EOL> """<STR_LIT>""" <EOL> def sde_update_gradient_full ( self , gradients ) : <EOL> """<STR_LIT>""" <EOL> self . variance . gradient = gradients [ <NUM_LIT:0> ] <EOL> self . lengthscale . gradient = gradients [ <NUM_LIT:1> ] <EOL> def sde ( self ) : <EOL> """<STR_LIT>""" <EOL> variance = float ( self . variance . values ) <EOL> lengthscale = float ( self . lengthscale . values ) <EOL> foo = np . sqrt ( <NUM_LIT> ) / lengthscale <EOL> F = np . array ( ( ( <NUM_LIT:0> , <NUM_LIT:1.0> ) , ( - foo ** <NUM_LIT:2> , - <NUM_LIT:2> * foo ) ) ) <EOL> L = np . array ( ( ( <NUM_LIT:0> , ) , ( <NUM_LIT:1.0> , ) ) ) <EOL> Qc = np . array ( ( ( <NUM_LIT> * np . sqrt ( <NUM_LIT:3> ) / lengthscale ** <NUM_LIT:3> * variance , ) , ) ) <EOL> H = np . array ( ( ( <NUM_LIT:1.0> , <NUM_LIT:0> ) , ) ) <EOL> Pinf = np . array ( ( ( variance , <NUM_LIT:0.0> ) , ( <NUM_LIT:0.0> , <NUM_LIT> * variance / ( lengthscale ** <NUM_LIT:2> ) ) ) ) <EOL> P0 = Pinf . copy ( ) <EOL> dF = np . empty ( [ F . shape [ <NUM_LIT:0> ] , F . shape [ <NUM_LIT:1> ] , <NUM_LIT:2> ] ) <EOL> dQc = np . empty ( [ Qc . shape [ <NUM_LIT:0> ] , Qc . shape [ <NUM_LIT:1> ] , <NUM_LIT:2> ] ) <EOL> dPinf = np . empty ( [ Pinf . shape [ <NUM_LIT:0> ] , Pinf . shape [ <NUM_LIT:1> ] , <NUM_LIT:2> ] ) <EOL> dFvariance = np . zeros ( ( <NUM_LIT:2> , <NUM_LIT:2> ) ) <EOL> dFlengthscale = np . array ( ( ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT> / lengthscale ** <NUM_LIT:3> , <NUM_LIT:2> * np . sqrt ( <NUM_LIT:3> ) / lengthscale ** <NUM_LIT:2> ) ) ) <EOL> dQcvariance = np . array ( ( <NUM_LIT> * np . sqrt ( <NUM_LIT:3> ) / lengthscale ** <NUM_LIT:3> ) ) <EOL> dQclengthscale = np . array ( ( - <NUM_LIT:3> * <NUM_LIT:12> * np . sqrt ( <NUM_LIT:3> ) / lengthscale ** <NUM_LIT:4> * variance ) ) <EOL> dPinfvariance = np . array ( ( ( <NUM_LIT:1> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT> / lengthscale ** <NUM_LIT:2> ) ) ) <EOL> dPinflengthscale = np . array ( ( ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , - <NUM_LIT:6> * variance / lengthscale ** <NUM_LIT:3> ) ) ) <EOL> dF [ : , : , <NUM_LIT:0> ] = dFvariance <EOL> dF [ : , : , <NUM_LIT:1> ] = dFlengthscale <EOL> dQc [ : , : , <NUM_LIT:0> ] = dQcvariance <EOL> dQc [ : , : , <NUM_LIT:1> ] = dQclengthscale <EOL> dPinf [ : , : , <NUM_LIT:0> ] = dPinfvariance <EOL> dPinf [ : , : , <NUM_LIT:1> ] = dPinflengthscale <EOL> dP0 = dPinf . copy ( ) <EOL> return ( F , L , Qc , H , Pinf , P0 , dF , dQc , dPinf , dP0 ) <EOL> class sde_Matern52 ( Matern52 ) : <EOL> """<STR_LIT>""" <EOL> def sde_update_gradient_full ( self , gradients ) : <EOL> """<STR_LIT>""" <EOL> self . variance . gradient = gradients [ <NUM_LIT:0> ] <EOL> self . lengthscale . gradient = gradients [ <NUM_LIT:1> ] <EOL> def sde ( self ) : <EOL> """<STR_LIT>""" <EOL> variance = float ( self . variance . values ) <EOL> lengthscale = float ( self . lengthscale . values ) <EOL> lamda = np . sqrt ( <NUM_LIT> ) / lengthscale <EOL> kappa = <NUM_LIT> / <NUM_LIT> * variance / lengthscale ** <NUM_LIT:2> <EOL> F = np . array ( ( ( <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) , ( - lamda ** <NUM_LIT:3> , - <NUM_LIT> * lamda ** <NUM_LIT:2> , - <NUM_LIT:3> * lamda ) ) ) <EOL> L = np . array ( ( ( <NUM_LIT:0> , ) , ( <NUM_LIT:0> , ) , ( <NUM_LIT:1> , ) ) ) <EOL> Qc = np . array ( ( ( ( variance * <NUM_LIT> * np . sqrt ( <NUM_LIT> ) / <NUM_LIT> / lengthscale ** <NUM_LIT:5> ) , ) , ) ) <EOL> H = np . array ( ( ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ) , ) ) <EOL> Pinf = np . array ( ( ( variance , <NUM_LIT:0> , - kappa ) , ( <NUM_LIT:0> , kappa , <NUM_LIT:0> ) , ( - kappa , <NUM_LIT:0> , <NUM_LIT> * variance / lengthscale ** <NUM_LIT:4> ) ) ) <EOL> P0 = Pinf . copy ( ) <EOL> dF = np . empty ( ( <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:2> ) ) <EOL> dQc = np . empty ( ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> ) ) <EOL> dPinf = np . empty ( ( <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:2> ) ) <EOL> dFvariance = np . zeros ( ( <NUM_LIT:3> , <NUM_LIT:3> ) ) <EOL> dFlengthscale = np . array ( ( ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT> * np . sqrt ( <NUM_LIT> ) / lengthscale ** <NUM_LIT:4> , <EOL> <NUM_LIT> / lengthscale ** <NUM_LIT:3> , <NUM_LIT:3> * np . sqrt ( <NUM_LIT> ) / lengthscale ** <NUM_LIT:2> ) ) ) <EOL> dQcvariance = np . array ( ( ( ( <NUM_LIT> * np . sqrt ( <NUM_LIT:5> ) / <NUM_LIT:3> / lengthscale ** <NUM_LIT:5> , ) , ) ) ) <EOL> dQclengthscale = np . array ( ( ( ( - variance * <NUM_LIT> * np . sqrt ( <NUM_LIT:5> ) / <NUM_LIT:3> / lengthscale ** <NUM_LIT:6> , ) , ) ) ) <EOL> dPinf_variance = Pinf / variance <EOL> kappa2 = - <NUM_LIT> * kappa / lengthscale <EOL> dPinf_lengthscale = np . array ( ( ( <NUM_LIT:0> , <NUM_LIT:0> , - kappa2 ) , ( <NUM_LIT:0> , kappa2 , <NUM_LIT:0> ) , ( - kappa2 , <EOL> <NUM_LIT:0> , - <NUM_LIT:100> * variance / lengthscale ** <NUM_LIT:5> ) ) ) <EOL> dF [ : , : , <NUM_LIT:0> ] = dFvariance <EOL> dF [ : , : , <NUM_LIT:1> ] = dFlengthscale <EOL> dQc [ : , : , <NUM_LIT:0> ] = dQcvariance <EOL> dQc [ : , : , <NUM_LIT:1> ] = dQclengthscale <EOL> dPinf [ : , : , <NUM_LIT:0> ] = dPinf_variance <EOL> dPinf [ : , : , <NUM_LIT:1> ] = dPinf_lengthscale <EOL> dP0 = dPinf . copy ( ) <EOL> return ( F , L , Qc , H , Pinf , P0 , dF , dQc , dPinf , dP0 ) </s>
