Пример #1
0
 def setUp(self):
     self.costilts = xp.linspace(-1, 1, 1000)
     self.test_data = dict(
         cos_tilt_1=xp.einsum("i,j->ij", self.costilts, xp.ones_like(self.costilts)),
         cos_tilt_2=xp.einsum("i,j->ji", self.costilts, xp.ones_like(self.costilts)),
     )
     self.prior = PriorDict(dict(xi_spin=Uniform(0, 1), sigma_spin=Uniform(0, 4)))
     self.n_test = 100
Пример #2
0
 def setUp(self):
     self.a_array = xp.linspace(0, 1, 1000)
     self.test_data = dict(
         a_1=xp.einsum('i,j->ij', self.a_array, xp.ones_like(self.a_array)),
         a_2=xp.einsum('i,j->ji', self.a_array, xp.ones_like(self.a_array)))
     self.prior = PriorDict(
         dict(amax=Uniform(0.3, 1), alpha_chi=Uniform(1, 4),
              beta_chi=Uniform(1, 4)))
     self.n_test = 100
Пример #3
0
 def setUp(self):
     self.a_array = xp.linspace(0, 1, 1000)
     self.costilts = xp.linspace(-1, 1, 1000)
     self.test_data = dict(
         a_1=xp.einsum("i,j->ij", self.a_array, xp.ones_like(self.a_array)),
         a_2=xp.einsum("i,j->ji", self.a_array, xp.ones_like(self.a_array)),
         cos_tilt_1=xp.einsum("i,j->ij", self.costilts, xp.ones_like(self.costilts)),
         cos_tilt_2=xp.einsum("i,j->ji", self.costilts, xp.ones_like(self.costilts)),
     )
     self.prior = PriorDict(
         dict(
             amax=Uniform(0.3, 1),
             alpha_chi=Uniform(1, 4),
             beta_chi=Uniform(1, 4),
             xi_spin=Uniform(0, 1),
             sigma_spin=Uniform(0, 4),
         )
     )
     self.n_test = 100
Пример #4
0
    def compute_branching_ratio(
        self,
        alpha,
        beta,
        mmin,
        mmax,
        lam,
        mpp,
        sigpp,
        alpha_chi,
        beta_chi,
        delta_chi,
        a_max=1,
    ):

        probability = xp.einsum(
            "i,j,k->ijk",
            self.first_generation_mass_ratio(
                alpha=alpha,
                beta=beta,
                mmin=mmin,
                mmax=mmax,
                lam=lam,
                mpp=mpp,
                sigpp=sigpp,
            ),
            first_generation_spin_magnitude_grid(
                self.a_1_array,
                alpha=alpha_chi,
                beta=beta_chi,
                delta=delta_chi,
                a_max=a_max,
            ),
            first_generation_spin_magnitude_grid(
                self.a_2_array,
                alpha=alpha_chi,
                beta=beta_chi,
                delta=delta_chi,
                a_max=a_max,
            ),
        )
        branching_ratio = trapz(
            trapz(
                trapz(
                    probability * self.retention_fraction,
                    self.mass_ratio_array,
                ),
                self.a_2_array,
            ),
            self.a_1_array,
        )
        branching_ratio = min(branching_ratio, 1)
        return branching_ratio